Commit Graph

27712 Commits

Author SHA1 Message Date
Alex Crichton
57e0908af3 syntax: Remove AbiSet, use one Abi
This change removes the AbiSet from the AST, converting all usage to have just
one Abi value. The current scheme selects a relevant ABI given a list of ABIs
based on the target architecture and how relevant each ABI is to that
architecture.

Instead of this mildly complicated scheme, only one ABI will be allowed in abi
strings, and pseudo-abis will be created for special cases as necessary. For
example the "system" abi exists for stdcall on win32 and C on win64.

Closes #10049
2014-04-03 13:43:45 -07:00
Felix S. Klock II
1a1c47b918 Update emacs mode to support new #![inner(attribute)] syntax. 2014-04-03 13:43:40 -07:00
Daniel Micay
898669c4e2 fix Option<~ZeroSizeType>
1778b63616 provided the guarantee of no
`exchange_free` calls for ~ZeroSizeType, so a sentinel can now be used
without overhead.

Closes #11998
2014-04-03 13:43:35 -07:00
Matt Brubeck
1ac8b34ccd Minor spelling/grammar/usage fixes.
Note: "different to" is not exactly incorrect, but "different from" is more
commonly accepted in both US and Commonwealth English, and also more
consistent with other usage within this tutorial.
2014-04-03 13:43:24 -07:00
Matt Brubeck
544516ac63 Fix reference to "these two traits."
There are actually three traits listed.
2014-04-03 13:43:24 -07:00
Matt Brubeck
c1e52c71ca extern crate and mod are not easily confused
Remove some statements that used to refer to similarities between `mod` and
`extern mod`, before the latter was renamed to `extern crate`.
2014-04-03 13:43:24 -07:00
Benjamin Adamson
2ae292473e Removed managed boxes from libarena. 2014-04-03 13:43:09 -07:00
klutzy
b4f7b6d672 test/run-pass: Add/remove some ignore-win32 flags 2014-04-03 13:42:58 -07:00
klutzy
35ed58c1e6 test/debug-info: Add/remove ignore-win32 flags
Fixes #10474
2014-04-03 13:42:58 -07:00
klutzy
74ae36ccf2 compiletest: Fix bitrotted win32 routines 2014-04-03 13:42:58 -07:00
Arcterus
696a005181 serialize: add a few missing pubs to base64 2014-04-03 13:42:48 -07:00
Huon Wilson
f5a4837df0 std: override clone_from for Vec.
A vector can reuse its allocation (and the allocations/resources of any
contained values) when cloning into an already-instantiated vector, so
we might as well do so.
2014-04-03 13:42:32 -07:00
Alex Crichton
0bd6f2ce0b rustllvm: Remove a no longer needed file
The .def.in files haven't been necessary since the switch to static linking
awhile back.
2014-04-03 10:50:06 -07:00
Alex Crichton
15e6e8cf3e rustc: Stop using LLVMGetSectionName
The recent pull request to remove libc from libstd has hit a wall in compiling
on windows, and I've been trying to investigate on the try bots as to why (it
compiles locally just fine). To the best of my knowledge, the LLVM section
iterator is behaving badly when iterating over the sections of the libc DLL.

Upon investigating the LLVMGetSectionName function in LLVM, I discovered that
this function doesn't always return a null-terminated string. It returns the
data pointer of a StringRef instance (LLVM's equivalent of &str essentially),
but it has no method of returning the length of the name of the section.

This commit modifies the section iteration when loading libraries to invoke a
custom LLVMRustGetSectionName which will correctly return both the length and
the data pointer.

I have not yet verified that this will fix landing liblibc, as it will require a
snapshot before doing a full test. Regardless, this is a worrisome situation
regarding the LLVM API, and should likely be fixed anyway.
2014-04-03 10:49:35 -07:00
bors
6f1c06d6a1 auto merge of #13244 : cmr/rust/tbaa, r=alexcrichton 2014-04-03 03:42:02 -07:00
bors
7bda3df6ff auto merge of #13262 : ben0x539/rust/guide-runtime-fixup, r=alexcrichton 2014-04-02 17:51:48 -07:00
bors
f503f6c0b9 auto merge of #13257 : alexcrichton/rust/index-uint, r=pnkfelix
The details are outlined in the first commit. 

Closes #10453
2014-04-02 16:36:50 -07:00
Alex Crichton
9a259f4303 Fix fallout of requiring uint indices 2014-04-02 15:56:31 -07:00
Alex Crichton
46abacfdfe rustc: Require that vector indices are uints
This commit tightens up the restriction on types used to index slices to require
exactly `uint` indices. Previously any integral type was accepted, but this
leads to a few subtle problems:

  * 64-bit indices don't make much sense on 32-bit systems
  * Signed indices for slices used as negative indexing isn't implemented

This was discussed at the recent work week, and also has some discussion on
issue #10453.

Closes #10453
2014-04-02 15:56:31 -07:00
Corey Richardson
46790a7d27 util: ppaux: remove dead code 2014-04-02 11:17:24 -04:00
Corey Richardson
841eb1c56f util: common: remove dead code 2014-04-02 11:17:24 -04:00
Corey Richardson
fdcb104517 middle: typeck: rscope: remove dead code 2014-04-02 11:17:24 -04:00
Corey Richardson
3bd0a37c0b middle: typeck: remove dead code 2014-04-02 11:17:24 -04:00
Corey Richardson
009389f051 middle: typeck: infer: resolve: remove dead code 2014-04-02 11:17:23 -04:00
Corey Richardson
167c29ff3f middle: typeck: infer: remove dead code 2014-04-02 11:17:23 -04:00
Corey Richardson
ce47c91bfc middle: typeck: infer: lub: remove dead code 2014-04-02 11:17:23 -04:00
Corey Richardson
1a98ec83c1 middle: typeck: infer: combine: remove dead code 2014-04-02 11:17:23 -04:00
Corey Richardson
dcb01ff573 middle: typeck: check: remove dead code 2014-04-02 11:17:23 -04:00
Corey Richardson
39f839d9ee middle: ty: remove dead code 2014-04-02 11:17:23 -04:00
Corey Richardson
b4653941d6 middle: trans: type_: remove dead code 2014-04-02 11:17:23 -04:00
Corey Richardson
53b70a83c6 middle: trans: tvec: remove dead code 2014-04-02 11:17:23 -04:00
Corey Richardson
4bc2c3b2b4 middle: trans: reflect: remove dead code 2014-04-02 11:17:22 -04:00
Corey Richardson
32753ed811 middle: trans: meth: remove dead code 2014-04-02 11:17:22 -04:00
Corey Richardson
f9973103c5 middle: trans: datum: remove dead code 2014-04-02 11:17:22 -04:00
Corey Richardson
9dd185c255 middle: trans: context: remove dead code 2014-04-02 11:17:22 -04:00
Corey Richardson
e53f48be34 middle: trans: common: remove dead code 2014-04-02 11:17:22 -04:00
Corey Richardson
8f385fc2e0 middle: trans: callee: remove dead code 2014-04-02 11:17:22 -04:00
Corey Richardson
a2290ccbc5 middle: trans: cabi: remove dead code 2014-04-02 11:17:21 -04:00
Corey Richardson
5e2b5221ca middle: trans: builder: ignore dead code 2014-04-02 11:17:21 -04:00
Corey Richardson
8de5eec222 middle: trans: build: remove dead code 2014-04-02 11:17:21 -04:00
Corey Richardson
49dc0193bd middle: trans: base: remove dead code 2014-04-02 11:17:21 -04:00
Corey Richardson
a9bf099000 middle: trans: adt: remove dead code 2014-04-02 11:17:21 -04:00
Corey Richardson
ee82233a1e middle: region: remove dead code 2014-04-02 11:17:20 -04:00
Corey Richardson
39fce48324 middle: pat_util: remove dead code 2014-04-02 11:17:20 -04:00
Corey Richardson
dc59df776a middle: mem_categorization: remove dead code 2014-04-02 11:17:20 -04:00
Corey Richardson
393bc08762 middle: lang_items: allow dead code 2014-04-02 11:17:20 -04:00
Corey Richardson
35c98a8378 middle: kind: remove dead code 2014-04-02 11:17:20 -04:00
Corey Richardson
fb19d680f4 middle: graph: ignore dead code 2014-04-02 11:17:20 -04:00
Corey Richardson
6ed787155d middle: freevars: remove dead code 2014-04-02 11:17:19 -04:00
Corey Richardson
4e5409ba91 middle: dataflow: remove dead code 2014-04-02 11:17:19 -04:00