]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR rtl-optimization/69217 (ICE at var-tracking.c:5038 Segmentation fault)
authorIain Buclaw <ibuclaw@gdcproject.org>
Tue, 26 Jan 2016 20:57:37 +0000 (20:57 +0000)
committerIain Buclaw <ibuclaw@gcc.gnu.org>
Tue, 26 Jan 2016 20:57:37 +0000 (20:57 +0000)
PR rtl-optimization/69217
* var-tracking.c (tracked_record_parameter_p): Don't segfault if there
are no TYPE_FIELDS set for the record type.

From-SVN: r232845

gcc/ChangeLog
gcc/var-tracking.c

index dd774bef2bd97b62ad4025911d9209063a936963..e94010a9cc56f6d84dcef1c8bbe7aaf47be48084 100644 (file)
@@ -1,3 +1,9 @@
+2016-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR rtl-optimization/69217
+       * var-tracking.c (tracked_record_parameter_p): Don't segfault if there
+       are no TYPE_FIELDS set for the record type.
+
 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/68662
index d044b7f989ddcc9c76ac893e38a0ddff7296ef13..9f09d30b1f91edb2a728c875222f5be719f07c0d 100644 (file)
@@ -5128,7 +5128,8 @@ tracked_record_parameter_p (tree t)
   if (TREE_CODE (type) != RECORD_TYPE)
     return false;
 
-  if (DECL_CHAIN (TYPE_FIELDS (type)) == NULL_TREE)
+  if (TYPE_FIELDS (type) == NULL_TREE
+      || DECL_CHAIN (TYPE_FIELDS (type)) == NULL_TREE)
     return false;
 
   return true;