https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80606
Bug ID: 80606 Summary: avx-vtestpd-1.c contains outdated line number Product: gcc Version: unknown Status: UNCONFIRMED Severity: trivial Priority: P3 Component: testsuite Assignee: unassigned at gcc dot gnu.org Reporter: vries at gcc dot gnu.org Target Milestone: --- gcc/testsuite/gcc.target/i386/avx-vtestpd-1.c contains a reference to a line number 164: ... /* { dg-do run } */ /* { dg-require-effective-target avx } */ /* { dg-options "-O2 -mavx -DNEED_IEEE754_DOUBLE" } */ /* { dg-warning "attribute ignored" "" { target default_packed } 164 } */ /* { dg-message " from " "include chain" { target default_packed } 0 } */ #include "avx-check.h" ... From the patch posting here ( https://gcc.gnu.org/ml/gcc-patches/2009-07/msg01303.html ) I understand that the line number is related to two ieee754 unions with packed attribute in m128-check.h. Looking at m128-check.h we see that neither of the unions is at line 164: ... 161 } \ 162 return err; \ 163 } 164 165 CHECK_FP_ARRAY (d, double, ESP_DOUBLE, "%f") 166 CHECK_FP_ARRAY (f, float, ESP_FLOAT, "%f") 167 168 #ifdef NEED_IEEE754_FLOAT 169 union ieee754_float 170 { 171 float d; 172 struct 173 { 174 unsigned long frac : 23; 175 unsigned exp : 8; 176 unsigned sign : 1; 177 } bits __attribute__((packed)); 178 }; 179 #endif 180 181 #ifdef NEED_IEEE754_DOUBLE 182 union ieee754_double 183 { 184 double d; 185 struct 186 { 187 unsigned long frac1 : 32; 188 unsigned long frac0 : 20; 189 unsigned exp : 11; 190 unsigned sign : 1; 191 } bits __attribute__((packed)); 192 }; 193 #endif ... I suspect that since netware support was removed in 2011, the default_packed-guarded directives have not been run, which allowed the line numbers of the unions to change silently. Perhaps we should revert the patch.