Fixes #852
gcc/testsuite/ChangeLog:
* rust/compile/issue-852.rs: New test.
Signed-off-by: Philip Herron <herron.philip@googlemail.com>
--- /dev/null
+// { dg-options "-w" }
+extern "C" {
+ fn printf(s: *const i8, ...);
+}
+
+enum Foo {
+ A,
+ B(i32),
+}
+
+fn main() {
+ let result = Foo::B(123);
+
+ match result {
+ A => unsafe {
+ let a = "A\n\0";
+ let b = a as *const str;
+ let c = b as *const i8;
+
+ printf(c);
+ },
+ Foo::B(x) => unsafe {
+ let a = "Result: %i\n\0";
+ let b = a as *const str;
+ let c = b as *const i8;
+
+ printf(c, x);
+ },
+ }
+}