From b6fb381dba3f28c83b9d696a973f8c1d2c7ce996 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Tue, 9 Oct 2012 23:55:18 +0000 Subject: [PATCH] -fcatch-undefined-behavior: store the type name directly at the end of a type descriptor. 5% binary size reduction due to fewer relocations. llvm-svn: 165571 --- compiler-rt/lib/ubsan/ubsan_value.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/compiler-rt/lib/ubsan/ubsan_value.h b/compiler-rt/lib/ubsan/ubsan_value.h index d3e62853aecb..0c41afafba9f 100644 --- a/compiler-rt/lib/ubsan/ubsan_value.h +++ b/compiler-rt/lib/ubsan/ubsan_value.h @@ -65,9 +65,6 @@ public: /// \brief A description of a type. class TypeDescriptor { - /// The name of the type, in a format suitable for including in diagnostics. - const char *TypeName; - /// A value from the \c Kind enumeration, specifying what flavor of type we /// have. u16 TypeKind; @@ -76,6 +73,10 @@ class TypeDescriptor { /// interpret the meaning of a ValueHandle of this type. u16 TypeInfo; + /// The name of the type follows, in a format suitable for including in + /// diagnostics. + char TypeName[1]; + public: enum Kind { /// An integer type. Lowest bit is 1 for a signed value, 0 for an unsigned