Skip to content

Commit 65e9fa9

Browse files
author
Daniel Kroening
committed
gcc/clang treat __attribute__((aligned())) differently
1 parent f7cd161 commit 65e9fa9

File tree

2 files changed

+22
-14
lines changed

2 files changed

+22
-14
lines changed

regression/ansi-c/gcc_attributes5/main.c

+21-13
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,29 @@
33

44
#ifdef __GNUC__
55

6-
char __attribute__((aligned(8))) var1;
7-
__attribute__((aligned(8))) char var2;
8-
char var3 __attribute__((aligned(8)));
9-
int (__attribute__((aligned(8))) var4);
10-
int (__attribute__((aligned(8))) (var5));
11-
int (__attribute__((aligned(8))) *var6);
12-
int __attribute__((aligned(8))) *var7;
6+
char __attribute__((aligned(16))) var1;
7+
__attribute__((aligned(16))) char var2;
8+
char var3 __attribute__((aligned(16)));
9+
int (__attribute__((aligned(16))) var4);
10+
int (__attribute__((aligned(16))) (var5));
11+
int (__attribute__((aligned(16))) *var6);
12+
int __attribute__((aligned(16))) *var7;
13+
__attribute__((aligned(16))) int *var8;
1314

14-
STATIC_ASSERT(__alignof(var1)==8);
15-
STATIC_ASSERT(__alignof(var2)==8);
16-
STATIC_ASSERT(__alignof(var3)==8);
17-
STATIC_ASSERT(__alignof(var4)==8);
18-
STATIC_ASSERT(__alignof(var5)==8);
15+
STATIC_ASSERT(__alignof(var1)==16);
16+
STATIC_ASSERT(__alignof(var2)==16);
17+
STATIC_ASSERT(__alignof(var3)==16);
18+
STATIC_ASSERT(__alignof(var4)==16);
19+
STATIC_ASSERT(__alignof(var5)==16);
20+
#ifdef __clang__
21+
STATIC_ASSERT(__alignof(var6)==16);
22+
STATIC_ASSERT(__alignof(*var6)==__alignof(int));
23+
#else
1924
STATIC_ASSERT(__alignof(var6)==__alignof(void *));
20-
STATIC_ASSERT(__alignof(var7)==8);
25+
STATIC_ASSERT(__alignof(*var6)==16);
26+
#endif
27+
STATIC_ASSERT(__alignof(var7)==16);
28+
STATIC_ASSERT(__alignof(var8)==16);
2129

2230
void (__attribute__((aligned)) *****f1)(void);
2331
void (__attribute__((aligned)) f2)(void);

regression/ansi-c/gcc_attributes5/test.desc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CORE gcc-only
1+
KNOWNBUG gcc-only
22
main.c
33

44
^EXIT=0$

0 commit comments

Comments
 (0)