Antoine is using 12.1.1 from IPS.  (It's basically 12.1 with a few fixes).
Does the bug also exist in 12.2?
Is there a workaround?
What's the CR number?

--chris


On Friday December 10    10:58AM, Dave Pagan wrote:

Thanks for the test case, Antoine. Based on it, I can tell you that we have already seen this problem and a bug report for it does exist.

--Dave

Antoine Pitrou wrote:
Le jeudi 09 décembre 2010 à 15:23 -0800, Dave Pagan a écrit :
Yes, this appears to be a known problem, but I can't tell for sure
without a reduced test case of some sort. If you can provide a small
example I can verify whether we've seen this before.

Ok, I've got one.

Cut the following into main.c:

=========================================================

#include<stdlib.h>

int compute(unsigned int start, unsigned char *code)
{
     static void *jumps[] = {&&  OP_EVEN,&&  OP_ODD };
     unsigned int i = start;
     while (i>  1) {
         goto *jumps[i&  1];
     OP_EVEN:
         i = i / 2;
         continue;
     OP_ODD:
         i = 3 * i + 1;
         continue;
     }
     return i;
}

int main(int argc, char **argv)
{
     unsigned int n;
     n = compute(0x12345, (unsigned char *) argv[0]);
     /* Do something with it */
     exit(n);
}

=========================================================

Then:

$ cc -xO4 -xipo=2 -xipo_archive=writeback -o main main.c
Undefined                       first referenced
  symbol                             in file
.XB$BAABswhAN0$F.compute..L19       main.o
.XB$BAABswhAN0$F.compute..L20       main.o
ld: fatal: symbol referencing errors. No output written to main

Regards

Antoine.


_______________________________________________
tools-compilers mailing list
[email protected]


_______________________________________________
tools-compilers mailing list
[email protected]

_______________________________________________
tools-compilers mailing list
[email protected]

Reply via email to