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

Eli Friedman eli.friedman at gmail.com
Sun Feb 26 14:15:51 PST 2012


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...

-Eli




More information about the cfe-commits mailing list