Skip to content

Commit 527297f

Browse files
committed
Use the modern syntax for the attribute. Remove the C++ mangled name options.
1 parent f74c5ea commit 527297f

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

clang/test/CodeGen/cfi-salt.c

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
#error Missing kcfi?
99
#endif
1010

11-
#define __cfi_salt __attribute__((cfi_salt("pepper")))
11+
#define __cfi_salt [[clang::cfi_salt("pepper")]]
1212

1313
typedef int (*fn_t)(void);
14-
typedef int __cfi_salt (*fn_salt_t)(void);
14+
typedef int (* __cfi_salt fn_salt_t)(void);
1515

1616
typedef unsigned int (*ufn_t)(void);
17-
typedef unsigned int __cfi_salt (*ufn_salt_t)(void);
17+
typedef unsigned int (* __cfi_salt ufn_salt_t)(void);
1818

1919
/// Must emit __kcfi_typeid symbols for address-taken function declarations
2020
// CHECK: module asm ".weak __kcfi_typeid_[[F4:[a-zA-Z0-9_]+]]"
@@ -23,7 +23,7 @@ typedef unsigned int __cfi_salt (*ufn_salt_t)(void);
2323
// CHECK: module asm ".set __kcfi_typeid_[[F4_SALT]], [[#%d,ASM_SALTY_HASH:]]"
2424

2525
/// Must not __kcfi_typeid symbols for non-address-taken declarations
26-
// CHECK-NOT: module asm ".weak __kcfi_typeid_{{f6|_Z2f6v}}"
26+
// CHECK-NOT: module asm ".weak __kcfi_typeid_f6"
2727

2828
int f1(void);
2929
int f1_salt(void) __cfi_salt;
@@ -51,29 +51,29 @@ struct cfi_struct {
5151
int f7_salt(struct cfi_struct *ptr);
5252
int f7_typedef_salt(struct cfi_struct *ptr);
5353

54-
// CHECK-LABEL: @{{__call|_Z6__callPFivE}}
54+
// CHECK-LABEL: @__call
5555
// CHECK: call{{.*}} i32
5656
// CHECK-NOT: "kcfi"
5757
// CHECK-SAME: ()
5858
int __call(fn_t f) __attribute__((__no_sanitize__("kcfi"))) {
5959
return f();
6060
}
6161

62-
// CHECK-LABEL: @{{call|_Z4callPFivE}}
62+
// CHECK-LABEL: @call
6363
// CHECK: call{{.*}} i32 %{{.}}(){{.*}} [ "kcfi"(i32 [[#LOW_SODIUM_HASH]]) ]
64-
// CHECK-LABEL: @{{call_salt|_Z9call_saltPFivE}}
64+
// CHECK-LABEL: @call_salt
6565
// CHECK: call{{.*}} i32 %{{.}}(){{.*}} [ "kcfi"(i32 [[#%d,SALTY_HASH:]]) ]
66-
// CHECK-LABEL: @{{call_salt_ty|_Z12call_salt_tyPFivE}}
66+
// CHECK-LABEL: @call_salt_ty
6767
// CHECK: call{{.*}} i32 %{{.}}(){{.*}} [ "kcfi"(i32 [[#SALTY_HASH]]) ]
6868
int call(fn_t f) { return f(); }
6969
int call_salt(fn_t __cfi_salt f) { return f(); }
7070
int call_salt_ty(fn_salt_t f) { return f(); }
7171

72-
// CHECK-LABEL: @{{ucall|_Z5ucallPFjvE}}
72+
// CHECK-LABEL: @ucall
7373
// CHECK: call{{.*}} i32 %{{.}}(){{.*}} [ "kcfi"(i32 [[#%d,LOW_SODIUM_UHASH:]]) ]
74-
// CHECK-LABEL: @{{ucall_salt|_Z10ucall_saltPFjvE}}
74+
// CHECK-LABEL: @ucall_salt
7575
// CHECK: call{{.*}} i32 %{{.}}(){{.*}} [ "kcfi"(i32 [[#%d,SALTY_UHASH:]]) ]
76-
// CHECK-LABEL: @{{ucall_salt_ty|_Z13ucall_salt_tyPFjvE}}
76+
// CHECK-LABEL: @ucall_salt_ty
7777
// CHECK: call{{.*}} i32 %{{.}}(){{.*}} [ "kcfi"(i32 [[#SALTY_UHASH]]) ]
7878
unsigned int ucall(ufn_t f) { return f(); }
7979
unsigned int ucall_salt(ufn_t __cfi_salt f) { return f(); }
@@ -109,23 +109,23 @@ int test1(struct cfi_struct *ptr) {
109109
f7_typedef_salt(ptr);
110110
}
111111

112-
// CHECK-LABEL: define dso_local{{.*}} i32 @{{f1|_Z2f1v}}(){{.*}} !kcfi_type
112+
// CHECK-LABEL: define dso_local{{.*}} i32 @f1(){{.*}} !kcfi_type
113113
// CHECK-SAME: ![[#LOW_SODIUM_TYPE:]]
114-
// CHECK-LABEL: define dso_local{{.*}} i32 @{{f1_salt|_Z7f1_saltv}}(){{.*}} !kcfi_type
114+
// CHECK-LABEL: define dso_local{{.*}} i32 @f1_salt(){{.*}} !kcfi_type
115115
// CHECK-SAME: ![[#SALTY_TYPE:]]
116116
int f1(void) { return 0; }
117117
int f1_salt(void) __cfi_salt { return 0; }
118118

119-
// CHECK-LABEL: define dso_local{{.*}} i32 @{{f2|_Z2f2v}}(){{.*}} !kcfi_type
119+
// CHECK-LABEL: define dso_local{{.*}} i32 @f2(){{.*}} !kcfi_type
120120
// CHECK-SAME: ![[#LOW_SODIUM_UTYPE:]]
121-
// CHECK: define dso_local{{.*}} i32 @{{f2_salt|_Z7f2_saltv}}(){{.*}} !kcfi_type
121+
// CHECK: define dso_local{{.*}} i32 @f2_salt(){{.*}} !kcfi_type
122122
// CHECK-SAME: ![[#SALTY_UTYPE:]]
123123
unsigned int f2(void) { return 2; }
124124
unsigned int f2_salt(void) __cfi_salt { return 2; }
125125

126-
// CHECK-LABEL: define internal{{.*}} i32 @{{f3|_ZL2f3v}}(){{.*}} !kcfi_type
126+
// CHECK-LABEL: define internal{{.*}} i32 @f3(){{.*}} !kcfi_type
127127
// CHECK-SAME: ![[#LOW_SODIUM_TYPE]]
128-
// CHECK-LABEL: define internal{{.*}} i32 @{{f3_salt|_ZL7f3_saltv}}(){{.*}} !kcfi_type
128+
// CHECK-LABEL: define internal{{.*}} i32 @f3_salt(){{.*}} !kcfi_type
129129
// CHECK-SAME: ![[#SALTY_TYPE]]
130130
static int f3(void) { return 1; }
131131
static int f3_salt(void) __cfi_salt { return 1; }
@@ -134,21 +134,21 @@ static int f3_salt(void) __cfi_salt { return 1; }
134134
// CHECK: declare !kcfi_type ![[#SALTY_TYPE]]{{.*}} i32 @[[F4_SALT]]()
135135

136136
/// Must not emit !kcfi_type for non-address-taken local functions
137-
// CHECK-LABEL: define internal{{.*}} i32 @{{f5|_ZL2f5v}}()
137+
// CHECK-LABEL: define internal{{.*}} i32 @f5()
138138
// CHECK-NOT: !kcfi_type
139139
// CHECK-SAME: {
140-
// CHECK-LABEL: define internal{{.*}} i32 @{{f5_salt|_ZL7f5_saltv}}()
140+
// CHECK-LABEL: define internal{{.*}} i32 @f5_salt()
141141
// CHECK-NOT: !kcfi_type
142142
// CHECK-SAME: {
143143
static int f5(void) { return 2; }
144144
static int f5_salt(void) __cfi_salt { return 2; }
145145

146-
// CHECK: declare !kcfi_type ![[#LOW_SODIUM_TYPE]]{{.*}} i32 @{{f6|_Z2f6v}}()
147-
// CHECK: declare !kcfi_type ![[#SALTY_TYPE]]{{.*}} i32 @{{f6_salt|_Z7f6_saltv}}()
146+
// CHECK: declare !kcfi_type ![[#LOW_SODIUM_TYPE]]{{.*}} i32 @f6()
147+
// CHECK: declare !kcfi_type ![[#SALTY_TYPE]]{{.*}} i32 @f6_salt()
148148

149-
// CHECK-LABEL: @{{f7_salt|_Z7f7_saltP10cfi_struct}}
149+
// CHECK-LABEL: @f7_salt
150150
// CHECK: call{{.*}} i32 %{{.*}}() [ "kcfi"(i32 [[#SALTY_HASH]]) ]
151-
// CHECK-LABEL: @{{f7_typedef_salt|_Z15f7_typedef_saltP10cfi_struct}}
151+
// CHECK-LABEL: @f7_typedef_salt
152152
// CHECK: call{{.*}} i32 %{{.*}}() [ "kcfi"(i32 [[#SALTY_HASH]]) ]
153153
int f7_salt(struct cfi_struct *ptr) { return ptr->fptr(); }
154154
int f7_typedef_salt(struct cfi_struct *ptr) { return ptr->td_fptr(); }

0 commit comments

Comments
 (0)