diff --git a/compiler-rt/lib/ubsan/ubsan_diag.h b/compiler-rt/lib/ubsan/ubsan_diag.h index c836647c98f3c..d37bc309fdd0a 100644 --- a/compiler-rt/lib/ubsan/ubsan_diag.h +++ b/compiler-rt/lib/ubsan/ubsan_diag.h @@ -37,10 +37,11 @@ class Location { private: LocationKind Kind; - // FIXME: In C++11, wrap these in an anonymous union. - SourceLocation SourceLoc; - MemoryLocation MemoryLoc; - const SymbolizedStack *SymbolizedLoc; // Not owned. + union { + SourceLocation SourceLoc; + MemoryLocation MemoryLoc; + const SymbolizedStack *SymbolizedLoc; // Not owned. + }; public: Location() : Kind(LK_Null) {}