John Clements
3261b6eece
WIP: adding context to macros
2013-09-06 13:35:10 -07:00
John Clements
34f31e2961
rework fold so that fold_tts takes an ast_fold rather than a thunk, stop using closures in ident traversal
2013-09-06 13:35:10 -07:00
John Clements
09e6dda4f2
add temporarily unused ctxt field to mac_invoc_tt
2013-09-06 13:35:10 -07:00
John Clements
3621c674cc
comments
2013-09-06 13:35:10 -07:00
John Clements
0c31c930ff
add test case for macro token comparison
2013-09-06 13:35:10 -07:00
John Clements
963dab5dcb
marking on both input and output from macros. nice shiny new test case framework
2013-09-06 13:35:10 -07:00
John Clements
f68aa459ea
added IterBytes for 4-tuples
2013-09-06 13:35:10 -07:00
John Clements
58e7598c2e
added gensym_copy mechanism to ensure sharing of pointers in the interner
...
this makes comparisons constant-time, and enables spelling-comparison
of identifiers, crucial in many parts of resolve.
2013-09-06 13:35:10 -07:00
John Clements
9d33001a90
added test for ptr_eq on fresh_name-generated idents
2013-09-06 13:35:09 -07:00
John Clements
cd4e637ae4
fixed bug in fold's traversal of cast exprs
2013-09-06 13:35:09 -07:00
John Clements
d876a721d2
new test that uncovers bug in fold
2013-09-06 13:35:09 -07:00
John Clements
015ba31c02
test case support fns, remove debugging test case
2013-09-06 13:35:09 -07:00
John Clements
62fee04ae9
test case work
2013-09-06 13:35:09 -07:00
John Clements
1f8e856430
re-add lost call to expand_block_elts
2013-09-06 13:35:09 -07:00
John Clements
9071ac60b6
re-add debug version
2013-09-06 13:35:09 -07:00
John Clements
7a9af098f0
test case work
2013-09-06 13:35:09 -07:00
John Clements
f5ab867119
use empty_ctxt to simplify downstream
2013-09-06 13:35:09 -07:00
John Clements
a666ddc135
make comparison of special_idents non-hygienic
2013-09-06 13:35:08 -07:00
John Clements
3965725d51
comments
2013-09-06 13:35:08 -07:00
John Clements
d1c01734f3
drop back to a simple gensym approach for fresh-name.
...
this is necessary so that the new idents are connected to the original strings.
this is important both for error messages, and so that top-level refs get connected
to the right things.
2013-09-06 13:35:08 -07:00
John Clements
7bf75adfd9
added FIXME comment
2013-09-06 13:35:08 -07:00
John Clements
9de40dfc87
remove FIXME #2888 , now bug is fixed
2013-09-06 13:35:08 -07:00
John Clements
98a6cbdba3
comments only
2013-09-06 13:35:08 -07:00
John Clements
91d3c36430
adding test case to check marking/unmarking
2013-09-06 13:35:08 -07:00
John Clements
b7c0512b27
refactor so tt_fold only requires an ident->ident fn
2013-09-06 13:35:08 -07:00
John Clements
93337f0daa
separate ItemDecorator from ItemDecorator
2013-09-06 13:35:08 -07:00
John Clements
431ede40df
removed unneccessary SyntaxExpander structs
2013-09-06 13:35:07 -07:00
John Clements
d8276e75f0
comments in ast.rs
2013-09-06 13:35:07 -07:00
John Clements
6c6d053b01
renaming test cases
2013-09-06 13:35:07 -07:00
John Clements
2f6498f7b4
flip the switch on let renaming
2013-09-06 13:35:07 -07:00
John Clements
fb82283a98
resolve test case
...
resolve must ignore syntax context when comparing module names
2013-09-06 13:35:07 -07:00
John Clements
7668fb2c75
make ifn macro non-capturing
2013-09-06 13:35:07 -07:00
John Clements
39ca2dbbc5
update librustc to use name comparison in most cases, and mtwt_resolve comparison in others
2013-09-06 13:35:07 -07:00
John Clements
71e72ee862
one-line comment
2013-09-06 13:35:06 -07:00
John Clements
fa6c981606
add hygiene support fns, move them around.
...
also adds test cases
2013-09-06 13:35:06 -07:00
John Clements
7fd5bdcb9a
try removing basically dead code in resolve
2013-09-06 13:35:06 -07:00
John Clements
72ee6af4d4
compare macro tokens hygienically (commented out)
2013-09-06 13:35:06 -07:00
John Clements
9ec1623d57
ident->name
2013-09-06 13:35:06 -07:00
John Clements
e1734f6d38
rename resolve to mtwt_resolve
2013-09-06 13:35:06 -07:00
John Clements
acad9f35b3
commenting out special Eq implementation for now
...
See the comments for details on why I'm leaving this code
in, though commented out.
2013-09-06 13:34:58 -07:00
John Clements
77c96d754e
disallow ident equality checks when contexts are not equal
2013-09-06 09:28:45 -07:00
John Clements
6e3b2ab44d
move and duplicate macro defns in sha2 to make them hygienic
...
... it would also have been possible to add all of their dependencies,
but that would have increased the already-lengthy list of parameters.
Also, if we had macros that could expand into macro defns, you could
stage it. This seemed like the least painful choice.
2013-09-06 09:28:45 -07:00
bors
d39cec65b0
auto merge of #9017 : vadimcn/rust/rustllvm-build, r=alexcrichton
...
After recent build directory reorg, building from scratch fails (at least on Windows), because it can't find llvm-config.h.
2013-09-06 05:05:59 -07:00
bors
9298af7e05
auto merge of #9002 : brson/rust/issue-8769, r=catamorphism
...
This is an unsafe implementation detail of `push`.
2013-09-06 03:50:57 -07:00
bors
25ed29a0ed
auto merge of #9000 : brson/rust/dns, r=anasazi
...
This exposes a very simple function for resolving host names. There's a lot more that needs to be done, but this is probably enough for servo to get started connecting to real websites again.
2013-09-06 02:31:02 -07:00
bors
b650da1673
auto merge of #9018 : alexcrichton/rust/fix-bots, r=huonw
...
The new glob tests created tmp/glob-tests as a directory, but the never removed
it. The `make clean` target then attempted to `rm -f` on this, but it couldn't
remove the directory. This both changes the clean target to `rm -rf` tmp files,
and also alters the tests to delete the directory that all the files are added
into.
2013-09-06 00:36:07 -07:00
Alex Crichton
507414daf9
Un-hork the bots by removing intermediate files
...
The new glob tests created tmp/glob-tests as a directory, but the never removed
it. The `make clean` target then attempted to `rm -f` on this, but it couldn't
remove the directory. This both changes the clean target to `rm -rf` tmp files,
and also alters the tests to delete the directory that all the files are added
into.
2013-09-06 00:17:14 -07:00
Vadim Chugunov
d4ebe835b2
Fixed makefile to point to the new llvm build directory.
2013-09-05 23:44:10 -07:00
Brian Anderson
807408b708
std::rt: Fix addrinfo definition on BSD
2013-09-05 22:15:02 -07:00
bors
5efe1e5365
auto merge of #8914 : Dretch/rust/native-glob, r=alexcrichton
...
This is #8201 with a bunch of amendments to address the comments (and re-based).
2013-09-05 22:00:58 -07:00