- 14 5月, 2014 1 次提交
-
-
由 Luqman Aden 提交于
There's no need to include this specific flag just for android. We can already deal with what it tries to solve by using -C linker=/path/to/cc and -C ar=/path/to/ar. The Makefiles for rustc already set this up when we're crosscompiling. I did add the flag to compiletest though so it can find gdb. Though, I'm pretty sure we don't run debuginfo tests on android anyways right now. [breaking-change]
-
- 12 5月, 2014 1 次提交
-
-
由 Daniel Micay 提交于
This requires pointing it at the valgrind headers we carry in-tree.
-
- 11 5月, 2014 1 次提交
-
-
由 Daniel Micay 提交于
This adds a `std::rt::heap` module with a nice allocator API. It's a step towards fixing #13094 and is a starting point for working on a generic allocator trait. The revision used for the jemalloc submodule is the stable 3.6.0 release. Closes #11807
-
- 08 5月, 2014 1 次提交
-
-
由 Michael Woerister 提交于
-
- 04 5月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
This enables hoedown's footnote extension, and fixes all footnotes in the reference manual to use the new syntax.
-
- 29 4月, 2014 2 次提交
-
-
由 Alex Crichton 提交于
There is currently not much precedent for target crates requiring syntax extensions to compile their test versions. This dependency is possible, but can't be encoded through the normal means of DEPS_regex because it is a test-only dependency and it must be a *host* dependency (it's a syntax extension). Closes #13844
-
由 Alex Crichton 提交于
Compile-fail tests for syntax extensions belong in this suite which has correct dependencies on all artifacts rather than just the target artifacts. Closes #13818
-
- 24 4月, 2014 1 次提交
-
-
由 Douglas Young 提交于
This adds the target triple to the crate metadata. When searching for a crate the phase (link, syntax) is taken into account. During link phase only crates matching the target triple are considered. During syntax phase, either the target or host triple will be accepted, unless the crate defines a macro_registrar, in which case only the host triple will match.
-
- 18 4月, 2014 1 次提交
-
-
由 Richard Diamond 提交于
mk/tests.mk: Fix a typo causing make to give compiletest the wrong rt build dir (target instead of host).
-
- 07 4月, 2014 2 次提交
-
-
由 Brian Anderson 提交于
This should make BSD use the proper GNU make.
-
由 Brian Anderson 提交于
-
- 06 4月, 2014 1 次提交
-
-
由 Felix S. Klock II 提交于
First, documented the existing `CTEST_DISABLE_$(TEST_GROUP)` pattern for conditionally disabling tests based on missing host features. Added variant of above, `CTEST_DISABLE_NONSELFHOST_$(TEST_GROUP)`, which is only queried in contexts where the target is not on the CFG_HOST list (which I interpret as the list of targets that our host can compatibly emulate; e.g. the example that i686 and x86_64 can in theory run each others' tests). Driveby fix: Remove redundant copy of check-stage$(1)-T-$(2)-H-$(3)-$(4)-exec dependency declaration.
-
- 04 4月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
These syntax extensions need a place to be documented, and this starts passing a `--cfg dox` parameter to `rustdoc` when building and testing documentation in order to document macros so that they have no effect on the compiled crate, but only documentation. Closes #5605
-
- 02 4月, 2014 1 次提交
-
-
由 Felix S. Klock II 提交于
1. Fix a long-standing typo in the makefile: the relevant CTEST_NAME here is `rpass-full` (with a dash), not `rpass_full`. 2. The rpass-full tests depend on the complete set of target libraries. Therefore, the rpass-full tests need to use the dependencies held in the CSREQ-prefixed variable, not the TLIBRUSTC_DEFAULT-prefixed variable.
-
- 26 3月, 2014 2 次提交
-
-
由 Brian Anderson 提交于
Much clearer
-
由 Brian Anderson 提交于
Trying to reduce the complexity of installation
-
- 13 3月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
Whenever a failure happens, if a program is run with `RUST_LOG=std::rt::backtrace` a backtrace will be printed to the task's stderr handle. Stack traces are uncondtionally printed on double-failure and rtabort!(). This ended up having a nontrivial implementation, and here's some highlights of it: * We're bundling libbacktrace for everything but OSX and Windows * We use libgcc_s and its libunwind apis to get a backtrace of instruction pointers * On OSX we use dladdr() to go from an instruction pointer to a symbol * On unix that isn't OSX, we use libbacktrace to get symbols * Windows, as usual, has an entirely separate implementation Lots more fun details and comments can be found in the source itself. Closes #10128
-
- 09 3月, 2014 2 次提交
-
-
由 Huon Wilson 提交于
E.g. this stops check-...-doc rules for `rustdoc.md` and `librustdoc` from stamping on each other, so that they are correctly built and tested. (Previously only the rustdoc crate was tested.)
-
由 Huon Wilson 提交于
This converts it to be very similar to crates.mk, with a single list of the documentation items creating all the necessary bits and pieces. Changes include: - rustdoc is used to render HTML & test standalone docs - documentation building now obeys NO_REBUILD=1 - testing standalone docs now obeys NO_REBUILD=1 - L10N is slightly less broken (in particular, it shares dependencies and code with the rest of the code) - PDFs can be built for all documentation items, not just tutorial and manual - removes the obsolete & unused extract-tests.py script - adjust the CSS for standalone docs to use the rustdoc syntax highlighting
-
- 22 2月, 2014 2 次提交
-
-
由 Huon Wilson 提交于
tidy has some limitations (e.g. the "checked in binaries" check doesn't and can't actually check git), and so it's useful to run tests without running tidy occasionally.
-
由 Alex Crichton 提交于
This involves passing through LD_LIBRARY_PATH through more places, specifically in the compiletest, run-make, and doctest runners.
-
- 20 2月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
The new methodology can be found in the re-worded comment, but the gist of it is that -C prefer-dynamic doesn't turn off static linkage. The error messages should also be a little more sane now. Closes #12133
-
- 18 2月, 2014 1 次提交
-
-
由 Derek Guenther 提交于
-
- 16 2月, 2014 1 次提交
-
-
由 Brian Anderson 提交于
Mostly useless
-
- 15 2月, 2014 2 次提交
-
-
由 Brian Anderson 提交于
-
由 Brian Anderson 提交于
-
- 14 2月, 2014 2 次提交
-
-
由 Luqman Aden 提交于
-
由 Huon Wilson 提交于
Previously crates like `green` and `native` would still depend on their parents when running `make check-stage2-green NO_REBUILD=1`, this ensures that they only depend on their source files. Also, apply NO_REBUILD to the crate doc tests, so, for example, `check-stage2-doc-std` will use an already compiled `rustdoc` directly.
-
- 12 2月, 2014 2 次提交
-
-
由 Vadim Chugunov 提交于
-
由 Florian Hahn 提交于
-
- 10 2月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
Move them all behind a new -C switch. This migrates some -Z flags and some top-level flags behind this -C codegen option. The -C flag takes values of the form "-C name=value" where the "=value" is optional for some flags. Flags affected: * --llvm-args => -C llvm-args * --passes => -C passes * --ar => -C ar * --linker => -C linker * --link-args => -C link-args * --target-cpu => -C target-cpu * --target-feature => -C target-fature * --android-cross-path => -C android-cross-path * --save-temps => -C save-temps * --no-rpath => -C no-rpath * -Z no-prepopulate => -C no-prepopulate-passes * -Z no-vectorize-loops => -C no-vectorize-loops * -Z no-vectorize-slp => -C no-vectorize-slp * -Z soft-float => -C soft-float * -Z gen-crate-map => -C gen-crate-map * -Z prefer-dynamic => -C prefer-dynamic * -Z no-integrated-as => -C no-integrated-as As a bonus, this also promotes the -Z extra-debug-info flag to a first class -g or --debuginfo flag. * -Z debug-info => removed * -Z extra-debug-info => -g or --debuginfo Closes #9770 Closes #12000
-
- 09 2月, 2014 1 次提交
-
-
由 Brian Anderson 提交于
-
- 08 2月, 2014 2 次提交
-
-
由 Alex Crichton 提交于
This way when you disable rpaths you can still run `make check`
-
由 Derek Guenther 提交于
-
- 07 2月, 2014 2 次提交
-
-
由 Alex Crichton 提交于
This has been a long time coming. Conditions in rust were initially envisioned as being a good alternative to error code return pattern. The idea is that all errors are fatal-by-default, and you can opt-in to handling the error by registering an error handler. While sounding nice, conditions ended up having some unforseen shortcomings: * Actually handling an error has some very awkward syntax: let mut result = None; let mut answer = None; io::io_error::cond.trap(|e| { result = Some(e) }).inside(|| { answer = Some(some_io_operation()); }); match result { Some(err) => { /* hit an I/O error */ } None => { let answer = answer.unwrap(); /* deal with the result of I/O */ } } This pattern can certainly use functions like io::result, but at its core actually handling conditions is fairly difficult * The "zero value" of a function is often confusing. One of the main ideas behind using conditions was to change the signature of I/O functions. Instead of read_be_u32() returning a result, it returned a u32. Errors were notified via a condition, and if you caught the condition you understood that the "zero value" returned is actually a garbage value. These zero values are often difficult to understand, however. One case of this is the read_bytes() function. The function takes an integer length of the amount of bytes to read, and returns an array of that size. The array may actually be shorter, however, if an error occurred. Another case is fs::stat(). The theoretical "zero value" is a blank stat struct, but it's a little awkward to create and return a zero'd out stat struct on a call to stat(). In general, the return value of functions that can raise error are much more natural when using a Result as opposed to an always-usable zero-value. * Conditions impose a necessary runtime requirement on *all* I/O. In theory I/O is as simple as calling read() and write(), but using conditions imposed the restriction that a rust local task was required if you wanted to catch errors with I/O. While certainly an surmountable difficulty, this was always a bit of a thorn in the side of conditions. * Functions raising conditions are not always clear that they are raising conditions. This suffers a similar problem to exceptions where you don't actually know whether a function raises a condition or not. The documentation likely explains, but if someone retroactively adds a condition to a function there's nothing forcing upstream users to acknowledge a new point of task failure. * Libaries using I/O are not guaranteed to correctly raise on conditions when an error occurs. In developing various I/O libraries, it's much easier to just return `None` from a read rather than raising an error. The silent contract of "don't raise on EOF" was a little difficult to understand and threw a wrench into the answer of the question "when do I raise a condition?" Many of these difficulties can be overcome through documentation, examples, and general practice. In the end, all of these difficulties added together ended up being too overwhelming and improving various aspects didn't end up helping that much. A result-based I/O error handling strategy also has shortcomings, but the cognitive burden is much smaller. The tooling necessary to make this strategy as usable as conditions were is much smaller than the tooling necessary for conditions. Perhaps conditions may manifest themselves as a future entity, but for now we're going to remove them from the standard library. Closes #9795 Closes #8968
-
由 Alex Crichton 提交于
This commit removes the -c, --emit-llvm, -s, --rlib, --dylib, --staticlib, --lib, and --bin flags from rustc, adding the following flags: * --emit=[asm,ir,bc,obj,link] * --crate-type=[dylib,rlib,staticlib,bin,lib] The -o option has also been redefined to be used for *all* flavors of outputs. This means that we no longer ignore it for libraries. The --out-dir remains the same as before. The new logic for files that rustc emits is as follows: 1. Output types are dictated by the --emit flag. The default value is --emit=link, and this option can be passed multiple times and have all options stacked on one another. 2. Crate types are dictated by the --crate-type flag and the #[crate_type] attribute. The flags can be passed many times and stack with the crate attribute. 3. If the -o flag is specified, and only one output type is specified, the output will be emitted at this location. If more than one output type is specified, then the filename of -o is ignored, and all output goes in the directory that -o specifies. The -o option always ignores the --out-dir option. 4. If the --out-dir flag is specified, all output goes in this directory. 5. If -o and --out-dir are both not present, all output goes in the current directory of the process. 6. When multiple output types are specified, the filestem of all output is the same as the name of the CrateId (derived from a crate attribute or from the filestem of the crate file). Closes #7791 Closes #11056 Closes #11667
-
- 05 2月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
Previously, the check-fast and check-lite test suites weren't picking up all target crates, rather just std/extra. In order to ensure that all of our crates work on windows, I've modified these rules to build the test suites for all TARGET_CRATES members. Note that this still excludes rustc/syntax/rustdoc.
-
- 03 2月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
This continues to generate all documentation into doc, but it now looks for source files in src/doc Closes #11860 Closes #11970
-
- 02 2月, 2014 1 次提交
-
-
由 Corey Richardson 提交于
I'm sorry :'( Closes #11859
-
- 29 1月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
This changes android testing to upload *all* target crates rather than just a select subset. This should unblock #11867 which is introducing a libglob dependency in testing.
-