diff mbox

PR bootstrap/53459 - unused local typedef when building on altivec

Message ID 20120528144059.66B403BE18@mailhost.lps.ens.fr
State New
Headers show

Commit Message

Dominique d'Humières May 28, 2012, 2:40 p.m. UTC
I have regstapped r187893 with the following patch

[karma] gcc/darwin_buildw% diff -up ../_gcc_clean/libcpp/lex.c ../work/libcpp/lex.c

without related regression.

> You can simply rename the 'l' array to the error you want to output, so you get an error like:
>
> error: size of array 'the_vector_size_has_to_be_the_size_of_2_or_4_long' is negative

I am not convinced that will help anyone trying to extend the actual
implementation for an altivec platform with N != 2 or 4 (though I
seriously doubt that'll append). May be the comment could be made
more explicit along the line
"Generates "error: size of array 'l' is negative" at compile time
if the vector size is not equal to be the size of 2 or 4 long"
(feel free to convert Frenglish to native English).

Dominique
diff mbox

Patch

--- ../_gcc_clean/libcpp/lex.c	2012-05-25 08:54:05.000000000 +0200
+++ ../work/libcpp/lex.c	2012-05-27 13:25:08.000000000 +0200
@@ -592,7 +592,8 @@  search_line_fast (const uchar *s, const 
 
     union {
       vc v;
-      unsigned long l[N];
+      /* Statically assert that N is 2 or 4.  */
+      unsigned long l[(N == 2 || N == 4) ? N : -1];
     } u;
     unsigned long l, i = 0;