Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
554c3c31
R
Rust
项目概览
int
/
Rust
大约 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
554c3c31
编写于
12月 08, 2013
作者:
V
Vadim Chugunov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Use LLVM integrated assembler on Windows too.
上级
820271df
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
8 addition
and
8 deletion
+8
-8
src/librustc/driver/driver.rs
src/librustc/driver/driver.rs
+2
-8
src/librustc/driver/session.rs
src/librustc/driver/session.rs
+6
-0
未找到文件。
src/librustc/driver/driver.rs
浏览文件 @
554c3c31
...
...
@@ -352,13 +352,7 @@ pub fn phase_5_run_llvm_passes(sess: Session,
trans
:
&
CrateTranslation
,
outputs
:
&
OutputFilenames
)
{
// On Windows, LLVM integrated assembler emits bad stack unwind tables when
// segmented stacks are enabled. However, unwind info directives in assembly
// output are OK, so we generate assembly first and then run it through
// an external assembler.
if
sess
.targ_cfg.os
==
abi
::
OsWin32
&&
(
sess
.opts.output_type
==
link
::
output_type_object
||
sess
.opts.output_type
==
link
::
output_type_exe
)
{
if
sess
.no_integrated_as
()
{
let
output_type
=
link
::
output_type_assembly
;
let
asm_filename
=
outputs
.obj_filename
.with_extension
(
"s"
);
...
...
@@ -371,7 +365,7 @@ pub fn phase_5_run_llvm_passes(sess: Session,
link
::
write
::
run_assembler
(
sess
,
&
asm_filename
,
&
outputs
.obj_filename
);
// Remove assembly source unless --save-temps was specified
// Remove assembly source
,
unless --save-temps was specified
if
!
sess
.opts.save_temps
{
fs
::
unlink
(
&
asm_filename
);
}
...
...
src/librustc/driver/session.rs
浏览文件 @
554c3c31
...
...
@@ -66,6 +66,7 @@ pub struct config {
pub
static
use_softfp
:
uint
=
1
<<
26
;
pub
static
gen_crate_map
:
uint
=
1
<<
27
;
pub
static
prefer_dynamic
:
uint
=
1
<<
28
;
pub
static
no_integrated_as
:
uint
=
1
<<
29
;
pub
fn
debugging_opts_map
()
->
~
[(
&
'static
str
,
&
'static
str
,
uint
)]
{
~
[(
"verbose"
,
"in general, enable more debug printouts"
,
verbose
),
...
...
@@ -117,6 +118,8 @@ pub fn debugging_opts_map() -> ~[(&'static str, &'static str, uint)] {
(
"soft-float"
,
"Generate software floating point library calls"
,
use_softfp
),
(
"gen-crate-map"
,
"Force generation of a toplevel crate map"
,
gen_crate_map
),
(
"prefer-dynamic"
,
"Prefer dynamic linking to static linking"
,
prefer_dynamic
),
(
"no-integrated-as"
,
"Use external assembler rather than LLVM's integrated one"
,
no_integrated_as
),
]
}
...
...
@@ -335,6 +338,9 @@ pub fn gen_crate_map(&self) -> bool {
pub
fn
prefer_dynamic
(
&
self
)
->
bool
{
self
.debugging_opt
(
prefer_dynamic
)
}
pub
fn
no_integrated_as
(
&
self
)
->
bool
{
self
.debugging_opt
(
no_integrated_as
)
}
// pointless function, now...
pub
fn
str_of
(
&
self
,
id
:
ast
::
Ident
)
->
@
str
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录