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