[TrailingObjects] Dynamically realign under-aligned trailing objects.
[oota-llvm.git] / include / llvm / Support / ThreadLocal.h
index 2957034ec74d5423d477c406f31bb4e51e64bf8b..427a67e2a96d0ead04980385f60f91593a7ba101 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_SYSTEM_THREAD_LOCAL_H
-#define LLVM_SYSTEM_THREAD_LOCAL_H
+#ifndef LLVM_SUPPORT_THREADLOCAL_H
+#define LLVM_SUPPORT_THREADLOCAL_H
 
-#include "llvm/Support/Threading.h"
 #include "llvm/Support/DataTypes.h"
+#include "llvm/Support/Threading.h"
 #include <cassert>
 
 namespace llvm {
@@ -30,15 +30,13 @@ namespace llvm {
       /// to make this class more safe for use along with CrashRecoveryContext.
       union {
         char data[sizeof(ThreadLocalDataTy)];
-        struct {
-          ThreadLocalDataTy align_data;
-        };
+        ThreadLocalDataTy align_data;
       };
     public:
       ThreadLocalImpl();
       virtual ~ThreadLocalImpl();
       void setInstance(const void* d);
-      const void* getInstance();
+      void *getInstance();
       void removeInstance();
     };