summary refs log tree commit diff
path: root/src/test/run-make
AgeCommit message (Collapse)AuthorLines
2015-10-24Auto merge of #29151 - wthrowe:linker-output-ICE, r=alexcrichtonbors-0/+60
I suspect this won't work on Windows, but let's be optimistic and try it before disabling.
2015-10-23Add a regression test for #29122 (fixed in #29134)William Throwe-0/+60
2015-10-21Auto merge of #29171 - nrc:servo-dxr, r=@arielb1bors-1/+1
2015-10-21save-analysis: don't recompute crate nameNick Cameron-1/+1
2015-10-19Clean whitespaceCarlos Liam-1/+1
Remove leading newlines; replace lines containing only whitespace with empty lines; replace multiple trailing newlines with a single newline; remove trailing whitespace in lines
2015-10-16trans: Use an isize to count the number of registers so we don't underflow ↵Luqman Aden-0/+25
for fn's with > 7 args in debug builds.
2015-10-15Update the comments for Win64 ABI in tests.Luqman Aden-54/+38
2015-10-15rust_trans: struct argument over ffi were passed incorrectly in some ↵Luqman Aden-0/+354
situations on x86_64.
2015-10-09Misc fixupsNick Cameron-4/+5
2015-10-09Make save-analysis work for `if let` etc.Nick Cameron-0/+19
2015-10-04Auto merge of #28806 - wthrowe:bare-outfile-fix, r=alexcrichtonbors-1/+3
The reason this was not failing is fascinating. The variable $(rustc) is empty, so the make recipe was expanded as " -o foo foo.rs". make interpreted this as an instruction to run the command "o foo foo.rs" and ignore any failure that occurred, because it uses a leading '-' on a command to signal that behavior.
2015-10-03Fix run-make/bare-outfile testWilliam Throwe-1/+3
The reason this was not failing is fascinating. The variable $(rustc) is empty, so the make recipe was expanded as " -o foo foo.rs". make interpreted this as an instruction to run the command "o foo foo.rs" and ignore any failure that occurred, because it uses a leading '-' on a command to signal that behavior.
2015-10-02Rollup merge of #28805 - wthrowe:compile-stdin, r=alexcrichtonSteve Klabnik-0/+5
2015-10-02Auto merge of #28768 - alexcrichton:dep-info++, r=brsonbors-10/+67
This PR closes out #28716 and #28735 by making two changes to the compiler: 1. The `--emit` flag to the compiler now supports the ability to specify the output file name of a partuclar emit type. For example `--emit dep-info=bar.d,asm=foo.s,link` is now accepted. 2. The dep-info emission now emits a dummy target for all input file names to protect against deleted files.
2015-10-02rustc: Emit phony targets for inputs in dep-infoAlex Crichton-2/+21
This helps protect against files being deleted to ensure that `make` won't emit errors. Closes #28735
2015-10-01Add a test that rustc can compile standard inputWilliam Throwe-0/+5
2015-09-30rustc: Swap link order of native libs/rust depsAlex Crichton-21/+46
This commit swaps the order of linking local native libraries and upstream native libraries on the linker command line. Detail of bugs this can cause can be found in #28595, and this change also invalidates the test case that was added for #12446 which is now considered a bug because the downstream dependency would need to declare that it depends on the native library somehow. Closes #28595
2015-09-30rustc: Support output filenames for each emit typeAlex Crichton-8/+46
Currently the compiler supports the ability to emit multiple output types as part of one compilation (e.g. asm, LLVM IR, bytecode, link, dep-info, etc). It does not, however, support the ability to customize the output filename for each of these output types. The `-o` flag is ignored if multiple emit types are specified (and the compiler emits a warning about this). Normally this doesn't matter too much, but in the case of `dep-info` it can lead to a number of problems (e.g. see #28716). By allowing customization of the output filename for each emit type we're able to solve the problems in that issue. This commit adds support for the `--emit` option to the compiler to look like: rustc foo.rs --emit dep-info=.deps/foo.d,link This indicates that the `dep-info` output type will be placed at `.deps/foo.d` and the `link` output type will otherwise be determined via the `--out-dir` and `-o` flags. Closes #28716
2015-09-27Rollup merge of #28673 - wthrowe:bad-archive, r=alexcrichtonManish Goregaokar-0/+5
2015-09-26Don't ICE if an archive isn't actually an archiveWilliam Throwe-0/+5
2015-09-25Auto merge of #28505 - apasel422:issue-28448, r=alexcrichtonbors-2/+6
Closes #28448. r? @brson
2015-09-22run-make: search libstdc++ in /usr/local/lib tooSébastien Marie-0/+5
extend the search path of libraries to /usr/local/lib in `run-make` testsuite. It should permit to find libstdc++.so on usual directory.
2015-09-19Rollup merge of #28430 - apasel422:issue-14698, r=alexcrichtonSteve Klabnik-0/+15
Emit an error upon failing to create a temp dir instead of panicking Closes #14698.
2015-09-18Always pass `/DEBUG` flag to MSVC linkerAndrew Paseltiner-2/+6
Closes #28448.
2015-09-18Auto merge of #28465 - apasel422:tidy, r=alexcrichtonbors-0/+0
It is likely that these were committed by mistake.
2015-09-17Auto merge of #28421 - alexcrichton:msvc-rmake, r=alexcrichtonbors-74/+138
Work carried over from #27938
2015-09-17Remove empty test filesAndrew Paseltiner-0/+0
It is likely that these were committed by mistake.
2015-09-17rmake: Get all tests passing on MSVCAlex Crichton-74/+138
2015-09-17Changes to testsNick Cameron-1/+1
2015-09-16Emit an error upon failing to create a temp dir instead of panickingAndrew Paseltiner-0/+15
Closes #14698.
2015-09-03Use consistent terminology for byte string literalsVadim Petrochenkov-1/+1
Avoid confusion with binary integer literals and binary operator expressions in libsyntax
2015-09-03Add an intital HIR and lowering stepNick Cameron-7/+10
2015-08-17Fix existing tests for new `#[repr(simd)]`.Huon Wilson-3/+3
2015-08-15test: Fix tests for requiring issuesAlex Crichton-1/+1
2015-08-12Remove all unstable deprecated functionalityAlex Crichton-1/+1
This commit removes all unstable and deprecated functions in the standard library. A release was recently cut (1.3) which makes this a good time for some spring cleaning of the deprecated functions.
2015-08-10Remove morestack supportAlex Crichton-79/+0
This commit removes all morestack support from the compiler which entails: * Segmented stacks are no longer emitted in codegen. * We no longer build or distribute libmorestack.a * The `stack_exhausted` lang item is no longer required The only current use of the segmented stack support in LLVM is to detect stack overflow. This is no longer really required, however, because we already have guard pages for all threads and registered signal handlers watching for a segfault on those pages (to print out a stack overflow message). Additionally, major platforms (aka Windows) already don't use morestack. This means that Rust is by default less likely to catch stack overflows because if a function takes up more than one page of stack space it won't hit the guard page. This is what the purpose of morestack was (to catch this case), but it's better served with stack probes which have more cross platform support and no runtime support necessary. Until LLVM supports this for all platform it looks like morestack isn't really buying us much. cc #16012 (still need stack probes) Closes #26458 (a drive-by fix to help diagnostics on stack overflow)
2015-08-03syntax: Implement #![no_core]Alex Crichton-22/+21
This commit is an implementation of [RFC 1184][rfc] which tweaks the behavior of the `#![no_std]` attribute and adds a new `#![no_core]` attribute. The `#![no_std]` attribute now injects `extern crate core` at the top of the crate as well as the libcore prelude into all modules (in the same manner as the standard library's prelude). The `#![no_core]` attribute disables both std and core injection. [rfc]: https://github.com/rust-lang/rfcs/pull/1184
2015-07-30Implement Win64 eh_personality natively.Vadim Chugunov-2/+3
2015-07-30Rename the unstable option `--xpretty` to `--unpretty`Felix S. Klock II-1/+1
(Inspired by discussion with Gankro.)
2015-07-27test: Fix lto-syntax-extensionAlex Crichton-45/+0
The functionality this was testing was removed somewhere along the line, and this commit restores what it was testing. Closes #20586
2015-07-23Rewrite the improper_ctypes lint.Eli Friedman-2/+5
Makes the lint a bit more accurate, and improves the quality of the diagnostic messages by explicitly returning an error message. The new lint is also a little more aggressive: specifically, it now rejects tuples, and it recurses into function pointers.
2015-07-09Fix a span bug for qualified pathsNick Cameron-0/+15
2015-07-08Auto merge of #26869 - alexcrichton:fix-msvc-sepcomp, r=nrcbors-3/+3
This commit alters the implementation of multiple codegen units slightly to be compatible with the MSVC linker. Currently the implementation will take the N object files created by each codegen unit and will run `ld -r` to create a new object file which is then passed along. The MSVC linker, however, is not able to do this operation. The compiler will now no longer attempt to assemble object files together but will instead just pass through all the object files as usual. This implies that rlibs may not contain more than one object file (if the library is compiled with more than one codegen unit) and the output of `-C save-temps` will have changed slightly as object files with the extension `0.o` will not be renamed to `o` unless requested otherwise.
2015-07-08trans: Link rlibs to dylibs with --whole-archiveAlex Crichton-2/+2
This commit starts passing the `--whole-archive` flag (`-force_load` on OSX) to the linker when linking rlibs into dylibs. The primary purpose of this commit is to ensure that the linker doesn't strip out objects from an archive when creating a dynamic library. Information on how this can go wrong can be found in issues #14344 and #25185. The unfortunate part about passing this flag to the linker is that we have to preprocess the rlib to remove the metadata and compressed bytecode found within. This means that creating a dylib will now take longer to link as we've got to copy around the input rlibs to a temporary location, modify them, and then invoke the linker. This isn't done for executables, however, so the "hello world" compile time is not affected. This fix was instigated because of the previous commit where rlibs may not contain multiple object files instead of one due to codegen units being greater than one. That change prevented the main distribution from being compiled with more than one codegen-unit and this commit fixes that. Closes #14344 Closes #25185
2015-07-08this fixes the test failures on freebsdDave Huseby-0/+6
2015-07-07msvc: Get codegen-units workingAlex Crichton-1/+1
This commit alters the implementation of multiple codegen units slightly to be compatible with the MSVC linker. Currently the implementation will take the N object files created by each codegen unit and will run `ld -r` to create a new object file which is then passed along. The MSVC linker, however, is not able to do this operation. The compiler will now no longer attempt to assemble object files together but will instead just pass through all the object files as usual. This implies that rlibs may not contain more than one object file (if the library is compiled with more than one codegen unit) and the output of `-C save-temps` will have changed slightly as object files with the extension `0.o` will not be renamed to `o` unless requested otherwise.
2015-06-19rustc: enforce stack discipline on ty::ctxt.Eduard Burtescu-13/+14
2015-06-19rustc: remove ownership of tcx from trans' context.Eduard Burtescu-2/+2
2015-06-17Fallout in tests and docs from feature renamingsAlex Crichton-3/+3
2015-06-13Use `assert_eq!` instead of `assert!` in testspetrochenkov-3/+3