[Bug c/70297] [5/6 Regression] GCC Segfaults when using -g3

2016-03-31 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70297

--- Comment #10 from Marek Polacek  ---
Author: mpolacek
Date: Thu Mar 31 14:29:15 2016
New Revision: 234626

URL: https://gcc.gnu.org/viewcvs?rev=234626=gcc=rev
Log:
PR c/70297
* c-decl.c (merge_decls): Also set TYPE_ALIGN and TYPE_USER_ALIGN.

* decl.c (duplicate_decls): Also set TYPE_ALIGN and TYPE_USER_ALIGN.

* c-c++-common/pr70297.c: New test.
* g++.dg/cpp0x/typedef-redecl.C: New test.
* gcc.dg/typedef-redecl2.c: New test.

Added:
trunk/gcc/testsuite/c-c++-common/pr70297.c
trunk/gcc/testsuite/g++.dg/cpp0x/typedef-redecl.C
trunk/gcc/testsuite/gcc.dg/typedef-redecl2.c
Modified:
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-decl.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/testsuite/ChangeLog

[Bug c/70297] [5/6 Regression] GCC Segfaults when using -g3

2016-03-24 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70297

--- Comment #9 from Marek Polacek  ---
Patch posted .

[Bug c/70297] [5/6 Regression] GCC Segfaults when using -g3

2016-03-23 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70297

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug c/70297] [5/6 Regression] GCC Segfaults when using -g3

2016-03-21 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70297

Marek Polacek  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |mpolacek at gcc dot 
gnu.org

--- Comment #8 from Marek Polacek  ---
Mine.

[Bug c/70297] [5/6 Regression] GCC Segfaults when using -g3

2016-03-21 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70297

Marek Polacek  changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #7 from Marek Polacek  ---
Started with r210901.

[Bug c/70297] [5/6 Regression] GCC Segfaults when using -g3

2016-03-21 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70297

Richard Biener  changed:

   What|Removed |Added

  Component|debug   |c

--- Comment #6 from Richard Biener  ---
So duplicate_decls ggc_free()s newdecl which is still used as TYPE_NAME.

#1  0x0075a2fe in duplicate_decls (
newdecl=, 
olddecl=)
at /space/rguenther/src/svn/trunk3/gcc/c/c-decl.c:2731
2731  ggc_free (newdecl);
(gdb) p olddecl->typed.type
$13 = 
(gdb) p olddecl->typed.type->type_common.name
$14 = 
(gdb) p newdecl
$15 = 


C frontend issue.  merge_decls copies everything from new to old, including
type which can self-reference new.