Author: aaronballman
Date: Thu Nov 20 15:34:56 2014
New Revision: 222456

URL: http://llvm.org/viewvc/llvm-project?rev=222456&view=rev
Log:
The Syntax enumeration requires at least three bits to store all of its values. 
Increase the number of bits for SyntaxUsed. Decrease the number of expression 
arguments allowed by a single bit so that the bit fields continue to add up to 
32-bits evenly.

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!

Modified:
    cfe/trunk/include/clang/Sema/AttributeList.h

Modified: cfe/trunk/include/clang/Sema/AttributeList.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/AttributeList.h?rev=222456&r1=222455&r2=222456&view=diff
==============================================================================
--- cfe/trunk/include/clang/Sema/AttributeList.h (original)
+++ cfe/trunk/include/clang/Sema/AttributeList.h Thu Nov 20 15:34:56 2014
@@ -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;


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to