]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[multiple changes]
authorAndrew Pinski <pinskia@physics.uc.edu>
Tue, 23 Mar 2004 05:24:56 +0000 (05:24 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Tue, 23 Mar 2004 05:24:56 +0000 (21:24 -0800)
2004-03-22  Andrew Pinski  <pinskia@physics.uc.edu>

        BackPort:
                2004-01-09  Andrew Pinski <pinskia@physics.uc.edu>

                PR debug/11231
                * dbxout.c (dbxout_type_fields): Return if any item is error_mark_node or the
                type is error_mark_node.

From-SVN: r79850

gcc/ChangeLog
gcc/config/darwin.c
gcc/config/rs6000/darwin.h
gcc/cp/cp-tree.h
gcc/dbxout.c

index 601652fde96e3b38eeba913dce92ae0e1d10ab34..159226be38ad4e3381fe13615c29a7f134b171c7 100644 (file)
@@ -1,3 +1,12 @@
+2004-03-22  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       BackPort:
+               2004-01-09  Andrew Pinski <pinskia@physics.uc.edu>
+       
+               PR debug/11231
+               * dbxout.c (dbxout_type_fields): Return if any item is error_mark_node or the
+               type is error_mark_node.
+
 2004-03-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        PR middle-end/14470
index 8efd8cd26122f3135861fb6706acf8115d70426e..09b4aada4256a18bfa514037e904cc130703e988 100644 (file)
@@ -1209,6 +1209,10 @@ machopic_select_rtx_section (mode, x, align)
           && (GET_CODE (x) == CONST_INT
               || GET_CODE (x) == CONST_DOUBLE))
     literal4_section ();
+  else if (GET_CODE (x) == SYMBOL_REF
+             || GET_CODE (x) == CONST
+             || GET_CODE (x) == LABEL_REF)
+    const_data_section ();
   else
     const_section ();
 }
index b3468f2b66b69176a738befa6f3c71e92dd46435..579c775b40b040fda3c74209efd18f5ecabe615f 100644 (file)
@@ -196,16 +196,17 @@ Boston, MA 02111-1307, USA.  */
    a SYMBOL_REF.  */
 
 #undef PREFERRED_RELOAD_CLASS
-#define PREFERRED_RELOAD_CLASS(X,CLASS)                        \
-  (((GET_CODE (X) == CONST_DOUBLE                      \
-    && GET_MODE_CLASS (GET_MODE (X)) == MODE_FLOAT)    \
-   ? NO_REGS                                           \
-   : (GET_MODE_CLASS (GET_MODE (X)) == MODE_INT        \
-      && (CLASS) == NON_SPECIAL_REGS)                  \
-   ? GENERAL_REGS                                      \
-   : (GET_CODE (X) == SYMBOL_REF || GET_CODE (X) == HIGH)      \
-   ? BASE_REGS                                         \
-   : (CLASS)))
+#define PREFERRED_RELOAD_CLASS(X,CLASS)                        \
+  ((GET_CODE (X) == CONST_DOUBLE                               \
+    && GET_MODE_CLASS (GET_MODE (X)) == MODE_FLOAT)            \
+   ? NO_REGS                                                   \
+   : ((GET_CODE (X) == SYMBOL_REF || GET_CODE (X) == HIGH)     \
+      && reg_class_subset_p (BASE_REGS, (CLASS)))              \
+   ? BASE_REGS                                                 \
+   : (GET_MODE_CLASS (GET_MODE (X)) == MODE_INT                \
+      && (CLASS) == NON_SPECIAL_REGS)                          \
+   ? GENERAL_REGS                                              \
+   : (CLASS))
 
 /* Fix for emit_group_load (): force large constants to be pushed via regs.  */
 #define ALWAYS_PUSH_CONSTS_USING_REGS_P                1
index b97520baecac2b6ed586d0e50fb68e55a17dbe5b..f7fefdf93d6dd9c84845b701a1902ef38951f951 100644 (file)
@@ -29,7 +29,7 @@ Boston, MA 02111-1307, USA.  */
 #include "varray.h"
 
 #ifndef __GNUC__
-#error "You should be using 'make bootstrap' -- see installation instructions"
+  #error "You should be using 'make bootstrap' -- see installation instructions"
 #endif
 
 #include "c-common.h"
index 8a8b5616082bbbd5ab174fb90f07bfc33d7f9bb9..460921418d1d8d434b5a8cf06dd05ff551c2e669 100644 (file)
@@ -796,6 +796,11 @@ dbxout_type_fields (type)
      field that we can support.  */
   for (tem = TYPE_FIELDS (type); tem; tem = TREE_CHAIN (tem))
     {
+
+     /* If on of the nodes is an error_mark or its type is then return early. */
+     if (tem == error_mark_node || TREE_TYPE (tem) == error_mark_node)
+       return;
+
       /* Omit here local type decls until we know how to support them.  */
       if (TREE_CODE (tem) == TYPE_DECL
          /* Omit fields whose position or size are variable or too large to