On Feb 27, 2012, at 12:02 PM, Richard Smith <[email protected]> wrote:
> On Mon, Feb 27, 2012 at 6:21 AM, Benjamin Kramer <[email protected]> > wrote: > On 26.02.2012, at 23:15, Eli Friedman wrote: > > On Sun, Feb 26, 2012 at 8:55 AM, Benjamin Kramer > > <[email protected]> wrote: > >> Author: d0k > >> Date: Sun Feb 26 10:55:55 2012 > >> New Revision: 151494 > >> > >> URL: http://llvm.org/viewvc/llvm-project?rev=151494&view=rev > >> Log: > >> Bit pack ExtProtoInfo. > >> > >> Modified: > >> cfe/trunk/include/clang/AST/Type.h > >> > >> Modified: cfe/trunk/include/clang/AST/Type.h > >> URL: > >> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Type.h?rev=151494&r1=151493&r2=151494&view=diff > >> ============================================================================== > >> --- cfe/trunk/include/clang/AST/Type.h (original) > >> +++ cfe/trunk/include/clang/AST/Type.h Sun Feb 26 10:55:55 2012 > >> @@ -2699,15 +2699,15 @@ > >> struct ExtProtoInfo { > >> ExtProtoInfo() : > >> Variadic(false), HasTrailingReturn(false), > >> ExceptionSpecType(EST_None), > >> - TypeQuals(0), RefQualifier(RQ_None), NumExceptions(0), > >> Exceptions(0), > >> + RefQualifier(RQ_None), TypeQuals(0), NumExceptions(0), > >> Exceptions(0), > >> NoexceptExpr(0), ConsumedArguments(0) {} > >> > >> FunctionType::ExtInfo ExtInfo; > >> - bool Variadic; > >> - bool HasTrailingReturn; > >> - ExceptionSpecificationType ExceptionSpecType; > >> + bool Variadic : 1; > >> + bool HasTrailingReturn : 1; > >> + ExceptionSpecificationType ExceptionSpecType : 4; > >> + RefQualifierKind RefQualifier : 2; > > > > Are you sure this won't cause issues with MSVC? It handles enums in > > bitfields in a non-standard way… > > The bit fields should be wide enough not to be affected by MSVC's sign > extension weirdness. And the buildbot is still green. > > Chad has observed an MSVC buildbot failure between r151468 and r151514. The > RefQualifier bitfield isn't wide enough to avoid the sign extension issue: > RefQualifierKind has 3 distinct values. (Takumi's MSVC10 buildbot is green, > though, so maybe MSVC10 fixes the signed enum bitfield bug?) > > I've increased that bitfield to 3 bits in r151544. Hopefully that'll fix the > issue. Thanks, Richard! I'll let you know if this resolves the issue once the bot catches up. > - Richard
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
