dwarf2out.c (loc_descriptor_from_tree): Check for null result from rtl_for_decl_location.
authorRichard Henderson <rth@redhat.com>
Wed, 1 Nov 2000 22:45:09 +0000 (14:45 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 1 Nov 2000 22:45:09 +0000 (14:45 -0800)
        * dwarf2out.c (loc_descriptor_from_tree): Check for null result
        from rtl_for_decl_location.
        (add_location_or_const_value_attribute): Likewise.

From-SVN: r37196

gcc/ChangeLog
gcc/dwarf2out.c

index e04fef7f36885a169ec5feadc6a99537dd3c4254..f2e7b3a9c65edec0bbe0f71ae32a0c93860a3a93 100644 (file)
@@ -1,3 +1,9 @@
+2000-11-01  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2out.c (loc_descriptor_from_tree): Check for null result
+       from rtl_for_decl_location.
+       (add_location_or_const_value_attribute): Likewise.
+
 2000-11-01  Neil Booth  <neilb@earthling.net>
 
         * cpplib.c (run_directive): Use correct line number for output
index 77cda6453d00eb6e834a7735de55ce581bf5746f..77de3a9b769e09172c62c750f5758496390b0625 100644 (file)
@@ -7506,7 +7506,9 @@ loc_descriptor_from_tree (loc, addressp)
        rtx rtl = rtl_for_decl_location (loc);
        enum machine_mode mode = DECL_MODE (loc);
 
-       if (CONSTANT_P (rtl))
+       if (rtl == NULL_RTX)
+         break;
+       else if (CONSTANT_P (rtl))
          {
            ret = new_loc_descr (DW_OP_addr, 0, 0);
            ret->dw_loc_oprnd1.val_class = dw_val_class_addr;
@@ -8274,6 +8276,8 @@ add_location_or_const_value_attribute (die, decl)
     abort ();
 
   rtl = rtl_for_decl_location (decl);
+  if (rtl == NULL_RTX)
+    return;
 
   switch (GET_CODE (rtl))
     {