Patch for PR target/16155.
2004-08-02 Ben Elliston <bje@au.ibm.com> PR target/16155 * config/rs6000/altivec.h: Replace typeof with __typeof__. [testsuite] 2004-08-02 Ben Elliston <bje@au.ibm.com> * gcc.dg/pr16155.c: New test. From-SVN: r85418
This commit is contained in:
parent
6a3bc5b1d0
commit
a4e41fdeec
4 changed files with 45 additions and 18 deletions
|
@ -1,3 +1,8 @@
|
|||
2004-08-02 Ben Elliston <bje@au.ibm.com>
|
||||
|
||||
PR target/16155
|
||||
* config/rs6000/altivec.h: Replace typeof with __typeof__.
|
||||
|
||||
2004-08-01 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* expr.c (expand_expr_real_1) <normal_inner_ref>: Fix crash with
|
||||
|
|
|
@ -311,7 +311,7 @@ struct __vec_step_help<vector float>
|
|||
static const int _S_elem = 4;
|
||||
};
|
||||
|
||||
#define vec_step(t) __vec_step_help<typeof(t)>::_S_elem
|
||||
#define vec_step(t) __vec_step_help<__typeof__(t)>::_S_elem
|
||||
|
||||
/* vec_abs */
|
||||
|
||||
|
@ -8313,31 +8313,31 @@ vec_any_out (vector float a1, vector float a2)
|
|||
/* Helper macros. */
|
||||
|
||||
#define __un_args_eq(xtype, x) \
|
||||
__builtin_types_compatible_p (xtype, typeof (x))
|
||||
__builtin_types_compatible_p (xtype, __typeof__ (x))
|
||||
|
||||
#define __bin_args_eq(xtype, x, ytype, y) \
|
||||
(__builtin_types_compatible_p (xtype, typeof (x)) \
|
||||
&& __builtin_types_compatible_p (ytype, typeof (y)))
|
||||
(__builtin_types_compatible_p (xtype, __typeof__ (x)) \
|
||||
&& __builtin_types_compatible_p (ytype, __typeof__ (y)))
|
||||
|
||||
#define __tern_args_eq(xtype, x, ytype, y, ztype, z) \
|
||||
(__builtin_types_compatible_p (xtype, typeof (x)) \
|
||||
&& __builtin_types_compatible_p (ytype, typeof (y)) \
|
||||
&& __builtin_types_compatible_p (ztype, typeof (z)))
|
||||
(__builtin_types_compatible_p (xtype, __typeof__ (x)) \
|
||||
&& __builtin_types_compatible_p (ytype, __typeof__ (y)) \
|
||||
&& __builtin_types_compatible_p (ztype, __typeof__ (z)))
|
||||
|
||||
#define __ch(x, y, z) __builtin_choose_expr (x, y, z)
|
||||
|
||||
#define vec_step(t) \
|
||||
__ch (__builtin_types_compatible_p (typeof (t), vector signed int), 4, \
|
||||
__ch (__builtin_types_compatible_p (typeof (t), vector unsigned int), 4, \
|
||||
__ch (__builtin_types_compatible_p (typeof (t), vector bool int), 4, \
|
||||
__ch (__builtin_types_compatible_p (typeof (t), vector signed short), 8, \
|
||||
__ch (__builtin_types_compatible_p (typeof (t), vector unsigned short), 8, \
|
||||
__ch (__builtin_types_compatible_p (typeof (t), vector bool short), 8, \
|
||||
__ch (__builtin_types_compatible_p (typeof (t), vector pixel), 8, \
|
||||
__ch (__builtin_types_compatible_p (typeof (t), vector signed char), 16, \
|
||||
__ch (__builtin_types_compatible_p (typeof (t), vector unsigned char), 16, \
|
||||
__ch (__builtin_types_compatible_p (typeof (t), vector bool char), 16, \
|
||||
__ch (__builtin_types_compatible_p (typeof (t), vector float), 4, \
|
||||
__ch (__builtin_types_compatible_p (__typeof__ (t), vector signed int), 4, \
|
||||
__ch (__builtin_types_compatible_p (__typeof__ (t), vector unsigned int), 4, \
|
||||
__ch (__builtin_types_compatible_p (__typeof__ (t), vector bool int), 4, \
|
||||
__ch (__builtin_types_compatible_p (__typeof__ (t), vector signed short), 8, \
|
||||
__ch (__builtin_types_compatible_p (__typeof__ (t), vector unsigned short), 8, \
|
||||
__ch (__builtin_types_compatible_p (__typeof__ (t), vector bool short), 8, \
|
||||
__ch (__builtin_types_compatible_p (__typeof__ (t), vector pixel), 8, \
|
||||
__ch (__builtin_types_compatible_p (__typeof__ (t), vector signed char), 16, \
|
||||
__ch (__builtin_types_compatible_p (__typeof__ (t), vector unsigned char), 16, \
|
||||
__ch (__builtin_types_compatible_p (__typeof__ (t), vector bool char), 16, \
|
||||
__ch (__builtin_types_compatible_p (__typeof__ (t), vector float), 4, \
|
||||
__builtin_altivec_compiletime_error ("vec_step"))))))))))))
|
||||
|
||||
#define vec_abs(a) \
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2004-08-02 Ben Elliston <bje@au.ibm.com>
|
||||
|
||||
PR target/16155
|
||||
* gcc.dg/pr16155.c: New test.
|
||||
|
||||
2004-07-31 Joseph S. Myers <jsm@polyomino.org.uk>
|
||||
|
||||
* gcc.dg/redecl-2.c: New test.
|
||||
|
|
17
gcc/testsuite/gcc.dg/pr16155.c
Normal file
17
gcc/testsuite/gcc.dg/pr16155.c
Normal file
|
@ -0,0 +1,17 @@
|
|||
/* { dg-do compile { target powerpc*-*-* } } */
|
||||
/* { dg-options "-maltivec -ansi" } */
|
||||
|
||||
/* PR 16155
|
||||
* Compilation of a simple altivec test program fails if the -ansi flag is
|
||||
* given to gcc, when compiling with -maltivec.
|
||||
*/
|
||||
|
||||
#include <altivec.h>
|
||||
|
||||
void foo(void)
|
||||
{
|
||||
vector unsigned short a, b;
|
||||
a = vec_splat(b, 0);
|
||||
}
|
||||
|
||||
/* { dg-bogus "parse error before \"typeof\"" "-maltivec -mansi" { target powerpc*-*-* } 0 } */
|
Loading…
Add table
Reference in a new issue