[Bug c++/67581] [6 Regression] ICE on transparent union with -g enabled on x86_64-linux-gnu (verify_type failed)

2015-12-02 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67581

Jan Hubicka  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Jan Hubicka  ---
Fixed.

[Bug c++/67581] [6 Regression] ICE on transparent union with -g enabled on x86_64-linux-gnu (verify_type failed)

2015-11-29 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67581

--- Comment #3 from Jan Hubicka  ---
Author: hubicka
Date: Sun Nov 29 19:48:45 2015
New Revision: 231048

URL: https://gcc.gnu.org/viewcvs?rev=231048=gcc=rev
Log:

PR c/67581
* g++.dg/torture/pr67581.C: New testcase.
* c-family/c-common.c (handle_transparent_union_attribute): Update
also type variants.

Added:
trunk/gcc/testsuite/g++.dg/torture/pr67581.C
Modified:
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-common.c
trunk/gcc/testsuite/ChangeLog

[Bug c++/67581] [6 Regression] ICE on transparent union with -g enabled on x86_64-linux-gnu (verify_type failed)

2015-11-25 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67581

Jan Hubicka  changed:

   What|Removed |Added

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

--- Comment #2 from Jan Hubicka  ---
The following should fix it:
Index: c-family/c-common.c
===
--- c-family/c-common.c (revision 230924)
+++ c-family/c-common.c (working copy)
@@ -7787,7 +7787,8 @@ handle_transparent_union_attribute (tree
*node = type = build_duplicate_type (type);
  }

-  TYPE_TRANSPARENT_AGGR (type) = 1;
+  for (tree t = TYPE_MAIN_VARIANT (type); t; t = TYPE_NEXT_VARIANT (t))
+TYPE_TRANSPARENT_AGGR (t) = 1;
   return NULL_TREE;
 }

Index: testsuite/g++.dg/torture/pr67581.C
===
--- testsuite/g++.dg/torture/pr67581.C (revision 0)
+++ testsuite/g++.dg/torture/pr67581.C (revision 0)
@@ -0,0 +1,6 @@
+/* { dg-do compile } */
+union U 
+{
+  int x; 
+  float y;
+} __attribute__ ((__transparent_union__));

[Bug c++/67581] [6 Regression] ICE on transparent union with -g enabled on x86_64-linux-gnu (verify_type failed)

2015-10-20 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67581

Marek Polacek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-10-20
 CC||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek  ---
Started with r223252.


[Bug c++/67581] [6 Regression] ICE on transparent union with -g enabled on x86_64-linux-gnu (verify_type failed)

2015-09-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67581

Richard Biener  changed:

   What|Removed |Added

   Keywords||ice-checking
 CC||hubicka at gcc dot gnu.org
   Target Milestone|--- |6.0
Summary|ICE on transparent union|[6 Regression] ICE on
   |with -g enabled on  |transparent union with -g
   |x86_64-linux-gnu|enabled on x86_64-linux-gnu
   |(verify_type failed)|(verify_type failed)