Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
7fd62bb2
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,发现更多精彩内容 >>
提交
7fd62bb2
编写于
12月 23, 2011
作者:
S
Stefan Plantikow
提交者:
Marijn Haverbeke
12月 28, 2011
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Made matching machine types equal to float, int, uint (fixes #1376)
上级
b9b9b3e5
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
22 addition
and
1 deletion
+22
-1
src/comp/middle/ty.rs
src/comp/middle/ty.rs
+22
-1
未找到文件。
src/comp/middle/ty.rs
浏览文件 @
7fd62bb2
...
...
@@ -626,6 +626,25 @@ fn mk_named(cx: ctxt, base: t, name: @str) -> t {
}
}
// Returns struact(cx, typ) but replaces all occurences of platform
// dependent primitive types with their machine type equivalent
pure
fn
mach_struct
(
cx
:
ctxt
,
cfg
:
@
session
::
config
,
typ
:
t
)
->
sty
{
alt
interner
::
get
(
*
cx
.ts
,
typ
)
.struct
{
ty_named
(
t
,
_
)
{
mach_struct
(
cx
,
cfg
,
t
)
}
s
{
mach_sty
(
cfg
,
s
)
}
}
}
// Converts s to its machine type equivalent
pure
fn
mach_sty
(
cfg
:
@
session
::
config
,
s
:
sty
)
->
sty
{
alt
s
{
ty_int
(
ast
::
ty_i
.
)
{
ty_int
(
cfg
.int_type
)
}
ty_uint
(
ast
::
ty_u
.
)
{
ty_uint
(
cfg
.uint_type
)
}
ty_float
(
ast
::
ty_f
.
)
{
ty_float
(
cfg
.float_type
)
}
s
{
s
}
}
}
pure
fn
ty_name
(
cx
:
ctxt
,
typ
:
t
)
->
option
::
t
<@
str
>
{
alt
interner
::
get
(
*
cx
.ts
,
typ
)
.struct
{
ty_named
(
_
,
n
)
{
some
(
n
)
}
...
...
@@ -1752,7 +1771,9 @@ fn record_var_binding(
// Simple structural type comparison.
fn
struct_cmp
(
cx
:
@
ctxt
,
expected
:
t
,
actual
:
t
)
->
result
{
if
struct
(
cx
.tcx
,
expected
)
==
struct
(
cx
.tcx
,
actual
)
{
let
tcx
=
cx
.tcx
;
let
cfg
=
tcx
.sess
.get_targ_cfg
();
if
mach_struct
(
tcx
,
cfg
,
expected
)
==
mach_struct
(
tcx
,
cfg
,
actual
)
{
ret
ures_ok
(
expected
);
}
ret
ures_err
(
terr_mismatch
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录