[Bug target/70296] New: Incorrect handling of vector X; if X is function-like macro

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Mar 18 14:21:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70296

            Bug ID: 70296
           Summary: Incorrect handling of vector X; if X is function-like
                    macro
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
  Target Milestone: ---

#define c(x) x
#define f(x)
#define i int
#define k
typedef int vector;
vector int a;
vector b;
vector c(int) d;
vector c(e);
vector c;
vector f(int) int g;
vector f(int) h;
vector i j;
vector k int l;
vector k m;

void
foo ()
{
  vector int *p;
  p = &a;
  p = &d;
  p = &g;
  p = &j;
  p = &l;
  int *q;
  q = &b;
  q = &e;
  q = &c;
  q = &h;
  q = &m;
}

fails to compile on powerpc* with -maltivec -std=gnu11 (or any other options
where altivec and the vector built-in macro handling are not disabled).
The bug is in calling cpp_get_node, even when we aren't sure the function-like
macro has any arguments, so the token gets dropped on the floor.


More information about the Gcc-bugs mailing list