[cfe-commits] r101384 - in /cfe/trunk: include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaDecl.cpp test/Sema/bitfield.c test/SemaObjC/class-bitfield.m

Douglas Gregor dgregor at apple.com
Thu Apr 15 11:57:32 PDT 2010


Much nicer, thanks!

Sent from my iPhone

On Apr 15, 2010, at 11:47 AM, Anders Carlsson <andersca at mac.com> wrote:

> Author: andersca
> Date: Thu Apr 15 13:47:32 2010
> New Revision: 101384
>
> URL: http://llvm.org/viewvc/llvm-project?rev=101384&view=rev
> Log:
> Improve the bit-field too wide error message.
>
> Modified:
>    cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
>    cfe/trunk/lib/Sema/SemaDecl.cpp
>    cfe/trunk/test/Sema/bitfield.c
>    cfe/trunk/test/SemaObjC/class-bitfield.m
>
> Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=101384&r1=101383&r2=101384&view=diff
> ===
> ===
> ===
> =====================================================================
> --- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
> +++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Thu Apr 15  
> 13:47:32 2010
> @@ -1666,9 +1666,9 @@
>   "anonymous bit-field has negative width (%0)">;
> def err_bitfield_has_zero_width : Error<"named bit-field %0 has zero  
> width">;
> def err_bitfield_width_exceeds_type_size : Error<
> -  "size of bit-field %0 exceeds size of its type (%1 bits)">;
> +  "size of bit-field %0 (%1 bits) exceeds size of its type (%2  
> bits)">;
> def err_anon_bitfield_width_exceeds_type_size : Error<
> -  "size of anonymous bit-field exceeds size of its type (%0 bits)">;
> +  "size of anonymous bit-field (%0 bits) exceeds size of its type  
> (%1 bits)">;
> def warn_missing_braces : Warning<
>   "suggest braces around initialization of subobject">,
>   InGroup<DiagGroup<"missing-braces">>, DefaultIgnore;
>
> Modified: cfe/trunk/lib/Sema/SemaDecl.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDecl.cpp?rev=101384&r1=101383&r2=101384&view=diff
> === 
> === 
> === 
> =====================================================================
> --- cfe/trunk/lib/Sema/SemaDecl.cpp (original)
> +++ cfe/trunk/lib/Sema/SemaDecl.cpp Thu Apr 15 13:47:32 2010
> @@ -5373,9 +5373,9 @@
>     if (Value.getZExtValue() > TypeSize) {
>       if (FieldName)
>         return Diag(FieldLoc,  
> diag::err_bitfield_width_exceeds_type_size)
> -          << FieldName << (unsigned)TypeSize;
> +          << FieldName << (unsigned)Value.getZExtValue() <<  
> (unsigned)TypeSize;
>       return Diag(FieldLoc,  
> diag::err_anon_bitfield_width_exceeds_type_size)
> -        << (unsigned)TypeSize;
> +        << (unsigned)Value.getZExtValue() << (unsigned)TypeSize;
>     }
>   }
>
>
> Modified: cfe/trunk/test/Sema/bitfield.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/bitfield.c?rev=101384&r1=101383&r2=101384&view=diff
> === 
> === 
> === 
> =====================================================================
> --- cfe/trunk/test/Sema/bitfield.c (original)
> +++ cfe/trunk/test/Sema/bitfield.c Thu Apr 15 13:47:32 2010
> @@ -5,7 +5,7 @@
>   int a : -1; // expected-error{{bit-field 'a' has negative width}}
>
>   // rdar://6081627
> -  int b : 33; // expected-error{{size of bit-field 'b' exceeds size  
> of its type (32 bits)}}
> +  int b : 33; // expected-error{{size of bit-field 'b' (33 bits)  
> exceeds size of its type (32 bits)}}
>
>   int c : (1 + 0.25); // expected-error{{expression is not an  
> integer constant expression}}
>   int d : (int)(1 + 0.25);
> @@ -21,7 +21,7 @@
>   int g : (_Bool)1;
>
>   // PR4017
> -  char : 10;      // expected-error {{size of anonymous bit-field  
> exceeds size of its type (8 bits)}}
> +  char : 10;      // expected-error {{size of anonymous bit-field  
> (10 bits) exceeds size of its type (8 bits)}}
>   unsigned : -2;  // expected-error {{anonymous bit-field has  
> negative width (-2)}}
>   float : 12;     // expected-error {{anonymous bit-field has non- 
> integral type 'float'}}
> };
>
> Modified: cfe/trunk/test/SemaObjC/class-bitfield.m
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/class-bitfield.m?rev=101384&r1=101383&r2=101384&view=diff
> === 
> === 
> === 
> =====================================================================
> --- cfe/trunk/test/SemaObjC/class-bitfield.m (original)
> +++ cfe/trunk/test/SemaObjC/class-bitfield.m Thu Apr 15 13:47:32 2010
> @@ -5,7 +5,7 @@
>   int a : -1; // expected-error{{bit-field 'a' has negative width}}
>
>   // rdar://6081627
> -  int b : 33; // expected-error{{size of bit-field 'b' exceeds size  
> of its type (32 bits)}}
> +  int b : 33; // expected-error{{size of bit-field 'b' (33 bits)  
> exceeds size of its type (32 bits)}}
>
>   int c : (1 + 0.25); // expected-error{{expression is not an  
> integer constant expression}}
>   int d : (int)(1 + 0.25);
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits



More information about the cfe-commits mailing list