static void pa_select_section PARAMS ((tree, int, unsigned HOST_WIDE_INT))
ATTRIBUTE_UNUSED;
static void pa_encode_section_info PARAMS ((tree, int));
+static const char *pa_strip_name_encoding PARAMS ((const char *));
/* Save the operands last given to a compare for use when we
generate a scc or bcc insn. */
#undef TARGET_ENCODE_SECTION_INFO
#define TARGET_ENCODE_SECTION_INFO pa_encode_section_info
+#undef TARGET_STRIP_NAME_ENCODING
+#define TARGET_STRIP_NAME_ENCODING pa_strip_name_encoding
struct gcc_target targetm = TARGET_INITIALIZER;
\f
/* Gross. We have just implicitly taken the address of this
function, mark it as such. */
- STRIP_NAME_ENCODING (real_name, name);
+ real_name = (*targetm.strip_name_encoding) (name);
TREE_SYMBOL_REFERENCED (get_identifier (real_name)) = 1;
}
}
}
+/* This is sort of inverse to pa_encode_section_info. */
+
+static const char *
+pa_strip_name_encoding (str)
+ const char *str;
+{
+ return str + (*str == '*' || *str == '@');
+}
+
int
function_label_operand (op, mode)
rtx op;