]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix ICE in libgomp.oacc-c++/ref-1.C
authorKwok Cheung Yeung <kcy@codesourcery.com>
Thu, 12 Mar 2020 14:38:02 +0000 (07:38 -0700)
committerKwok Cheung Yeung <kcy@codesourcery.com>
Thu, 22 Apr 2021 17:14:22 +0000 (10:14 -0700)
2020-03-12  Kwok Cheung Yeung  <kcy@codesourcery.com>

gcc/
* omp-sese.c (install_var_field): Generate a field name for a VAR_DECL
using the DECL_UID if it does not have a DECL_NAME.

gcc/ChangeLog.omp
gcc/omp-sese.c

index 71d5c5fddbf8d281498c195bac31eb624470ba4f..409c0f41f5b122f3abc2ea511d0575fae4ec6b1a 100644 (file)
@@ -1,3 +1,8 @@
+2020-03-12  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * omp-sese.c (install_var_field): Generate a field name for a VAR_DECL
+       using the DECL_UID if it does not have a DECL_NAME.
+
 2019-10-21  Julian Brown  <julian@codesourcery.com>
 
        * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body): Add
index cfdbb803929a56656878568ea9138d65d419af4d..8138de8eef427ffbc020b178a6238d17d2bb978a 100644 (file)
@@ -543,20 +543,28 @@ install_var_field (tree var, tree record_type)
   char tmp[20];
 
   if (TREE_CODE (var) == SSA_NAME)
-    name = SSA_NAME_IDENTIFIER (var);
+    {
+      name = SSA_NAME_IDENTIFIER (var);
+      if (!name)
+       {
+         sprintf (tmp, "_%u", (unsigned) SSA_NAME_VERSION (var));
+         name = get_identifier (tmp);
+       }
+    }
   else if (TREE_CODE (var) == VAR_DECL)
-    name = DECL_NAME (var);
+    {
+      name = DECL_NAME (var);
+      if (!name)
+       {
+         sprintf (tmp, "D_%u", (unsigned) DECL_UID (var));
+         name = get_identifier (tmp);
+       }
+    }
   else
     gcc_unreachable ();
 
   gcc_assert (!fields->get (var));
 
-  if (!name)
-    {
-      sprintf (tmp, "_%u", (unsigned) SSA_NAME_VERSION (var));
-      name = get_identifier (tmp);
-    }
-
   tree type = TREE_TYPE (var);
 
   if (POINTER_TYPE_P (type)