The Syntax enumeration requires at least three bits to store all of its values. Incre...
authorAaron Ballman <aaron@aaronballman.com>
Thu, 20 Nov 2014 21:34:56 +0000 (21:34 +0000)
committerAaron Ballman <aaron@aaronballman.com>
Thu, 20 Nov 2014 21:34:56 +0000 (21:34 +0000)
There is no test for this fix because I could find no reasonable way to trigger a visible failure from it.

Thanks to Doug Gregor for spotting this!

llvm-svn: 222456

clang/include/clang/Sema/AttributeList.h

index 39e7ccd..c8e8625 100644 (file)
@@ -94,10 +94,10 @@ private:
 
   /// The number of expression arguments this attribute has.
   /// The expressions themselves are stored after the object.
-  unsigned NumArgs : 16;
+  unsigned NumArgs : 15;
 
   /// Corresponds to the Syntax enum.
-  unsigned SyntaxUsed : 2;
+  unsigned SyntaxUsed : 3;
 
   /// True if already diagnosed as invalid.
   mutable unsigned Invalid : 1;