Commit Graph

2429 Commits

Author SHA1 Message Date
Brian Anderson
2f440b1452 rustc: lowercase the link and link::write modules 2011-05-13 16:55:37 -04:00
Graydon Hoare
0d32ff723a Slight adjustments to shape, rename to type_glue.rs. 2011-05-13 13:29:50 -07:00
Patrick Walton
c97b05141a rustc: Add write_type() wherever ann_types are written, except for triv_ann() 2011-05-13 13:06:34 -07:00
Marijn Haverbeke
7647b838a1 Remove reserved word tests (since reserved words were removed)
Ping me if you disagree, but I think that in a language that's as
in-flux as rust currently is, it is silly to try and enforce a single
future-compatibility. The reserved words didn't work well with the
parser refactor, so I dropped them for the time being. We can,
eventually, bring them back as type-only reserved words.
2011-05-13 22:00:13 +02:00
Marijn Haverbeke
571afe71ba Safeguard against using statement or item keywords as value ids
This prevents insane things like 'auto while = 2', which would parse
in the previous revision, but then break when you tried to mutate it
with 'while = 10'.
2011-05-13 22:00:13 +02:00
Marijn Haverbeke
57ffa2a487 Make the parser more careful about keywords
Keywords are now only recognized in contexts where they are valid. The
lexer no longer recognizes them, all words are lexed as IDENT tokens,
that get interpreted by the parser.
2011-05-13 22:00:13 +02:00
Patrick Walton
be9aa1cc5e rustc: Fix the type of node_types; stub the write_type function 2011-05-13 12:12:54 -07:00
Patrick Walton
6e34679a65 rustc: Remove a minor rustboot workaround in typeck::resolve_local_types_in_block() 2011-05-13 11:23:00 -07:00
Brian Anderson
c124404d0e Fix naming of libc that was mangled by recent module changes
It doesn't appear that rustc makes use of these strings so it didn't actually
break anything yet.
2011-05-13 13:55:57 -04:00
Patrick Walton
8a8f68aa75 rustc: Make typeck::instantiate_path() not return an annotation 2011-05-13 10:53:55 -07:00
Marijn Haverbeke
ae26b775b4 Implement module namespaces
Module names no longer clash with type and value names. The
tokenizer/parser still needs to be taught to be more careful in
identifying keywords, so that we can use 'str' and 'vec' and so as
module names.
2011-05-13 17:20:46 +02:00
Marijn Haverbeke
eb419fd8c7 Extend crate format to allow multiple definitions for a single name
The type/value namespace distinction pretty much works now. Module
namespace is up next.
2011-05-13 17:20:39 +02:00
Marijn Haverbeke
1a12a7b04b Make module indices hold a list of items
This way, they can support having both a type and a value
of the same name.
2011-05-13 13:34:59 +02:00
Marijn Haverbeke
58ec5d1654 Move capture checking into resolve.rs
Drops capture.rs. The new algorithm also checks for captures function
arguments and obj fields.
2011-05-13 12:44:05 +02:00
Marijn Haverbeke
89490e416b Change resolve to use walk instead of fold
Possibly, at some point, we should add a state-passing variant of
walk, or a wrapper that makes it easier to thread state. (See the
repetetive pop_state_for_* functions in this commit.)
2011-05-13 11:35:25 +02:00
Marijn Haverbeke
7082bf4478 Ensure visit_ty is called on type parameters during walk 2011-05-13 11:35:25 +02:00
Marijn Haverbeke
39a000714a Add visit_arm and visit_method to walk.rs
The resolver needs to update its state for individual arms and
methods.
2011-05-13 11:34:51 +02:00
Brian Anderson
2896a866d6 Change fuzzer to match new module standards 2011-05-12 22:45:55 -04:00
Brian Anderson
02fdd2d2d9 Rename std.extfmt.CT to std.extfmt.RT to ct and rt
Temporarily duplicate the entire RT module, leaving it with the old name to
accomodate the stage0 compiler. Will be removed after the next snapshot.
2011-05-12 22:22:28 -04:00
Patrick Walton
5295a4dabd rustc: Flatten recursive vectors in trans::simplify_type(). Prevents an infinite loop. 2011-05-12 18:37:28 -07:00
Patrick Walton
b163247d4e rustc: Beginnings of a "shape" module to convert types to shapes 2011-05-12 18:30:21 -07:00
Patrick Walton
033b38b636 rustc: Make ty::expr_ann() terser 2011-05-12 16:57:08 -07:00
Patrick Walton
0b7dd0d918 rustc: Pass a node type table around, unused as of yet 2011-05-12 16:41:55 -07:00
Graydon Hoare
5ceaf345ed Add stats option and lazily emit glue. 2011-05-12 15:42:51 -07:00
Patrick Walton
295c037aac etc: Update rust.vim with new keywords; color types differently from keywords 2011-05-12 14:32:54 -07:00
Graydon Hoare
1fdddede22 Add snap-stageN targets. 2011-05-12 13:08:57 -07:00
Graydon Hoare
b64098e58c Register new snapshots for incompatible-syntax transition. 2011-05-12 13:03:05 -07:00
Marijn Haverbeke
9419c5df77 Fix mistaken replacements in error-pattern comments in tests 2011-05-12 21:45:29 +02:00
Marijn Haverbeke
3816e57fd2 Downcase std modules again, move to :: for module dereferencing
This should be a snapshot transition.
2011-05-12 21:30:44 +02:00
Marijn Haverbeke
b1d3364487 Transitional change to make extfmt output lowercase module name 2011-05-12 21:30:43 +02:00
Marijn Haverbeke
6510f1ce7c Change module dereference syntax from . to ::
This will need to be a snapshot.
2011-05-12 21:30:35 +02:00
Marijn Haverbeke
dd9b6dccb4 Remove some truly wrong logic in parse_constrs 2011-05-12 15:52:12 +02:00
Marijn Haverbeke
358a1aeec9 Keep resolve data in external hash table, rather than embedded defs
One step closer to removing fold and having a single, immutable AST.
Resolve still uses fold, because it has to detect and transform
expr_field expressions. If we go through on our plan of moving to a
different syntax for module dereferencing, the parser can spit out
expr_field expressions, and resolve can move to walk.

(I am truly sorry for the things I did in typestate_check.rs. I expect
we'll want to change that to walk as well in the near future, at which
point it should probably pass around a context record, which could
hold the def_map.)
2011-05-12 15:40:21 +02:00
Marijn Haverbeke
2b36e40c58 Ensure ann tags are actually kept around during typechecking
This way, the tag assigned by the parser stays with the node.
I realize ann replacing is probably going away real soon, but
I needed this now for moving the resolve defs out of the AST.
2011-05-12 10:51:13 +02:00
Marijn Haverbeke
079512494f Properly lex block comments followed by EOF 2011-05-12 09:31:06 +02:00
Marijn Haverbeke
d719b5cae7 Provide a more useful message when failing to translate a const 2011-05-12 09:17:59 +02:00
Brian Anderson
353ed4bdff Remove unused filename parameter from lexer.new_reader 2011-05-11 23:38:20 -04:00
Brian Anderson
a459bcd127 Give the lexer a session so that it can fail more informatively 2011-05-11 23:04:16 -04:00
Patrick Walton
531515d7ae rustc: Represent types as uints. Cuts typechecking down from 14s to 12s. 2011-05-11 17:05:39 -07:00
Patrick Walton
da09a0320e rustc: Remove a few kludges intended to work around rustboot's lack of structural comparison from equal_type_structures() 2011-05-11 16:18:02 -07:00
Patrick Walton
6953841e25 rustc: Remove magic numbers; they aren't a win 2011-05-11 16:10:17 -07:00
Patrick Walton
df914e8904 rustc: Intern all types. 4s regression. 2011-05-11 15:56:23 -07:00
Patrick Walton
26ab36afb1 rustc: Hoist derived type descriptors to the top of the function 2011-05-11 12:05:02 -07:00
Graydon Hoare
927138016a Register new snapshots. 2011-05-11 09:35:58 -07:00
Marijn Haverbeke
14f1fe0e29 Remove mod indices from the AST
They are now created by the resolve pass, which is the only pass that
needs them, and kept internal to that pass.
2011-05-11 17:11:44 +02:00
Marijn Haverbeke
5bea22d75c Add a missed xfail-stage0 2011-05-11 16:44:42 +02:00
Marijn Haverbeke
88621bc53c Remove a few more 'mutable' words
Didn't see these before because they live in non-Linux code.
2011-05-11 15:39:39 +02:00
Marijn Haverbeke
fe29d24b6e Get rid of arm indices 2011-05-11 15:26:36 +02:00
Marijn Haverbeke
5405f45274 Get rid of block indices 2011-05-11 15:10:24 +02:00
Marijn Haverbeke
7d086df095 Stop depending on block indices in capture.rs 2011-05-11 13:49:48 +02:00
Marijn Haverbeke
9cb20153a8 Hash only on def_num when storing def_ids that are local 2011-05-11 13:06:43 +02:00
Marijn Haverbeke
7f222423b7 Use a const for crate-num-zero (ast.local_crate) 2011-05-11 12:59:34 +02:00
Marijn Haverbeke
6b46113afc Cache external crate lookups in resolve.rs
According to --time-passes, resolution went from 2 to 0 seconds. Not
really the bottleneck... but if we want to be crazy fast, just
consider this a future bottleneck that was fixed very timely.
2011-05-11 12:32:37 +02:00
Marijn Haverbeke
e9c12ab1d0 Rewrite comp/middle/resolve.rs
* Cleans up the algorithm
 * Move first pass to walk (second still folds)
 * Support part of a type/value namespace split
   (crate metadata and module indices still need to be taught about this)
 * Remove a few blatant inefficiencies (import tables being recreated for
   every lookup, most importantly)
2011-05-11 12:32:37 +02:00
Brian Anderson
e4c3287367 Reuse a single work buffer every time the SHA1 message block is processed.
This finally allows the full lib-sha1 test to run in a reasonable amount of
time. Was 30s, now 3s. Trims a second or two from stage2/rustc. XFAIL lib-sha1
in stage0 since it will be very slow until the next snapshot.
2011-05-11 01:38:17 -04:00
Brian Anderson
7e7d134e3c Remove unnecessary array access from SHA1
Provides a very small speedup.
2011-05-11 01:38:17 -04:00
Brian Anderson
e35984b6c6 Introduce str_slice runtime function
This reduces the time to execute the new lib-str tests from 1:40ish to a few
seconds and will eventually allow the full lib-sha1 test to run in a
reasonable amount of time. XFAIL lib-str in stage0 - it will run very slowly
until the next snapshot.
2011-05-11 01:38:16 -04:00
Graydon Hoare
dc0aab47a7 More alias-ification of trans. 2011-05-11 05:11:59 +00:00
Brian Anderson
aa40d61d5d Link fuzzer to the rustc crate 2011-05-10 21:31:14 -04:00
Brian Anderson
a8e8585fbc Add meta info to rustc.rc 2011-05-10 21:31:14 -04:00
Brian Anderson
a5ea56c6f0 Introduce the fuzzer crate and make rules 2011-05-10 21:31:14 -04:00
Patrick Walton
f627c2ff21 rustc: Don't interleave allocas with stores when copying arguments to allocas 2011-05-10 18:29:14 -07:00
Graydon Hoare
390ce40165 Begin alias-ifying trans. 2011-05-10 18:07:40 -07:00
Graydon Hoare
cf3e737eee Avoid mangle_name_by_type_only call in tydesc names unless debugging. 2011-05-10 18:07:40 -07:00
Patrick Walton
869e9017eb rustc: Create mutable vectors in macos_OS.rs. Should put out Darwin tinderbox. 2011-05-10 17:50:39 -07:00
Patrick Walton
1448fc1a24 rustc: Lower the size limit on ty_to_short_str() and always call it in favor of direct calls to metadata.Encode.ty_str() in trans 2011-05-10 17:50:39 -07:00
Patrick Walton
7da9101e11 rustc: Make -g not take an argument 2011-05-10 17:50:39 -07:00
Graydon Hoare
46886b2339 Attempt to put out burning darwin tinderbox. 2011-05-10 17:47:55 -07:00
Patrick Walton
10c9266525 rustc: Number everything with an annotation 2011-05-10 17:27:59 -07:00
Graydon Hoare
4b5b96c511 Remove a couple more spurious 'mutable' value qualifiers from macos_OS.rs. 2011-05-10 17:04:41 -07:00
Graydon Hoare
7e8b57d1bb Only name LLVM values / blocks / types when saving temporaries. 2011-05-10 17:04:41 -07:00
Brian Anderson
4c70ddb162 Un-XFAIL syntax-extension-fmt.rs 2011-05-10 19:46:22 -04:00
Brian Anderson
92471efff4 Un-XFAIL compile-fail export tests for stage0 2011-05-10 19:18:38 -04:00
Graydon Hoare
d6f1fcff6b Add --time-llvm-passes. 2011-05-10 16:10:08 -07:00
Patrick Walton
813636d52e stdlib: Remove Str.unsafe_from_mutable_bytes(). rustc now self-hosts 18 seconds faster. 2011-05-10 15:20:36 -07:00
Patrick Walton
17daf1f9bf rustc: Cache intermediate results of metadata.Encode.ty_str. Shaves 30% off translation time. 2011-05-10 14:48:24 -07:00
Graydon Hoare
3bec4c8193 Switch memcpy to memmove since we're willing to compile x = x and such. 2011-05-10 14:22:14 -07:00
Patrick Walton
2849103f24 rustc: Get rid of native Rust glue for all upcalls except the exit task glue 2011-05-10 14:04:34 -07:00
Graydon Hoare
55f0f79a46 Re-enable use of llvm intrinsics for memcpy, memset. Should have aligned stack now. 2011-05-10 11:50:29 -07:00
Brian Anderson
1abb7a868e Fix long lines in fold.rs, typeck.rs 2011-05-09 22:11:56 -04:00
Graydon Hoare
4539f8a03c Alias-ify fold and its users, remove another 85kb. 2011-05-09 17:50:06 -07:00
Patrick Walton
cfcc8678e5 rustc: Give our upcall definitions the right values 2011-05-09 16:59:18 -07:00
Graydon Hoare
476442e48c Alias-ify walk, typeck, metadata. Cuts another 80kb off rustc. 2011-05-09 16:17:17 -07:00
Patrick Walton
071ed380fb rustc: Declare upcalls with real signatures; preparation for killing rust_native_rust_* stubs 2011-05-09 15:33:02 -07:00
Graydon Hoare
4cfca125da Register new snapshots. 2011-05-09 15:07:53 -07:00
Graydon Hoare
b00f3074d4 Remove boxes from token.t. 2011-05-09 14:17:45 -07:00
Patrick Walton
70c759030c rustc: Alias fix part 2 -- Check that the aliasness of function parameters matches. Add a test case. 2011-05-09 14:00:50 -07:00
Graydon Hoare
b2b33de819 Alias-ify a variety of fn signatures in ty. Cuts 180kb off rustc. 2011-05-09 13:09:20 -07:00
Patrick Walton
662e949540 rustc: Alias fix part 1 -- Separate out AST modes from typechecker modes, and introduce an "either value or alias" mode 2011-05-09 12:27:03 -07:00
Patrick Walton
bc879a4e1e rustc: Replace our homebrew list of passes with the standard function and module passes, along with the TargetData passes. 2011-05-09 11:44:47 -07:00
Graydon Hoare
d97c5d97de Register new snapshots. 2011-05-09 10:46:38 -07:00
Patrick Walton
7641142ce2 rt: Consistently refer to structs as structs and classes as classes. Clang complains about this. 2011-05-08 21:10:42 -07:00
Patrick Walton
106216d673 rustc: Stop emitting zero-length arrays 2011-05-08 16:26:35 -07:00
Graydon Hoare
db3b9a4992 Stop stringifying integers to get integral constants. 2011-05-07 18:54:23 +00:00
Patrick Walton
a71fda40b8 rustc: Make llvm_err() conform to Postel's law a little better 2011-05-06 18:19:42 -07:00
Patrick Walton
ca1b1666e0 rustllvm: Add a function to add the standard function passes to a module; change uses of bool in LLVMAddStandardModulePasses() to LLVMBool 2011-05-06 18:13:22 -07:00
Graydon Hoare
10a2093d37 Failure to re-stage changes strikes again. 2011-05-06 16:54:50 -07:00
Graydon Hoare
0f23bbac01 Fix GenericOS.getenv returning a raw str, return an Option.t[str] instead. 2011-05-06 16:30:39 -07:00
Graydon Hoare
e2f7f11d47 Put out burning linux tinderbox. 2011-05-06 16:07:28 -07:00
Patrick Walton
c624ed72b1 rustc: Uncomment LLVMAddStandardPasses, now that we have a native glue that supports 8 arguments. 2011-05-06 14:22:17 -07:00
Marijn Haverbeke
d39ca857fc Remove a few more superfluous 'mutable' keywords 2011-05-06 22:52:02 +02:00
Marijn Haverbeke
a3ec0b1f64 Rename std modules to be camelcased
(Have fun mergining your stuff with this.)
2011-05-06 22:51:19 +02:00
Graydon Hoare
44c1621525 Register new snapshots. 2011-05-06 13:34:56 -07:00
Patrick Walton
ab437253d3 rustc: Bump the number of native glues to 8 2011-05-06 12:50:48 -07:00
Patrick Walton
d089d9f9ed rustllvm: Add a binding to the LLVM standard module passes 2011-05-06 12:38:00 -07:00
Patrick Walton
5e2088f2fa rustc: For stack local derived tydescs, allocate the root tydesc separately from the parameter tydescs. This allows SROA, and consequently inlining, to work. 2011-05-06 12:37:59 -07:00
Patrick Walton
57a5c3ac9f rustc: Factor derived tydesc construction out of get_tydesc() 2011-05-06 12:37:59 -07:00
Patrick Walton
8e7aeed2d5 rustc: Include a representation of the type in question in the symbols generated for tydescs 2011-05-06 12:37:59 -07:00
Kelly Wilson
b4a0d891c0 Ge the host triple using LLVM. Fix a few 'mutable' warnings also. 2011-05-06 11:30:39 -07:00
Graydon Hoare
1e03f00404 Use #env to bake a git revision string into rustc's --version output. 2011-05-06 11:21:51 -07:00
Rafael Ávila de Espíndola
8df37716ce Fix OS X build. 2011-05-05 23:16:59 -04:00
Patrick Walton
883eb38b28 rustc: Remove some debugging code from decl_native_fn_and_pair() 2011-05-05 17:58:48 -07:00
Patrick Walton
81cda5ad45 rustc: Fix a bunch of argument-passing bugs in decl_native_fn_and_pair() 2011-05-05 17:48:10 -07:00
Graydon Hoare
9e3b096d98 Fix x86.rs triple for linux. 2011-05-05 17:20:27 -07:00
Lindsey Kuper
9d7fc21967 Consolidating expr_to_str functions. 2011-05-05 16:53:25 -07:00
Kelly Wilson
850dff486e Add quick sort function to the std lib. 2011-05-05 16:40:57 -07:00
Rafael Ávila de Espíndola
4445d6771d Use symbolic register names so that we get the correct encoding on OS X. 2011-05-05 19:00:42 -04:00
Rafael Ávila de Espíndola
d6deeffd95 Change the setup so that rust_activate_glue returns to rust_exit_task_glue
and rust_exit_task_glue calls the rust main.

This is simpler since we only need to setup one frame. It also matches
what ld.so does, so gdb is happy and stops a backtrace at rust_exit_task_glue
instead of continuing past whatever function happened to be before
rust_exit_task_glue is the object file.

This is the rt part and should be merged after the rust0 part.
2011-05-05 15:46:10 -07:00
Graydon Hoare
d85260bcc5 Register new stage0 snapshots. 2011-05-05 15:46:05 -07:00
Rafael Ávila de Espíndola
157f61f8c8 Change the setup so that rust_activate_glue returns to rust_exit_task_glue
and rust_exit_task_glue calls the rust main.

This is simpler since we only need to setup one frame. It also matches
what ld.so does, so gdb is happy and stops a backtrace at rust_exit_task_glue
instead of continuing past whatever function happened to be before
rust_exit_task_glue is the object file.

This is only the rustc changes and should be merged first.
2011-05-05 15:14:34 -07:00
Patrick Walton
2d9ccf3ae5 rustc: Add Rust intrinsic support to the crate metadata reader and writer 2011-05-05 14:35:18 -07:00
Graydon Hoare
50ac893b00 Attempt to fix fs.dirname harder. 2011-05-05 14:31:45 -07:00
Patrick Walton
9a1f0977a2 rustc: Fix bug in equal_abi that was preventing Rust intrinsics from working 2011-05-05 14:21:59 -07:00
Graydon Hoare
2131f2bb6b Because good hackers at least check to see if the code compiles. 2011-05-05 13:53:57 -07:00
Graydon Hoare
c80255e510 Fix assumption that only os_fs.path_sep can separate paths, sigh. 2011-05-05 13:42:52 -07:00
Graydon Hoare
f5f2f76339 Add --help, --version and -v flags (not yet supporting GIT_REV env var, waiting on snapshot). 2011-05-05 13:09:43 -07:00
Patrick Walton
a74feaf159 rustc: Link with intrinsics.bc; change intrinsics linkage to linkonce_odr 2011-05-05 12:46:22 -07:00
Patrick Walton
5fb6e6364b rustc: Add a binding to LLVM's bitcode parser 2011-05-05 11:34:45 -07:00
Tim Chevalier
6b742aec91 Enforce in typechecker that preds return a bool
as well as a test case
2011-05-05 11:26:07 -07:00
Tim Chevalier
acf9bd7909 Test cases for pred / check stuff 2011-05-05 11:26:07 -07:00
Tim Chevalier
e3a68e235c Bring back "pred" syntax for writing predicates for check
This commit reinstates the requirement that the predicate in a
"check" must be a manifest call to a special kind of function
declared with the new "pred" keyword instead of "fn". Preds must
have a boolean return type and can only call other preds; they
can't have any effects (as enforced by the typechecker).
The arguments to a predicate in a check expression must be
slot variables or literals.
2011-05-05 11:26:07 -07:00
Tim Chevalier
3060eadcba Check well-formedness of constraints
Check that the operand in a constraint is an explicit name,
and that the operands are all local variables or literals. Still need
to check that the name refers to a pure function.
2011-05-05 11:26:07 -07:00
Tim Chevalier
bc5650a9d0 Change checks to asserts in test/bench files 2011-05-05 11:26:07 -07:00
Tim Chevalier
4f892dd9d7 Check that the operand in a check is a call
In addition, fix bug in fold that was turning asserts into checks.

More typechecking still needs to be done.
2011-05-05 11:26:07 -07:00
Tim Chevalier
59a0e98096 Un-XFAILed not-a-pred in stage0 (it fails correctly) 2011-05-05 11:26:07 -07:00
Marijn Haverbeke
1f45dda9d2 Remove 'deprecated mutable...' from our code
This should make compilation a bit less noisy.
2011-05-05 20:19:43 +02:00
Marijn Haverbeke
3d738e9e06 Return a fresh, unreachable context after ret, break, and cont
This ensures we don't get compile errors on unreachable code (see
test/run-pass/artificial-block.rs for an example of sane code that
wasn't compiling). In the future, we might want to warn about
non-trivial code appearing in an unreachable context, and/or avoid
generating unreachable code altogether (though I'm sure LLVM will weed
it out as well).
2011-05-05 20:19:43 +02:00
Marijn Haverbeke
9432626b68 Eradicate fold from capture.rs
The pass now uses walk.
2011-05-05 20:19:43 +02:00
Ralph Giles
06f0713906 Mark valgrind's _qzz_res as unused to silence warnings on gcc 4.6.
This applies c11675 by Julian Seward from valgrind trunk
(svn://svn.valgrind.org/valgrind/trunk) to rustrt's included
copies of memcheck.h and valgrind.h, effectively backporting
the fix from the unreleased 3.6.2. The commit simply applies
the gcc 'unused' attribute to the relevant declarations.

This change allows compilation of the runtime code under
gcc 4.6 with -Werror, as the makefile currently requests.
2011-05-05 10:55:54 -07:00
Patrick Walton
fea623211f rustc: Add a Link module; move crate writing to it to slim down trans slightly 2011-05-05 10:48:02 -07:00
Patrick Walton
729648282b rustllvm: Add bindings to the LLVM linker 2011-05-04 21:27:00 -07:00
Patrick Walton
c47a075a99 rustllvm: Whitespace police in RustWrapper.cpp 2011-05-04 20:30:23 -07:00
Patrick Walton
bde44a03a9 rustc: Detect the system root and allow the user to override if necessary 2011-05-04 19:27:54 -07:00
Graydon Hoare
d55fa2a9a3 Add #env syntax extension for plucking strings out of the compilation environment. 2011-05-04 19:05:32 -07:00
Graydon Hoare
a7db032725 Re-snapshot to pick up fixed crasher bugs in resolve and performance improvements. 2011-05-04 19:05:32 -07:00
Patrick Walton
04f966f0bc build: Build intrinsics.bc 2011-05-04 18:29:08 -07:00
Marijn Haverbeke
898e089d7b Fix and re-enable destructors
There was some confusion on whether the destructors took their
argument by pointer or direct value. They now take it directly, just
like other methods. You no longer get a segfault when a constructor
actually does something with its self value.
2011-05-05 02:16:49 +02:00
Graydon Hoare
cdb6822405 Add a structure for passing option flags around the compiler, put it in session, and use it. 2011-05-04 16:59:21 -07:00
Brian Anderson
bd34770a92 Add missing ret statements to check_mod
Un-XFAIL compile-fail export tests
2011-05-04 19:29:27 -04:00
Graydon Hoare
ce9468761c Support new -g flag, only mangle glue names by type when it's passed. 2011-05-04 15:36:42 -07:00