Hi,

with the attached patch dwarf2out tries to print the name of the
unspec together with the numeric value in case the back end uses
define_c_enum for the unspec constants.

Ok for mainline?

Bye,

-Andreas-


2011-03-21  Andreas Krebbel  <andreas.kreb...@de.ibm.com>

        * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
        if possible.


Index: gcc/dwarf2out.c
===================================================================
*** gcc/dwarf2out.c.orig
--- gcc/dwarf2out.c
*************** const_ok_for_output_1 (rtx *rtlp, void *
*** 13612,13620 ****
--- 13612,13627 ----
        inform (current_function_decl
                ? DECL_SOURCE_LOCATION (current_function_decl)
                : UNKNOWN_LOCATION,
+ #if NUM_UNSPEC_VALUES > 0
+               "non-delegitimized UNSPEC %s (%d) found in variable location",
+               (XINT (rtl, 1) >= 0 && XINT (rtl, 1) < NUM_UNSPEC_VALUES)
+               ? unspec_strings[XINT (rtl, 1)] : "unkown",
+               XINT (rtl, 1));
+ #else
                "non-delegitimized UNSPEC %d found in variable location",
                XINT (rtl, 1));
  #endif
+ #endif
        expansion_failed (NULL_TREE, rtl,
                        "UNSPEC hasn't been delegitimized.\n");
        return 1;

Reply via email to