[llvm-commits] CVS: llvm/include/llvm/ADT/SmallVector.h
Chris Lattner
sabre at nondot.org
Sun Oct 8 15:28:48 PDT 2006
Changes in directory llvm/include/llvm/ADT:
SmallVector.h updated: 1.18 -> 1.19
---
Log message:
Fix PR897: http://llvm.org/PR897
---
Diffs of the changes: (+5 -0)
SmallVector.h | 5 +++++
1 files changed, 5 insertions(+)
Index: llvm/include/llvm/ADT/SmallVector.h
diff -u llvm/include/llvm/ADT/SmallVector.h:1.18 llvm/include/llvm/ADT/SmallVector.h:1.19
--- llvm/include/llvm/ADT/SmallVector.h:1.18 Fri Sep 1 01:08:16 2006
+++ llvm/include/llvm/ADT/SmallVector.h Sun Oct 8 17:28:34 2006
@@ -33,12 +33,17 @@
// aligned sufficiently. Instead, we either use GCC extensions, or some
// number of union instances for the space, which guarantee maximal alignment.
protected:
+#ifdef __GNUC__
+ typedef char U;
+ U FirstEl __attribute__((aligned(__alignof__(double))));
+#else
union U {
double D;
long double LD;
long long L;
void *P;
} FirstEl;
+#endif
// Space after 'FirstEl' is clobbered, do not add any instance vars after it.
public:
// Default ctor - Initialize to empty.
More information about the llvm-commits
mailing list