aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/picochip/picochip-protos.h2
-rw-r--r--gcc/config/picochip/picochip.c14
3 files changed, 18 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5abe8ea..66f22dc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2010-10-06 Hariharan Sandanagobalane <hariharan@picochip.com>
+ * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Define it to
+ be UI_NONE for picochip.
+ (picochip_option_override): Do not disable exception flags.
+ * config/picochip/picochip-protos.h (picochip_except_unwind_info)
+ Declare.
+
2010-10-06 Richard Guenther <rguenther@suse.de>
* Makefile.in (regmove.o): Depend on $(TARGET_H).
diff --git a/gcc/config/picochip/picochip-protos.h b/gcc/config/picochip/picochip-protos.h
index c80bf70..4acfdb0 100644
--- a/gcc/config/picochip/picochip-protos.h
+++ b/gcc/config/picochip/picochip-protos.h
@@ -136,6 +136,8 @@ extern int picochip_flag_schedule_insns2;
extern void picochip_asm_output_anchor (rtx symbol);
+extern enum unwind_info_type picochip_except_unwind_info (void);
+
/* Instruction set capability flags. These are initialised to the
appropriate values by picochip_option_override, once the user has
selected a CPU type. */
diff --git a/gcc/config/picochip/picochip.c b/gcc/config/picochip/picochip.c
index 50748ed..9656583 100644
--- a/gcc/config/picochip/picochip.c
+++ b/gcc/config/picochip/picochip.c
@@ -309,9 +309,18 @@ static char picochip_get_vliw_alu_id (void);
#undef TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE
#define TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE picochip_option_override
+#undef TARGET_EXCEPT_UNWIND_INFO
+#define TARGET_EXCEPT_UNWIND_INFO picochip_except_unwind_info
+
struct gcc_target targetm = TARGET_INITIALIZER;
+enum unwind_info_type
+picochip_except_unwind_info (void)
+{
+ return UI_NONE;
+}
+
/* Only return a value in memory if it is greater than 4 bytes.
int_size_in_bytes returns -1 for variable size objects, which go in
memory always. The cast to unsigned makes -1 > 8. */
@@ -358,11 +367,6 @@ picochip_option_override (void)
if (optimize >= 1)
flag_section_anchors = 1;
- /* Exception flags are irrelevant to picochip. It causes failure in libgcc
- functions. */
- flag_non_call_exceptions = 0;
- flag_exceptions = 0;
-
/* Turn off the second scheduling pass, and move it to
picochip_reorg, to avoid having the second jump optimisation
trash the instruction modes (e.g., instructions are changed to