Hi list,

With the attached file and any gcc:
$ gcc c29329.c && ./a.out
PASSED

With the most recent publicly available opencc:
$ opencc -v
Open64 Compiler Suite: Version 5.0
Built on: 2011-11-09 11:16:36 +0800
Thread model: posix
GNU gcc version 4.2.0 (Open64 5.0 driver)

$ opencc c29329.c && ./a.out
FAILED

- there is no need to turn on any optimization to show the issue
- the test case is very small and I believe is well-defined with regard to standard conformance - it looks like the offset generated for the access through g_2057 is just wrong
- old generation opencc based on gnu3 FR do not exhibit the problem

Is someone aware of this issue ? Has anyone a fix for this ?

Thanks,
-- C
STMicroelectronics
Christophe MONAT - BP47
12 rue Jules Horowitz
FR-38019 Grenoble Cedex
Phone: +33 476584252

#include <stdio.h>

typedef int int32_t;

struct foo {
  int32_t f4;
} g_920[10][8][3];
int32_t *g_2057 = &g_920[8][1][2].f4;

int main(int argc, char *argv[]) {
  *g_2057 = 4;

  if(g_920[8][1][2].f4!=4) {
    puts("FAILED");
    return 1;
  } else {
    puts("PASSED");
    return 0;
  }
}
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to