77//@ [strong] compile-flags: -Z stack-protector=strong
88//@ [basic] compile-flags: -Z stack-protector=basic
99//@ [none] compile-flags: -Z stack-protector=none
10- //@ compile-flags: -C opt-level=2 -Z merge-functions=disabled -Cpanic=abort
10+ //@ compile-flags: -C opt-level=2 -Z merge-functions=disabled -Cpanic=abort -Cdebuginfo=1
1111
1212#![ crate_type = "lib" ]
1313#![ allow( internal_features) ]
@@ -26,7 +26,6 @@ pub fn emptyfn() {
2626// CHECK-LABEL: array_char
2727#[ no_mangle]
2828pub fn array_char ( f : fn ( * const char ) ) {
29- // CHECK-DAG: .cv_fpo_endprologue
3029 let a = [ 'c' ; 1 ] ;
3130 let b = [ 'd' ; 3 ] ;
3231 let c = [ 'e' ; 15 ] ;
@@ -47,7 +46,6 @@ pub fn array_char(f: fn(*const char)) {
4746// CHECK-LABEL: array_u8_1
4847#[ no_mangle]
4948pub fn array_u8_1 ( f : fn ( * const u8 ) ) {
50- // CHECK-DAG: .cv_fpo_endprologue
5149 let a = [ 0u8 ; 1 ] ;
5250 f ( & a as * const _ ) ;
5351
@@ -66,7 +64,6 @@ pub fn array_u8_1(f: fn(*const u8)) {
6664// CHECK-LABEL: array_u8_small:
6765#[ no_mangle]
6866pub fn array_u8_small ( f : fn ( * const u8 ) ) {
69- // CHECK-DAG: .cv_fpo_endprologue
7067 let a = [ 0u8 ; 2 ] ;
7168 let b = [ 0u8 ; 7 ] ;
7269 f ( & a as * const _ ) ;
@@ -86,7 +83,6 @@ pub fn array_u8_small(f: fn(*const u8)) {
8683// CHECK-LABEL: array_u8_large:
8784#[ no_mangle]
8885pub fn array_u8_large ( f : fn ( * const u8 ) ) {
89- // CHECK-DAG: .cv_fpo_endprologue
9086 let a = [ 0u8 ; 9 ] ;
9187 f ( & a as * const _ ) ;
9288
@@ -108,7 +104,6 @@ pub struct ByteSizedNewtype(u8);
108104// CHECK-LABEL: array_bytesizednewtype_9:
109105#[ no_mangle]
110106pub fn array_bytesizednewtype_9 ( f : fn ( * const ByteSizedNewtype ) ) {
111- // CHECK-DAG: .cv_fpo_endprologue
112107 let a = [ ByteSizedNewtype ( 0 ) ; 9 ] ;
113108 f ( & a as * const _ ) ;
114109
@@ -127,7 +122,6 @@ pub fn array_bytesizednewtype_9(f: fn(*const ByteSizedNewtype)) {
127122// CHECK-LABEL: local_var_addr_used_indirectly
128123#[ no_mangle]
129124pub fn local_var_addr_used_indirectly ( f : fn ( bool ) ) {
130- // CHECK-DAG: .cv_fpo_endprologue
131125 let a = 5 ;
132126 let a_addr = & a as * const _ as usize ;
133127 f ( a_addr & 0x10 == 0 ) ;
@@ -157,7 +151,6 @@ pub fn local_var_addr_used_indirectly(f: fn(bool)) {
157151// CHECK-LABEL: local_string_addr_taken
158152#[ no_mangle]
159153pub fn local_string_addr_taken ( f : fn ( & String ) ) {
160- // CHECK-DAG: .cv_fpo_endprologue
161154 let x = String :: new ( ) ;
162155 f ( & x) ;
163156
@@ -186,7 +179,6 @@ impl SelfByRef for i32 {
186179// CHECK-LABEL: local_var_addr_taken_used_locally_only
187180#[ no_mangle]
188181pub fn local_var_addr_taken_used_locally_only ( factory : fn ( ) -> i32 , sink : fn ( i32 ) ) {
189- // CHECK-DAG: .cv_fpo_endprologue
190182 let x = factory ( ) ;
191183 let g = x. f ( ) ;
192184 sink ( g) ;
@@ -216,7 +208,6 @@ pub struct Gigastruct {
216208// CHECK-LABEL: local_large_var_moved
217209#[ no_mangle]
218210pub fn local_large_var_moved ( f : fn ( Gigastruct ) ) {
219- // CHECK-DAG: .cv_fpo_endprologue
220211 let x = Gigastruct { does : 0 , not : 1 , have : 2 , array : 3 , members : 4 } ;
221212 f ( x) ;
222213
@@ -248,7 +239,6 @@ pub fn local_large_var_moved(f: fn(Gigastruct)) {
248239// CHECK-LABEL: local_large_var_cloned
249240#[ no_mangle]
250241pub fn local_large_var_cloned ( f : fn ( Gigastruct ) ) {
251- // CHECK-DAG: .cv_fpo_endprologue
252242 f ( Gigastruct { does : 0 , not : 1 , have : 2 , array : 3 , members : 4 } ) ;
253243
254244 // A new instance of `Gigastruct` is passed to `f()`, without any apparent
@@ -308,7 +298,6 @@ extern "C" {
308298// CHECK-LABEL: alloca_small_compile_time_constant_arg
309299#[ no_mangle]
310300pub fn alloca_small_compile_time_constant_arg ( f : fn ( * mut ( ) ) ) {
311- // CHECK-DAG: .cv_fpo_endprologue
312301 f ( unsafe { alloca ( 8 ) } ) ;
313302
314303 // all: __security_check_cookie
@@ -323,7 +312,6 @@ pub fn alloca_small_compile_time_constant_arg(f: fn(*mut ())) {
323312// CHECK-LABEL: alloca_large_compile_time_constant_arg
324313#[ no_mangle]
325314pub fn alloca_large_compile_time_constant_arg ( f : fn ( * mut ( ) ) ) {
326- // CHECK-DAG: .cv_fpo_endprologue
327315 f ( unsafe { alloca ( 9 ) } ) ;
328316
329317 // all: __security_check_cookie
@@ -338,7 +326,6 @@ pub fn alloca_large_compile_time_constant_arg(f: fn(*mut ())) {
338326// CHECK-LABEL: alloca_dynamic_arg
339327#[ no_mangle]
340328pub fn alloca_dynamic_arg ( f : fn ( * mut ( ) ) , n : usize ) {
341- // CHECK-DAG: .cv_fpo_endprologue
342329 f ( unsafe { alloca ( n) } ) ;
343330
344331 // all: __security_check_cookie
@@ -358,7 +345,6 @@ pub fn alloca_dynamic_arg(f: fn(*mut ()), n: usize) {
358345// CHECK-LABEL: unsized_fn_param
359346#[ no_mangle]
360347pub fn unsized_fn_param ( s : [ u8 ] , l : bool , f : fn ( [ u8 ] ) ) {
361- // CHECK-DAG: .cv_fpo_endprologue
362348 let n = if l { 1 } else { 2 } ;
363349 f ( * Box :: < [ u8 ] > :: from ( & s[ 0 ..n] ) ) ; // slice-copy with Box::from
364350
0 commit comments