[cfe-commits] r151494 - /cfe/trunk/include/clang/AST/Type.h

Eli Friedman eli.friedman at gmail.com
Mon Feb 27 09:03:53 PST 2012


On Mon, Feb 27, 2012 at 6:21 AM, Benjamin Kramer
<benny.kra at googlemail.com> wrote:
>
> On 26.02.2012, at 23:15, Eli Friedman wrote:
>
>> On Sun, Feb 26, 2012 at 8:55 AM, Benjamin Kramer
>> <benny.kra at googlemail.com> 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.
>
> However, we can revert this change if something pops up, the size of this struct isn't critical.

Just double-checking that you realized the potential issue; if you
think it's okay, it probably is.

-Eli




More information about the cfe-commits mailing list