Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 22 pull requests #57727

Closed
wants to merge 57 commits into from
Closed
Changes from 2 commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
5eafae2
Remove confusing comment about ideally using `!` for `c_void`
sdroege Dec 7, 2018
8de8880
Update code comments of `c_void` to explain the reasoning for its cur…
sdroege Dec 10, 2018
96678df
Cleanup PartialEq docs.
frewsxcv Jan 5, 2019
0d3dfdf
Fix compile error
frewsxcv Jan 6, 2019
319a2c1
add missing derive to fix compile error
frewsxcv Jan 6, 2019
bbbabdf
Update cmp.rs
frewsxcv Jan 6, 2019
6c60662
Use correct tracking issue for c_variadic
eqrion Jan 4, 2019
423a5bb
add comment explaining what the derive does
frewsxcv Jan 12, 2019
1445a06
bring back the example i removed, also add symmetry and simplify impl
frewsxcv Jan 12, 2019
0394dce
whitespace
frewsxcv Jan 12, 2019
ebdd072
resolve: Add a test for issue #57539
petrochenkov Jan 12, 2019
c663272
Support passing cflags/cxxflags/ldflags to LLVM build
petrhosek Nov 14, 2018
f4ded5b
Add a regression test for mutating a non-mut #[thread_local]
mjbshaw Dec 24, 2018
e5e9867
Pass a default value when unwrapping a span
Jan 15, 2019
096ca87
Remove an unused function argument
oli-obk Jan 15, 2019
93b5536
use structured macro and path resolve suggestions
euclio Jan 15, 2019
ed717f3
Fix sources sidebar not showing up
GuillaumeGomez Jan 15, 2019
6046be4
fix nested matchers with ?
mark-i-m Jan 14, 2019
dabe86d
update/add tests
mark-i-m Jan 15, 2019
feda604
Fixes text becoming invisible when element targetted
GuillaumeGomez Jan 15, 2019
aa1ce32
update test output
mark-i-m Jan 15, 2019
32b2834
demonstrate symmetry
frewsxcv Jan 16, 2019
bd8ee51
Add some links in std::fs.
ehuss Jan 16, 2019
ae4b14e
Use `Lit` rather than `P<Lit>` in `hir::ExprKind`.
nnethercote Jan 16, 2019
dc45528
Remove `hir::Label`.
nnethercote Jan 16, 2019
0772dbb
Fix release manifest generation
Jan 16, 2019
01d0ae9
Prioritize variants as inherent associated items during name resolution
petrochenkov Jan 10, 2019
e4e8885
Document Unpin in std::prelude documentation
KamilaBorowska Jan 16, 2019
22251a8
Enhance `Pin` impl applicability for `PartialEq` and `PartialOrd`.
pthariensflame Jan 17, 2019
1e3f475
Add test for linking non-existent static library
Jan 17, 2019
fefe1da
Fix tidy errors.
pthariensflame Jan 17, 2019
3884cc8
Fix typo bug in DepGraph::try_mark_green().
michaelwoerister Jan 17, 2019
9be4c76
Add signed num::NonZeroI* types
SimonSapin Jan 9, 2019
d34b3e9
privacy: Account for associated existential types
petrochenkov Jan 15, 2019
e3ba6ed
Fix suggestions given mulitple bad lifetimes
dlrobertson Jan 17, 2019
33d64b0
Rollup merge of #56594 - sdroege:c_void-is-not-never, r=TimNN
Centril Jan 18, 2019
2b8d02f
Rollup merge of #57107 - mjbshaw:thread_local_test, r=nikomatsakis
Centril Jan 18, 2019
48a2f37
Rollup merge of #57340 - eqrion:doc/c_variadic, r=Mark-Simulacrum
Centril Jan 18, 2019
c3c5d66
Rollup merge of #57357 - frewsxcv:frewsxcv-partial-eq, r=QuietMisdreavus
Centril Jan 18, 2019
845106f
Rollup merge of #57370 - petrhosek:llvm-flags, r=alexcrichton
Centril Jan 18, 2019
dd545ee
Rollup merge of #57475 - SimonSapin:signed, r=alexcrichton
Centril Jan 18, 2019
b025f26
Rollup merge of #57501 - petrochenkov:highvar, r=alexreg
Centril Jan 18, 2019
6b0d66b
Rollup merge of #57551 - petrochenkov:regrtest, r=nikomatsakis
Centril Jan 18, 2019
53f7e66
Rollup merge of #57610 - mark-i-m:nested-matchers, r=petrochenkov
Centril Jan 18, 2019
e964ca7
Rollup merge of #57634 - oli-obk:remove_unused_argument, r=davidtwco
Centril Jan 18, 2019
f4b8998
Rollup merge of #57635 - euclio:path-separators, r=michaelwoerister
Centril Jan 18, 2019
4d29cca
Rollup merge of #57636 - GuillaumeGomez:fix-sources-sidebar, r=QuietM…
Centril Jan 18, 2019
67386f0
Rollup merge of #57646 - GuillaumeGomez:fix-css, r=QuietMisdreavus
Centril Jan 18, 2019
e8f2aec
Rollup merge of #57649 - petrochenkov:privexist, r=arielb1
Centril Jan 18, 2019
f7f5450
Rollup merge of #57650 - AB1908:master, r=petrochenkov
Centril Jan 18, 2019
7eabbdd
Rollup merge of #57654 - ehuss:fs-links, r=alexcrichton
Centril Jan 18, 2019
00c582e
Rollup merge of #57658 - nnethercote:rm-hir-P-Lit, r=michaelwoerister
Centril Jan 18, 2019
f451b6a
Rollup merge of #57659 - jethrogb:jb/release-manifest, r=alexcrichton
Centril Jan 18, 2019
3135ddb
Rollup merge of #57683 - xfix:patch-15, r=QuietMisdreavus
Centril Jan 18, 2019
06786bb
Rollup merge of #57685 - pthariensflame:enhancement/pin-impl-applicab…
Centril Jan 18, 2019
0340cf4
Rollup merge of #57698 - michaelwoerister:issue57692, r=Zoxc
Centril Jan 18, 2019
ca72ad1
Rollup merge of #57720 - dlrobertson:fix_57521, r=estebank
Centril Jan 18, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions config.toml.example
Original file line number Diff line number Diff line change
@@ -90,6 +90,11 @@
# with clang-cl, so this is special in that it only compiles LLVM with clang-cl
#clang-cl = '/path/to/clang-cl.exe'

# Pass extra compiler and linker flags to the LLVM CMake build.
#cflags = "-fextra-flag"
#cxxflags = "-fextra-flag"
#ldflags = "-Wl,extra-flag"

# Use libc++ when building LLVM instead of libstdc++. This is the default on
# platforms already use libc++ as the default C++ library, but this option
# allows you to use libc++ even on platforms when it's not. You need to ensure
10 changes: 10 additions & 0 deletions src/bootstrap/config.rs
Original file line number Diff line number Diff line change
@@ -82,6 +82,9 @@ pub struct Config {
pub lldb_enabled: bool,
pub llvm_tools_enabled: bool,

pub llvm_cflags: Option<String>,
pub llvm_cxxflags: Option<String>,
pub llvm_ldflags: Option<String>,
pub llvm_use_libcxx: bool,

// rust codegen options
@@ -254,6 +257,9 @@ struct Llvm {
link_shared: Option<bool>,
version_suffix: Option<String>,
clang_cl: Option<String>,
cflags: Option<String>,
cxxflags: Option<String>,
ldflags: Option<String>,
use_libcxx: Option<bool>,
}

@@ -516,6 +522,10 @@ impl Config {
config.llvm_link_jobs = llvm.link_jobs;
config.llvm_version_suffix = llvm.version_suffix.clone();
config.llvm_clang_cl = llvm.clang_cl.clone();

config.llvm_cflags = llvm.cflags.clone();
config.llvm_cxxflags = llvm.cxxflags.clone();
config.llvm_ldflags = llvm.ldflags.clone();
set(&mut config.llvm_use_libcxx, llvm.use_libcxx);
}

4 changes: 4 additions & 0 deletions src/bootstrap/configure.py
Original file line number Diff line number Diff line change
@@ -64,6 +64,10 @@ def v(*args):
o("missing-tools", "dist.missing-tools", "allow failures when building tools")
o("use-libcxx", "llvm.use_libcxx", "build LLVM with libc++")

o("cflags", "llvm.cflags", "build LLVM with these extra compiler flags")
o("cxxflags", "llvm.cxxflags", "build LLVM with these extra compiler flags")
o("ldflags", "llvm.ldflags", "build LLVM with these extra linker flags")

# Optimization and debugging options. These may be overridden by the release
# channel, etc.
o("optimize", "rust.optimize", "build optimized rust code")
15 changes: 14 additions & 1 deletion src/bootstrap/native.rs
Original file line number Diff line number Diff line change
@@ -358,14 +358,21 @@ fn configure_cmake(builder: &Builder,
}

cfg.build_arg("-j").build_arg(builder.jobs().to_string());
cfg.define("CMAKE_C_FLAGS", builder.cflags(target, GitRepo::Llvm).join(" "));
let mut cflags = builder.cflags(target, GitRepo::Llvm).join(" ");
if let Some(ref s) = builder.config.llvm_cxxflags {
cflags.push_str(&format!(" {}", s));
}
cfg.define("CMAKE_C_FLAGS", cflags);
let mut cxxflags = builder.cflags(target, GitRepo::Llvm).join(" ");
if builder.config.llvm_static_stdcpp &&
!target.contains("windows") &&
!target.contains("netbsd")
{
cxxflags.push_str(" -static-libstdc++");
}
if let Some(ref s) = builder.config.llvm_cxxflags {
cxxflags.push_str(&format!(" {}", s));
}
cfg.define("CMAKE_CXX_FLAGS", cxxflags);
if let Some(ar) = builder.ar(target) {
if ar.is_absolute() {
@@ -383,6 +390,12 @@ fn configure_cmake(builder: &Builder,
}
}

if let Some(ref s) = builder.config.llvm_ldflags {
cfg.define("CMAKE_SHARED_LINKER_FLAGS", s);
cfg.define("CMAKE_MODULE_LINKER_FLAGS", s);
cfg.define("CMAKE_EXE_LINKER_FLAGS", s);
}

if env::var_os("SCCACHE_ERROR_LOG").is_some() {
cfg.env("RUST_LOG", "sccache=warn");
}