Skip to content

Commit 945ac42

Browse files
committed
auto merge of #4977 : z0w0/rust/endianattr, r=catamorphism
```rust #[cfg(target_endian = "little")] fn something() { /* .. */ } #[cfg(target_endian = "big")] fn something() { /* .. */ } ```
2 parents 8d8c25b + 0e83102 commit 945ac42

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/librustc/driver/driver.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,17 +88,20 @@ pub fn default_configuration(sess: Session, +argv0: ~str, input: input) ->
8888

8989
let mk = attr::mk_name_value_item_str;
9090

91-
let (arch,wordsz) = match sess.targ_cfg.arch {
92-
session::arch_x86 => (~"x86",~"32"),
93-
session::arch_x86_64 => (~"x86_64",~"64"),
94-
session::arch_arm => (~"arm",~"32")
91+
// ARM is bi-endian, however using NDK seems to default
92+
// to little-endian unless a flag is provided.
93+
let (end,arch,wordsz) = match sess.targ_cfg.arch {
94+
session::arch_x86 => (~"little",~"x86",~"32"),
95+
session::arch_x86_64 => (~"little",~"x86_64",~"64"),
96+
session::arch_arm => (~"little",~"arm",~"32")
9597
};
9698

9799
return ~[ // Target bindings.
98100
attr::mk_word_item(str::from_slice(os::FAMILY)),
99101
mk(~"target_os", tos),
100102
mk(~"target_family", str::from_slice(os::FAMILY)),
101103
mk(~"target_arch", arch),
104+
mk(~"target_endian", end),
102105
mk(~"target_word_size", wordsz),
103106
mk(~"target_libc", libc),
104107
// Build bindings.

0 commit comments

Comments
 (0)