public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/61558] New: ice in insert_to_assembler_name_hash
@ 2014-06-19  7:41 dcb314 at hotmail dot com
  2014-06-19  8:03 ` [Bug c++/61558] [4.10 Regression] ICE: Segmentation fault trippels at gcc dot gnu.org
                   ` (18 more replies)
  0 siblings, 19 replies; 20+ messages in thread
From: dcb314 at hotmail dot com @ 2014-06-19  7:41 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 61558
           Summary: ice in insert_to_assembler_name_hash
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com

Created attachment 32971
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=32971&action=edit
gzipped C++ source code

The attached source code, when compiled by trunk dated 20140618,
does this 

../results/bin/gcc -c bug150.cc
Swift/Controllers/FileTransfer/FileTransferController.cpp:149:1: internal
compiler error: Segmentation fault
0xa9697f crash_signal
    ../../src/trunk/gcc/toplev.c:337
0x7453b0 insert_to_assembler_name_hash
    ../../src/trunk/gcc/symtab.c:187
0x745f8b insert_to_assembler_name_hash
    ../../src/trunk/gcc/symtab.c:181
0x745f8b symtab_initialize_asm_name_hash()
    ../../src/trunk/gcc/symtab.c:366
0x745f8b symtab_node_for_asm(tree_node const*)
    ../../src/trunk/gcc/symtab.c:379
0x753320 handle_alias_pairs
    ../../src/trunk/gcc/cgraphunit.c:1152
0x756a5c finalize_compilation_unit()
    ../../src/trunk/gcc/cgraphunit.c:2320
0x5b720b cp_write_global_declarations()
    ../../src/trunk/gcc/cp/decl2.c:4647
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

Compiler source code is

      tree name = DECL_ASSEMBLER_NAME (node->decl);

My guess is that node->decl is NULL.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug c++/61558] [4.10 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
@ 2014-06-19  8:03 ` trippels at gcc dot gnu.org
  2014-06-19  8:52 ` [Bug middle-end/61558] " trippels at gcc dot gnu.org
                   ` (17 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-06-19  8:03 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-06-19
                 CC|                            |trippels at gcc dot gnu.org
            Version|4.9.0                       |4.10.0
   Target Milestone|---                         |4.10.0
            Summary|ice in                      |[4.10 Regression] ICE:
                   |insert_to_assembler_name_ha |Segmentation fault
                   |sh                          |
     Ever confirmed|0                           |1

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
markus@x4 tmp % cat bug2.ii
static __typeof 0 a __attribute__ ((__weakref__ ("")));
template <typename> class A
{
  static __thread int b;
};


Program received signal SIGSEGV, Segmentation fault.
[Switching to process 20878]
decl_assembler_name_hash (asmname=0x0) at ../../gcc/gcc/symtab.c:80
80        if (IDENTIFIER_POINTER (asmname)[0] == '*')
(gdb) bt
#0  decl_assembler_name_hash (asmname=0x0) at ../../gcc/gcc/symtab.c:80
#1  0x000000000083ca10 in insert_to_assembler_name_hash (node=0x7ffff73da078,
with_clones=<optimized out>) at ../../gcc/gcc/symtab.c:191
#2  0x000000000083cb62 in symtab_initialize_asm_name_hash () at
../../gcc/gcc/symtab.c:366
#3  0x000000000083ccbd in symtab_initialize_asm_name_hash () at
../../gcc/gcc/symtab.c:390
#4  symtab_node_for_asm (asmname=0x7ffff73d4420) at ../../gcc/gcc/symtab.c:379
#5  0x0000000000848e91 in handle_alias_pairs () at
../../gcc/gcc/cgraphunit.c:1152
#6  0x000000000084d8bd in finalize_compilation_unit () at
../../gcc/gcc/cgraphunit.c:2320
#7  0x000000000063b2af in cp_write_global_declarations () at
../../gcc/gcc/cp/decl2.c:4647
#8  0x0000000000b85c2d in compile_file () at ../../gcc/gcc/toplev.c:562
#9  0x0000000000b87c75 in do_compile () at ../../gcc/gcc/toplev.c:1918
#10 toplev_main (argc=12, argv=0x7fffffffdee8) at ../../gcc/gcc/toplev.c:1994
#11 0x00007ffff75fbfb0 in __libc_start_main () from /lib/libc.so.6
#12 0x000000000054b841 in _start ()
(gdb) p asmname 
$1 = (const_tree) 0x0


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [4.10 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
  2014-06-19  8:03 ` [Bug c++/61558] [4.10 Regression] ICE: Segmentation fault trippels at gcc dot gnu.org
@ 2014-06-19  8:52 ` trippels at gcc dot gnu.org
  2014-06-25 10:47 ` trippels at gcc dot gnu.org
                   ` (16 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-06-19  8:52 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at ucw dot cz

--- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Started with r211689.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [4.10 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
  2014-06-19  8:03 ` [Bug c++/61558] [4.10 Regression] ICE: Segmentation fault trippels at gcc dot gnu.org
  2014-06-19  8:52 ` [Bug middle-end/61558] " trippels at gcc dot gnu.org
@ 2014-06-25 10:47 ` trippels at gcc dot gnu.org
  2014-07-12  5:18 ` trippels at gcc dot gnu.org
                   ` (15 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-06-25 10:47 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |larsbj at gullik dot net

--- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
*** Bug 61603 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [4.10 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
                   ` (2 preceding siblings ...)
  2014-06-25 10:47 ` trippels at gcc dot gnu.org
@ 2014-07-12  5:18 ` trippels at gcc dot gnu.org
  2014-08-26 12:28 ` [Bug middle-end/61558] [5 " trippels at gcc dot gnu.org
                   ` (14 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-07-12  5:18 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
           Priority|P3                          |P1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [5 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
                   ` (3 preceding siblings ...)
  2014-07-12  5:18 ` trippels at gcc dot gnu.org
@ 2014-08-26 12:28 ` trippels at gcc dot gnu.org
  2014-08-29  9:05 ` trippels at gcc dot gnu.org
                   ` (13 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-08-26 12:28 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |DUPLICATE
      Known to fail|4.10.0                      |5.0

--- Comment #4 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
dup

*** This bug has been marked as a duplicate of bug 58624 ***


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [5 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
                   ` (4 preceding siblings ...)
  2014-08-26 12:28 ` [Bug middle-end/61558] [5 " trippels at gcc dot gnu.org
@ 2014-08-29  9:05 ` trippels at gcc dot gnu.org
  2014-09-08  0:44 ` hubicka at gcc dot gnu.org
                   ` (12 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-08-29  9:05 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lucdanton at free dot fr

--- Comment #6 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
*** Bug 62299 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [5 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
                   ` (5 preceding siblings ...)
  2014-08-29  9:05 ` trippels at gcc dot gnu.org
@ 2014-09-08  0:44 ` hubicka at gcc dot gnu.org
  2014-09-09 13:26 ` kikairoya at gmail dot com
                   ` (11 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: hubicka at gcc dot gnu.org @ 2014-09-08  0:44 UTC (permalink / raw)
  To: gcc-bugs

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

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |hubicka at gcc dot gnu.org

--- Comment #7 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Mine.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [5 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
                   ` (6 preceding siblings ...)
  2014-09-08  0:44 ` hubicka at gcc dot gnu.org
@ 2014-09-09 13:26 ` kikairoya at gmail dot com
  2014-10-01 14:46 ` trippels at gcc dot gnu.org
                   ` (10 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: kikairoya at gmail dot com @ 2014-09-09 13:26 UTC (permalink / raw)
  To: gcc-bugs

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

Tomohiro Kashiwada <kikairoya at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kikairoya at gmail dot com

--- Comment #8 from Tomohiro Kashiwada <kikairoya at gmail dot com> ---
*** Bug 63214 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [5 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
                   ` (7 preceding siblings ...)
  2014-09-09 13:26 ` kikairoya at gmail dot com
@ 2014-10-01 14:46 ` trippels at gcc dot gnu.org
  2014-10-01 14:47 ` trippels at gcc dot gnu.org
                   ` (9 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-10-01 14:46 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ai.azuma at gmail dot com

--- Comment #9 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
*** Bug 63430 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [5 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
                   ` (8 preceding siblings ...)
  2014-10-01 14:46 ` trippels at gcc dot gnu.org
@ 2014-10-01 14:47 ` trippels at gcc dot gnu.org
  2014-10-13  9:31 ` hubicka at gcc dot gnu.org
                   ` (8 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-10-01 14:47 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Honza?


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [5 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
                   ` (9 preceding siblings ...)
  2014-10-01 14:47 ` trippels at gcc dot gnu.org
@ 2014-10-13  9:31 ` hubicka at gcc dot gnu.org
  2014-10-13 11:58 ` hubicka at gcc dot gnu.org
                   ` (7 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: hubicka at gcc dot gnu.org @ 2014-10-13  9:31 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
It seems that C++ FE do not produce any assembler name for b (because it is not
instantiated?).
(gdb) p debug_tree (node->decl)
 <var_decl 0x7ffff6ae4bd0 b
    type <integer_type 0x7ffff6adb690 int public type_6 SI
        size <integer_cst 0x7ffff6af9048 constant 32>
        unit size <integer_cst 0x7ffff6af9060 constant 4>
        align 32 symtab 0 alias set -1 canonical type 0x7ffff6adb690 precision
32 min <integer_cst 0x7ffff6af9000 -2147483648> max <integer_cst 0x7ffff6af9018
2147483647>
        pointer_to_this <pointer_type 0x7ffff6afd738>>
    public private static tree_0 external tls-local-dynamic decl_3 decl_6 SI
file bug.cc line 4 col 23 size <integer_cst 0x7ffff6af9048 32> unit size
<integer_cst 0x7ffff6af9060 4>
    align 32 context <record_type 0x7ffff6c472a0 A>
    template-info 0x7ffff6c443a0 chain <type_decl 0x7ffff6c354c0 A>>


In such case b should never land the symbol table.

I am looking into why the node is created.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [5 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
                   ` (10 preceding siblings ...)
  2014-10-13  9:31 ` hubicka at gcc dot gnu.org
@ 2014-10-13 11:58 ` hubicka at gcc dot gnu.org
  2014-10-14 13:33 ` jason at gcc dot gnu.org
                   ` (6 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: hubicka at gcc dot gnu.org @ 2014-10-13 11:58 UTC (permalink / raw)
  To: gcc-bugs

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

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at redhat dot com

--- Comment #12 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Jason,
the problem here is that grokdeclaratol call set_decl_tls_model on variable
that is uninstantiated template.
#0  varpool_node::create_empty () at ../../gcc/varpool.c:140
#1  0x00000000011c78d7 in varpool_node::get_create (decl=0x7ffff6ae4bd0) at
../../gcc/varpool.c:154
#2  0x000000000114d09d in set_decl_tls_model (node=0x7ffff6ae4bd0,
model=TLS_MODEL_INITIAL_EXEC) at ../../gcc/tree.c:678
#3  0x00000000006abe02 in grokdeclarator (declarator=0x20fe5b0,
declspecs=0x7fffffffe400, decl_context=FIELD, initialized=0,
attrlist=0x7fffffffe370) at ../../gcc/cp/decl.c:10771
#4  0x000000000077d728 in grokfield (declarator=0x20fe5b0,
declspecs=0x7fffffffe400, init=0x0, init_const_expr_p=true, asmspec_tree=0x0,
attrlist=0x0) at ../../gcc/cp/decl2.c:864
#5  0x00000000007c895d in cp_parser_member_declaration (parser=0x7ffff6c46000)
at ../../gcc/cp/parser.c:20881
#6  0x00000000007c7d2f in cp_parser_member_specification_opt
(parser=0x7ffff6c46000) at ../../gcc/cp/parser.c:20431
#7  0x00000000007c5b18 in cp_parser_class_specifier_1 (parser=0x7ffff6c46000)
at ../../gcc/cp/parser.c:19623
#8  0x00000000007c67cb in cp_parser_class_specifier (parser=0x7ffff6c46000) at
../../gcc/cp/parser.c:19859
#9  0x00000000007bc5ba in cp_parser_type_specifier (parser=0x7ffff6c46000,
flags=1, decl_specs=0x7fffffffe7d0, is_declaration=true,
declares_class_or_enum=0x7fffffffe754, 
    is_cv_qualifier=0x7fffffffe753) at ../../gcc/cp/parser.c:14532
#10 0x00000000007b83b9 in cp_parser_decl_specifier_seq (parser=0x7ffff6c46000,
flags=1, decl_specs=0x7fffffffe7d0, declares_class_or_enum=0x7fffffffe85c) at
../../gcc/cp/parser.c:11774
#11 0x00000000007cd17a in cp_parser_single_declaration (parser=0x7ffff6c46000,
checks=0x0, member_p=false, explicit_specialization_p=false,
friend_p=0x7fffffffe89f)
    at ../../gcc/cp/parser.c:23510
#12 0x00000000007cc91a in cp_parser_template_declaration_after_export
(parser=0x7ffff6c46000, member_p=false) at ../../gcc/cp/parser.c:23379
#13 0x00000000007ba20a in cp_parser_template_declaration
(parser=0x7ffff6c46000, member_p=false) at ../../gcc/cp/parser.c:13069
#14 0x00000000007b7643 in cp_parser_declaration (parser=0x7ffff6c46000) at
../../gcc/cp/parser.c:11166
#15 0x00000000007b738c in cp_parser_declaration_seq_opt (parser=0x7ffff6c46000)
at ../../gcc/cp/parser.c:11096
#16 0x00000000007aaf90 in cp_parser_translation_unit (parser=0x7ffff6c46000) at
../../gcc/cp/parser.c:4059

this triggers creation of symbol node for it that is not correct, because
uninstatiated var decls do not correspond to any variables.
I guess similar case may be triggered by section attribute. I wonder if there
is resonably easy way to avoid setting these properties on DECLs that are not
real variables/functions.

Other alternative would be to arrange symtab_node::real_symbol_p
to return false on those and make them to bypass assembler name hash. Is there
a way to recognize them from a middle-end?

Honza


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [5 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
                   ` (11 preceding siblings ...)
  2014-10-13 11:58 ` hubicka at gcc dot gnu.org
@ 2014-10-14 13:33 ` jason at gcc dot gnu.org
  2014-11-19 12:44 ` dcb314 at hotmail dot com
                   ` (5 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: jason at gcc dot gnu.org @ 2014-10-14 13:33 UTC (permalink / raw)
  To: gcc-bugs

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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org

--- Comment #13 from Jason Merrill <jason at gcc dot gnu.org> ---
(In reply to Jan Hubicka from comment #12)
> the problem here is that grokdeclarator call set_decl_tls_model on variable
> that is uninstantiated template.
> this triggers creation of symbol node for it that is not correct, because
> uninstantiated var decls do not correspond to any variables.

Right.  And this wasn't a problem when the TLS model was stored in the DECL.

> I guess similar case may be triggered by section attribute.

I would think so; it's just less common.

> I wonder if there is reasonably easy way to avoid setting these properties on
> DECLs that are not real variables/functions.

I suppose the front end could use a different encoding for these properties in
templates than in non-templates.  Annoying, but probably not that hard.

> Other alternative would be to arrange symtab_node::real_symbol_p
> to return false on those and make them to bypass assembler name hash. Is
> there a way to recognize them from a middle-end?

Not currently, I think; perhaps it would make sense to set DECL_ABSTRACT_P on
them.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [5 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
                   ` (12 preceding siblings ...)
  2014-10-14 13:33 ` jason at gcc dot gnu.org
@ 2014-11-19 12:44 ` dcb314 at hotmail dot com
  2014-12-12 10:24 ` trippels at gcc dot gnu.org
                   ` (4 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: dcb314 at hotmail dot com @ 2014-11-19 12:44 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #14 from David Binderman <dcb314 at hotmail dot com> ---

Still broken some five months after reporting it. ;-|


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [5 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
                   ` (13 preceding siblings ...)
  2014-11-19 12:44 ` dcb314 at hotmail dot com
@ 2014-12-12 10:24 ` trippels at gcc dot gnu.org
  2014-12-12 13:29 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-12-12 10:24 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu.org

--- Comment #15 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
*** Bug 64281 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [5 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
                   ` (14 preceding siblings ...)
  2014-12-12 10:24 ` trippels at gcc dot gnu.org
@ 2014-12-12 13:29 ` rguenth at gcc dot gnu.org
  2014-12-12 18:48 ` hubicka at gcc dot gnu.org
                   ` (2 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-12 13:29 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #16 from Richard Biener <rguenth at gcc dot gnu.org> ---
This triggers a _lot_ when re-building openSUSE with GCC 5. And it is
especially
annoying because "Segmentation fault" isn't a nice ICE to filter.

Please fix this bug soon.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [5 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
                   ` (15 preceding siblings ...)
  2014-12-12 13:29 ` rguenth at gcc dot gnu.org
@ 2014-12-12 18:48 ` hubicka at gcc dot gnu.org
  2014-12-15  3:45 ` hubicka at gcc dot gnu.org
  2014-12-15  4:12 ` hubicka at gcc dot gnu.org
  18 siblings, 0 replies; 20+ messages in thread
From: hubicka at gcc dot gnu.org @ 2014-12-12 18:48 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #17 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
OK I am testing the following patch. It just makes symtab code ready for
DECL_ASSEMBLER_NAME returning NULL
Index: symtab.c
===================================================================
--- symtab.c    (revision 218640)
+++ symtab.c    (working copy)
@@ -168,6 +168,11 @@ symbol_table::insert_to_assembler_name_h

       tree name = DECL_ASSEMBLER_NAME (node->decl);

+      /* C++ FE can produce decls without associated assembler name and insert
+        them to symtab to hold section or TLS information.  */
+      if (!name)
+       return;
+
       hashval_t hash = decl_assembler_name_hash (name);
       aslot = assembler_name_hash->find_slot_with_hash (name, hash, INSERT);
       gcc_assert (*aslot != node);
@@ -209,6 +214,10 @@ symbol_table::unlink_from_assembler_name
        {
          tree name = DECL_ASSEMBLER_NAME (node->decl);
           symtab_node **slot;
+
+         if (!name)
+           return;
+
          hashval_t hash = decl_assembler_name_hash (name);
          slot = assembler_name_hash->find_slot_with_hash (name, hash,
                                                           NO_INSERT);


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [5 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
                   ` (16 preceding siblings ...)
  2014-12-12 18:48 ` hubicka at gcc dot gnu.org
@ 2014-12-15  3:45 ` hubicka at gcc dot gnu.org
  2014-12-15  4:12 ` hubicka at gcc dot gnu.org
  18 siblings, 0 replies; 20+ messages in thread
From: hubicka at gcc dot gnu.org @ 2014-12-15  3:45 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #18 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Author: hubicka
Date: Mon Dec 15 03:44:58 2014
New Revision: 218729

URL: https://gcc.gnu.org/viewcvs?rev=218729&root=gcc&view=rev
Log:

    PR ipa/61558
    * symtab.c (symbol_table::insert_to_assembler_name_hash
    symbol_table::unlink_from_assembler_name_hash): Do not ICE when    
    DECL_ASSEMBLER_NAME is NULL.

Added:
    trunk/gcc/testsuite/g++.dg/torture/pr61558.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/symtab.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug middle-end/61558] [5 Regression] ICE: Segmentation fault
  2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
                   ` (17 preceding siblings ...)
  2014-12-15  3:45 ` hubicka at gcc dot gnu.org
@ 2014-12-15  4:12 ` hubicka at gcc dot gnu.org
  18 siblings, 0 replies; 20+ messages in thread
From: hubicka at gcc dot gnu.org @ 2014-12-15  4:12 UTC (permalink / raw)
  To: gcc-bugs

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

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #19 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Fixed.


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2014-12-15  4:12 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-19  7:41 [Bug c++/61558] New: ice in insert_to_assembler_name_hash dcb314 at hotmail dot com
2014-06-19  8:03 ` [Bug c++/61558] [4.10 Regression] ICE: Segmentation fault trippels at gcc dot gnu.org
2014-06-19  8:52 ` [Bug middle-end/61558] " trippels at gcc dot gnu.org
2014-06-25 10:47 ` trippels at gcc dot gnu.org
2014-07-12  5:18 ` trippels at gcc dot gnu.org
2014-08-26 12:28 ` [Bug middle-end/61558] [5 " trippels at gcc dot gnu.org
2014-08-29  9:05 ` trippels at gcc dot gnu.org
2014-09-08  0:44 ` hubicka at gcc dot gnu.org
2014-09-09 13:26 ` kikairoya at gmail dot com
2014-10-01 14:46 ` trippels at gcc dot gnu.org
2014-10-01 14:47 ` trippels at gcc dot gnu.org
2014-10-13  9:31 ` hubicka at gcc dot gnu.org
2014-10-13 11:58 ` hubicka at gcc dot gnu.org
2014-10-14 13:33 ` jason at gcc dot gnu.org
2014-11-19 12:44 ` dcb314 at hotmail dot com
2014-12-12 10:24 ` trippels at gcc dot gnu.org
2014-12-12 13:29 ` rguenth at gcc dot gnu.org
2014-12-12 18:48 ` hubicka at gcc dot gnu.org
2014-12-15  3:45 ` hubicka at gcc dot gnu.org
2014-12-15  4:12 ` hubicka at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).