Add ::verify for cgraph_node::origin/nested/next_nested.
authorMartin Liska <mliska@suse.cz>
Thu, 15 Aug 2019 06:58:26 +0000 (08:58 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Thu, 15 Aug 2019 06:58:26 +0000 (06:58 +0000)
2019-08-15  Martin Liska  <mliska@suse.cz>

* cgraph.c (cgraph_node::verify_node): Verify origin, nested
and next_nested.

From-SVN: r274503

gcc/ChangeLog
gcc/cgraph.c

index 27e09f26390f366f092728d5a9cb14f141de5cdc..4b147c19d567b13689eb37f14d24830f5966df46 100644 (file)
@@ -1,3 +1,8 @@
+2019-08-15  Martin Liska  <mliska@suse.cz>
+
+       * cgraph.c (cgraph_node::verify_node): Verify origin, nested
+       and next_nested.
+
 2019-08-15  Martin Liska  <mliska@suse.cz>
 
        PR ipa/91404
index ed46d81a5131f2966ea0aae8576d33b661a11d8e..eb38b905879c530dd940b20905a1ac14369262fa 100644 (file)
@@ -3464,6 +3464,30 @@ cgraph_node::verify_node (void)
          e->aux = 0;
        }
     }
+
+  if (nested != NULL)
+    {
+      for (cgraph_node *n = nested; n != NULL; n = n->next_nested)
+       {
+         if (n->origin == NULL)
+           {
+             error ("missing origin for a node in a nested list");
+             error_found = true;
+           }
+         else if (n->origin != this)
+           {
+             error ("origin points to a different parent");
+             error_found = true;
+             break;
+           }
+       }
+    }
+  if (next_nested != NULL && origin == NULL)
+    {
+      error ("missing origin for a node in a nested list");
+      error_found = true;
+    }
+
   if (error_found)
     {
       dump (stderr);