[Bug middle-end/59669] ICE: SIGSEGV with #pragma omp declare simd linear

mpolacek at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jan 8 12:30:00 GMT 2014


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59669

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-01-08
                 CC|                            |mpolacek at gcc dot gnu.org
   Target Milestone|---                         |4.9.0
     Ever confirmed|0                           |1

--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
We're trying to get the default definition for 'a', but it's NULL, and then
calling has_zero_uses on it segvs.  So perhaps

--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -11587,7 +11587,7 @@ simd_clone_adjust (struct cgraph_node *node)
        tree def = ssa_default_def (cfun, orig_arg);
        gcc_assert (INTEGRAL_TYPE_P (TREE_TYPE (orig_arg))
                    || POINTER_TYPE_P (TREE_TYPE (orig_arg)));
-       if (!has_zero_uses (def))
+       if (def && !has_zero_uses (def))
          {
            iter1 = make_ssa_name (orig_arg, NULL);
            iter2 = make_ssa_name (orig_arg, NULL);



More information about the Gcc-bugs mailing list