C11: Provide the missing half of <stdalign.h>
authorRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 30 Jan 2013 06:33:54 +0000 (06:33 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 30 Jan 2013 06:33:54 +0000 (06:33 +0000)
llvm-svn: 173900

clang/lib/Headers/stdalign.h
clang/test/Headers/c11.c

index e7fbfa0..97b18f1 100644 (file)
@@ -25,6 +25,8 @@
 #define __STDALIGN_H
 
 #define alignas _Alignas
+#define alignof _Alignof
 #define __alignas_is_defined 1
+#define __alignof_is_defined 1
 
 #endif /* __STDALIGN_H */
index 1a3d4d4..24a1c2a 100644 (file)
@@ -10,3 +10,9 @@ int g();
 noreturn int g();
 int noreturn g();
 int g();
+
+#include <stdalign.h>
+_Static_assert(__alignas_is_defined, "");
+_Static_assert(__alignof_is_defined, "");
+alignas(alignof(int)) char c[4];
+_Static_assert(__alignof(c) == 4, "");