[Bug middle-end/64391] ICE: SIGSEGV in get_attrs_for (trans-mem.c:179) with -fgnu-tm and #pragma GCC ivdep

2015-01-14 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64391

--- Comment #6 from Marek Polacek mpolacek at gcc dot gnu.org ---
Author: mpolacek
Date: Wed Jan 14 08:43:53 2015
New Revision: 219581

URL: https://gcc.gnu.org/viewcvs?rev=219581root=gccview=rev
Log:
PR middle-end/64391
* trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.

* gcc.dg/tm/pr64391.c: New test.

Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/tm/pr64391.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/trans-mem.c


[Bug middle-end/64391] ICE: SIGSEGV in get_attrs_for (trans-mem.c:179) with -fgnu-tm and #pragma GCC ivdep

2015-01-14 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64391

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from Marek Polacek mpolacek at gcc dot gnu.org ---
Fixed.



[Bug middle-end/64391] ICE: SIGSEGV in get_attrs_for (trans-mem.c:179) with -fgnu-tm and #pragma GCC ivdep

2015-01-13 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64391

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-01-13
 CC||mpolacek at gcc dot gnu.org
   Target Milestone|--- |4.9.3
 Ever confirmed|0   |1

--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
Confirmed.

diagnose_tm_1 probably isn't prepared for internal functions.


[Bug middle-end/64391] ICE: SIGSEGV in get_attrs_for (trans-mem.c:179) with -fgnu-tm and #pragma GCC ivdep

2015-01-13 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64391

--- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org ---
So e.g.

diff --git a/gcc/trans-mem.c b/gcc/trans-mem.c
index b449760..21fa497 100644
--- a/gcc/trans-mem.c
+++ b/gcc/trans-mem.c
@@ -183,6 +183,9 @@ static void *expand_regions (struct tm_region *,
 static tree
 get_attrs_for (const_tree x)
 {
+  if (x == NULL_TREE)
+return NULL_TREE;
+
   switch (TREE_CODE (x))
 {
 case FUNCTION_DECL:
@@ -191,16 +194,16 @@ get_attrs_for (const_tree x)

 default:
   if (TYPE_P (x))
-   return NULL;
+   return NULL_TREE;
   x = TREE_TYPE (x);
   if (TREE_CODE (x) != POINTER_TYPE)
-   return NULL;
+   return NULL_TREE;
   /* FALLTHRU */

 case POINTER_TYPE:
   x = TREE_TYPE (x);
   if (TREE_CODE (x) != FUNCTION_TYPE  TREE_CODE (x) != METHOD_TYPE)
-   return NULL;
+   return NULL_TREE;
   /* FALLTHRU */

 case FUNCTION_TYPE:


[Bug middle-end/64391] ICE: SIGSEGV in get_attrs_for (trans-mem.c:179) with -fgnu-tm and #pragma GCC ivdep

2015-01-13 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64391

--- Comment #4 from Marek Polacek mpolacek at gcc dot gnu.org ---
Author: mpolacek
Date: Tue Jan 13 20:22:32 2015
New Revision: 219555

URL: https://gcc.gnu.org/viewcvs?rev=219555root=gccview=rev
Log:
PR middle-end/64391
* trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.

* gcc.dg/tm/pr64391.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/tm/pr64391.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/trans-mem.c


[Bug middle-end/64391] ICE: SIGSEGV in get_attrs_for (trans-mem.c:179) with -fgnu-tm and #pragma GCC ivdep

2015-01-13 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64391

--- Comment #5 from Marek Polacek mpolacek at gcc dot gnu.org ---
Fixed on trunk so far.


[Bug middle-end/64391] ICE: SIGSEGV in get_attrs_for (trans-mem.c:179) with -fgnu-tm and #pragma GCC ivdep

2014-12-23 Thread zsojka at seznam dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64391

--- Comment #1 from Zdenek Sojka zsojka at seznam dot cz ---
Many gfortran testcases fail with the same backtrace when -fgnu-tm is used.