http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46117
Summary: [4.6 Regression] ICE: SIGSEGV in add_function_candidate (call.c:1630) on invalid typename usage Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: minor Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: zso...@seznam.cz Created attachment 22106 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22106 reduced testcase Compiler output: $ gcc pr46117.C pr46117.C:3:15: error: expected nested-name-specifier before 'int' pr46117.C:3:15: error: two or more data types in declaration of 'parameter' pr46117.C:8:3: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. valgrind output: testcase.C:3:13: error: expected nested-name-specifier before 'int' testcase.C:3:13: error: two or more data types in declaration of 'parameter' ==24080== Invalid read of size 2 ==24080== at 0x4A8823: add_function_candidate (call.c:1630) ==24080== by 0x4A58B3: add_candidates (call.c:4254) ==24080== by 0x4AB8A3: build_new_method_call (call.c:6528) ==24080== by 0x5BBB24: locate_fn_flags (method.c:826) ==24080== by 0x5BEEB5: synthesized_method_walk (method.c:1183) ==24080== by 0x5BF839: implicitly_declare_fn (method.c:1433) ==24080== by 0x5C0ACA: lazily_declare_fn (method.c:1634) ==24080== by 0x5C5354: lookup_fnfields_1 (search.c:1360) ==24080== by 0x5C8653: lookup_field_r (search.c:1032) ==24080== by 0x5C5918: dfs_walk_all (search.c:1542) ==24080== by 0x5C5A97: lookup_member (search.c:1206) ==24080== by 0x5C5CCA: lookup_fnfields (search.c:1288) ==24080== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==24080== testcase.C:8:3: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. Full backtrace is quite long, so I am posting just this reduced one Tested revisions: r165768 - crash r163636 - crash r161659 - OK