summaryrefslogtreecommitdiffstats
path: root/include/llvm/ADT/SmallVector.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/ADT/SmallVector.h')
-rw-r--r--include/llvm/ADT/SmallVector.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/include/llvm/ADT/SmallVector.h b/include/llvm/ADT/SmallVector.h
index 89acefd..c2afb7e 100644
--- a/include/llvm/ADT/SmallVector.h
+++ b/include/llvm/ADT/SmallVector.h
@@ -57,17 +57,18 @@ protected:
// something else. An array of char would work great, but might not be
// aligned sufficiently. Instead, we either use GCC extensions, or some
// number of union instances for the space, which guarantee maximal alignment.
+ struct U {
#ifdef __GNUC__
- typedef char U;
- U FirstEl __attribute__((aligned));
+ char X __attribute__((aligned));
#else
- union U {
- double D;
- long double LD;
- long long L;
- void *P;
- } FirstEl;
+ union {
+ double D;
+ long double LD;
+ long long L;
+ void *P;
+ } X;
#endif
+ } FirstEl;
// Space after 'FirstEl' is clobbered, do not add any instance vars after it.
protected:
OpenPOWER on IntegriCloud