1
+ // Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2
+ // file at the top-level directory of this distribution and at
3
+ // http://rust-lang.org/COPYRIGHT.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6
+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7
+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8
+ // option. This file may not be copied, modified, or distributed
9
+ // except according to those terms.
10
+
11
+ // xfail-win32 Broken because of LLVM bug: http://llvm.org/bugs/show_bug.cgi?id=16249
12
+
13
+ // Caveats - gdb prints any 8-bit value (meaning rust i8 and u8 values)
14
+ // as its numerical value along with its associated ASCII char, there
15
+ // doesn't seem to be any way around this. Also, gdb doesn't know
16
+ // about UTF-32 character encoding and will print a rust char as only
17
+ // its numerical value.
18
+
19
+ // compile-flags:-Z extra-debug-info
20
+ // debugger:break zzz
21
+ // debugger:run
22
+ // debugger:finish
23
+ // debugger:print *bool_ref
24
+ // check:$1 = true
25
+
26
+ // debugger:print *int_ref
27
+ // check:$2 = -1
28
+
29
+ // debugger:print *char_ref
30
+ // check:$3 = 97
31
+
32
+ // debugger:print *i8_ref
33
+ // check:$4 = 68 'D'
34
+
35
+ // debugger:print *i16_ref
36
+ // check:$5 = -16
37
+
38
+ // debugger:print *i32_ref
39
+ // check:$6 = -32
40
+
41
+ // debugger:print *i64_ref
42
+ // check:$7 = -64
43
+
44
+ // debugger:print *uint_ref
45
+ // check:$8 = 1
46
+
47
+ // debugger:print *u8_ref
48
+ // check:$9 = 100 'd'
49
+
50
+ // debugger:print *u16_ref
51
+ // check:$10 = 16
52
+
53
+ // debugger:print *u32_ref
54
+ // check:$11 = 32
55
+
56
+ // debugger:print *u64_ref
57
+ // check:$12 = 64
58
+
59
+ // debugger:print *float_ref
60
+ // check:$13 = 1.5
61
+
62
+ // debugger:print *f32_ref
63
+ // check:$14 = 2.5
64
+
65
+ // debugger:print *f64_ref
66
+ // check:$15 = 3.5
67
+
68
+ fn main ( ) {
69
+ let bool_val: bool = true ;
70
+ let bool_ref : & bool = & bool_val;
71
+
72
+ let int_val: int = -1 ;
73
+ let int_ref : & int = & int_val;
74
+
75
+ let char_val: char = 'a' ;
76
+ let char_ref : & char = & char_val;
77
+
78
+ let i8_val: i8 = 68 ;
79
+ let i8_ref : & i8 = & i8_val;
80
+
81
+ let i16_val: i16 = -16 ;
82
+ let i16_ref : & i16 = & i16_val;
83
+
84
+ let i32_val: i32 = -32 ;
85
+ let i32_ref : & i32 = & i32_val;
86
+
87
+ let uint_val: i64 = -64 ;
88
+ let i64_ref : & i64 = & uint_val;
89
+
90
+ let uint_val: uint = 1 ;
91
+ let uint_ref : & uint = & uint_val;
92
+
93
+ let u8_val: u8 = 100 ;
94
+ let u8_ref : & u8 = & u8_val;
95
+
96
+ let u16_val: u16 = 16 ;
97
+ let u16_ref : & u16 = & u16_val;
98
+
99
+ let u32_val: u32 = 32 ;
100
+ let u32_ref : & u32 = & u32_val;
101
+
102
+ let u64_val: u64 = 64 ;
103
+ let u64_ref : & u64 = & u64_val;
104
+
105
+ let float_val: float = 1.5 ;
106
+ let float_ref : & float = & float_val;
107
+
108
+ let f32_val: f32 = 2.5 ;
109
+ let f32_ref : & f32 = & f32_val;
110
+
111
+ let f64_val: f64 = 3.5 ;
112
+ let f64_ref : & f64 = & f64_val;
113
+ zzz ( ) ;
114
+ }
115
+
116
+ fn zzz ( ) { ( ) }
0 commit comments