diff options
-rw-r--r-- | lib/Headers/stdalign.h | 3 | ||||
-rw-r--r-- | test/Headers/cxx11.cpp | 14 |
2 files changed, 17 insertions, 0 deletions
diff --git a/lib/Headers/stdalign.h b/lib/Headers/stdalign.h index 97b18f175b..3738d1284f 100644 --- a/lib/Headers/stdalign.h +++ b/lib/Headers/stdalign.h @@ -24,8 +24,11 @@ #ifndef __STDALIGN_H #define __STDALIGN_H +#ifndef __cplusplus #define alignas _Alignas #define alignof _Alignof +#endif + #define __alignas_is_defined 1 #define __alignof_is_defined 1 diff --git a/test/Headers/cxx11.cpp b/test/Headers/cxx11.cpp new file mode 100644 index 0000000000..995fc6528d --- /dev/null +++ b/test/Headers/cxx11.cpp @@ -0,0 +1,14 @@ +// RUN: %clang -fsyntax-only -std=c++11 %s + +#include <stdalign.h> + +#if defined alignas +#error alignas should not be defined in C++ +#endif + +#if defined alignof +#error alignof should not be defined in C++ +#endif + +static_assert(__alignas_is_defined, ""); +static_assert(__alignof_is_defined, ""); |