This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/60895] New: error: address taken, but ADDRESSABLE bit not set


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60895

            Bug ID: 60895
           Summary: error: address taken, but ADDRESSABLE bit not set
           Product: gcc
           Version: 4.10.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: glisse at gcc dot gnu.org

Compiling with g++ grr.ii -c -O

struct C {
  double elems[3];
};
C fn1() {
  double *f;
  C a;
  f = a.elems;
  for (int b; b;) {
    *f = 0;
    ++f;
  }
  return a;
}

struct J {
  C c;
  J() : c(fn1()) {}
};
void fn2() { J(); }


grr.ii: In function 'void fn2()':
grr.ii:19:6: error: address taken, but ADDRESSABLE bit not set
 void fn2() { J(); }
      ^
PHI argument
&D.2276.c.elems;
for PHI node
f_4 = PHI <&D.2276.c.elems(2), f_5(3)>
grr.ii:19:6: internal compiler error: verify_ssa failed
0xf92ebf verify_ssa(bool)
    /data/repos/gcc/trunk/gcc/tree-ssa.c:1096
0xc97869 execute_function_todo
    /data/repos/gcc/trunk/gcc/passes.c:1784
0xc96b38 do_per_function
    /data/repos/gcc/trunk/gcc/passes.c:1504
0xc97983 execute_todo
    /data/repos/gcc/trunk/gcc/passes.c:1817
0xc97eb1 execute_one_ipa_transform_pass
    /data/repos/gcc/trunk/gcc/passes.c:2006
0xc97fb0 execute_all_ipa_transforms()
    /data/repos/gcc/trunk/gcc/passes.c:2037
0x96eae1 expand_function
    /data/repos/gcc/trunk/gcc/cgraphunit.c:1767
0x96f0fe expand_all_functions
    /data/repos/gcc/trunk/gcc/cgraphunit.c:1908
0x96faca compile()
    /data/repos/gcc/trunk/gcc/cgraphunit.c:2252
0x96fc43 finalize_compilation_unit()
    /data/repos/gcc/trunk/gcc/cgraphunit.c:2329
0x6f2294 cp_write_global_declarations()
    /data/repos/gcc/trunk/gcc/cp/decl2.c:4619

This compiles with gcc-4.8. It is reduced from a real program that does not
have uninitialized variables.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]