Jed Davis
dd7a81d025
Let llsize_of be a ConstantInt
2013-02-08 01:52:47 -08:00
Jed Davis
e89d9853a6
Fix vector indexing in consts so it works with the enum vector const fix.
2013-02-07 18:31:12 -08:00
Jed Davis
de8dc02634
Make tuple-like structs containing enums work as constants.
2013-02-07 18:31:12 -08:00
Jed Davis
30aae3d910
Fix const enum type issues for structs.
2013-02-07 18:31:12 -08:00
Jed Davis
29b99669dc
Fix pointer consts to work with enums
2013-02-07 18:28:31 -08:00
Jed Davis
9ad616a102
Make vectors of enums work as constants
2013-02-07 18:28:11 -08:00
Jed Davis
6cdc283415
Also need to pad out "C-like" enum consts (paths as well as calls).
2013-02-07 17:57:02 -08:00
Jed Davis
877fc8d891
Pad out enum consts to the expected size; makes enums in tuples work.
...
This is wasted space if the const is just an enum, but optimizing that
case without breaking everything else is an issue that can be addressed
separately.
2013-02-07 17:57:02 -08:00
Jed Davis
52cf61fd3b
Fix const enums better: let them have the same alignment as an "opaque enum".
2013-02-07 17:57:02 -08:00
Patrick Walton
472797b04a
librustc: Lots of de-muting. rs=demuting
2013-02-07 16:17:39 -08:00
Niko Matsakis
a32498d846
Make ~fn non-copyable, make &fn copyable, split barefn/closure types,
...
correct handling of moves for struct-record update.
Part of #3678 . Fixes #2828 , #3904 , #4719 .
2013-02-07 05:53:30 -08:00
bors
82d7396333
auto merge of #4823 : pcwalton/rust/enum-variant-discriminants, r=graydon
...
r? @graydon
2013-02-07 04:02:51 -08:00
bors
f13ea4121e
auto merge of #4795 : catamorphism/rust/less-copy, r=catamorphism
2013-02-06 17:06:15 -08:00
Patrick Walton
cf6c3d96fb
librustc: Attempt to put out burning tree by fixing translation of unary negation in boolean constants. rs=burningtree
2013-02-06 15:38:23 -08:00
Patrick Walton
6d13c90256
librustc: Stop loading enum variant discriminants from memory
2013-02-06 15:08:33 -08:00
Patrick Walton
b34f871dda
librustc: Change i1 to i8 for bools. Attempts to put out burning tree. rs=burningtree
2013-02-06 14:28:02 -08:00
Tim Chevalier
739e5ba369
rustc: Less copy
2013-02-06 12:09:11 -08:00
Patrick Walton
801f3225b2
oldmap: use &K instead of K in find and get
...
This reverts commit a4250a96fdf61142a9c8dbb6d37ae8435c99e396.
This is not the cause of the nonexhaustive-match failure.
2013-02-05 19:41:45 -08:00
Graydon Hoare
a4250a96fd
Revert "oldmap: use &K instead of K in find and get"
...
This reverts commit 8e643525d4e5bca993dada43615916c382a0645b.
2013-02-05 14:30:53 -08:00
bors
bffe3088c7
auto merge of pull req #4777 from thestinger/rust, r=graydon
2013-02-04 17:24:40 -08:00
bors
3c6b9c2363
automated merge
2013-02-04 15:39:10 -08:00
ILyoan
6105f09cc1
Use x86-64 CABI for foreign function on arm target
2013-02-04 19:30:17 +09:00
Erick Tryzelaar
9adfa59d8e
core: convert ToStr::to_str to take explicit &self
2013-02-03 20:47:26 -08:00
Daniel Micay
8e643525d4
oldmap: use &K instead of K in find and get
2013-02-03 23:30:56 -05:00
Brian Anderson
3b396d17d6
Merge remote-tracking branch 'thestinger/old_map' into incoming
...
Conflicts:
src/test/bench/core-map.rs
2013-02-03 17:56:49 -08:00
Marvin Löbel
26e72bf92b
Converted libcore/int-template.rs to the new string functions.
...
- Moved ToStr implementation of integers to int-template.rs.
- Marked the `str()` function as deprecated.
- Forwarded all conversion functions to `core::num::to_str_common()`
and `core::num::from_str_common()`.
- Fixed most places in the codebase where `to_str()` is being used.
- Added int-template to_str and from_str overflow tests.
2013-02-03 15:37:24 -08:00
Daniel Micay
4fd9264875
oldmap: &K instead of K for the remove parameter
2013-02-03 18:20:59 -05:00
Daniel Micay
81b4f36d49
oldmap: remove legacy each method
2013-02-03 15:55:11 -05:00
Daniel Micay
88d9d417a1
oldmap: remove the legacy each_value method
2013-02-03 15:55:10 -05:00
Daniel Micay
1b4eb145f9
oldmap: implement core::container::Container
2013-02-03 15:55:10 -05:00
Daniel Micay
f4a27b2c7d
oldmap: get rid of the legacy contains_key method
2013-02-03 15:55:10 -05:00
Daniel Micay
319eeb1c79
rename map -> oldmap and mark it as deprecated
...
LinearMap is quite a bit faster, and is fully owned/sendable without
requiring copies. The older std::map also doesn't use explicit self and
relies on mutable fields.
2013-02-03 15:55:10 -05:00
Brian Anderson
9dc6938292
Merge remote-tracking branch 'nickdesaulniers/issue4524' into nocomm1
2013-02-01 11:18:58 -08:00
Nick Desaulniers
7868b6bf55
Remove fail keyword from lexer & parser and clean up remaining calls to
...
fail
Fix merge conflicts - Issue 4524
2013-02-01 00:15:42 -08:00
John Clements
53688addaa
test cases, cleanup
2013-01-31 23:05:12 -08:00
Nick Desaulniers
6fb4239bb3
Replace most invocations of fail keyword with die! macro
2013-01-31 22:25:12 -08:00
Daniel Micay
70855f5a07
move smallintmap to oldsmallintmap
2013-01-31 23:13:56 -05:00
Nick Desaulniers
aee7929469
Replace most invocations of fail keyword with die! macro
2013-01-31 20:12:49 -08:00
Brian Anderson
9673005afe
Merge pull request #4703 from sanxiyn/remove-tps
...
Remove `tps` from `trans_enum_def` and `trans_struct_def`
2013-01-31 16:59:47 -08:00
Niko Matsakis
71478f9ce3
Workaround for #4717 : pad contents of ast. rs=breakage
2013-01-31 16:56:12 -08:00
Niko Matsakis
0682ad0eb9
Finalize moves-based-on-type implementation.
...
Changes:
- Refactor move mode computation
- Removes move mode arguments, unary move, capture clauses
(though they still parse for backwards compatibility)
- Simplify how moves are handled in trans
- Fix a number of illegal copies that cropped up
- Workaround for bug involving def-ids in params
(see details below)
Future work (I'll open bugs for these...):
- Improve error messages for moves that are due
to bindings
- Add support for moving owned content like a.b.c
to borrow check, test in trans (but I think it'll
"just work")
- Proper fix for def-ids in params
Def ids in params:
Move captures into a map instead of recomputing.
This is a workaround for a larger bug having to do with the def-ids associated
with ty_params, which are not always properly preserved when inlining. I am
not sure of my preferred fix for the larger bug yet. This current fix removes
the only code in trans that I know of which relies on ty_param def-ids, but
feels fragile.
2013-01-31 12:09:00 -08:00
Seo Sanghyeon
0d1058a62e
Remove tps
from trans_enum_def
and trans_struct_def
2013-01-31 17:12:33 +09:00
Patrick Walton
49472ec4c9
librustc: Remove legacy exports from the language. r=brson
2013-01-30 18:11:43 -08:00
Patrick Walton
ae50912875
librustc: De-export rustc. rs=deexporting
2013-01-30 13:44:24 -08:00
Patrick Walton
ba11e96289
librustc: De-export trans. rs=deexporting
2013-01-30 11:47:02 -08:00
Patrick Walton
28ed9dc09e
librustc: Long lines. rs=burning
2013-01-29 22:40:13 -08:00
Patrick Walton
0c1d9befb3
librustc: Speed up byte copy operations. r=nmatsakis
2013-01-29 22:15:06 -08:00
Patrick Walton
97c593a1ce
librustc: Stop zeroing out allocas so much. Cuts 300K off librustc.
2013-01-29 22:14:08 -08:00
Patrick Walton
1b613ff9fc
librustc: Strdup unique strings instead of copying in byte by byte. Shaves 2MB off librustc at -O0.
2013-01-29 22:14:08 -08:00
Patrick Walton
a47fa9b32f
librustc: De-export some of trans. rs=deexporting
2013-01-29 22:14:08 -08:00