summaryrefslogtreecommitdiff
path: root/gcc/target.h
diff options
context:
space:
mode:
authorechristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4>2006-01-06 23:16:23 +0000
committerechristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4>2006-01-06 23:16:23 +0000
commitb215c058e8d54661a425789ce08b8658e89b0282 (patch)
tree40c29d6ebecee3ad150d3ed86b8de4eacf4f5d3b /gcc/target.h
parent1d31417daaa42eef5c82d33702e16ce7d0257311 (diff)
downloadgcc-b215c058e8d54661a425789ce08b8658e89b0282.tar.gz
2006-01-06 Eric Christopher <echristo@apple.com>
* doc/tm.texi (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Document. (TARGET_UNWIND_EMIT): Fix spelling. * target.h (gcc_target): Add except_table_label. * except.c (output_function_exception_table): Use. * varasm.c (default_emit_except_table_label): New. * target-def.h (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): New default define. (asm_out): Add here. * output.h (default_emit_except_table_label): Prototype. * config/darwin-protos.h (darwin_emit_except_table_label): Ditto. * config/darwin.c (darwin_emit_except_table_label): Define. * config/darwin.h (TARGET_ASM_EMIT_EXCEPT_TABLE): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109435 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target.h')
-rw-r--r--gcc/target.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/gcc/target.h b/gcc/target.h
index 6a494631d91..8c61bfe9692 100644
--- a/gcc/target.h
+++ b/gcc/target.h
@@ -102,6 +102,10 @@ struct gcc_target
this is only a placeholder for an omitted FDE. */
void (* unwind_label) (FILE *, tree, int, int);
+ /* Output code that will emit a label to divide up the exception
+ table. */
+ void (* except_table_label) (FILE *);
+
/* Emit any directives required to unwind this instruction. */
void (* unwind_emit) (FILE *, rtx);
@@ -373,7 +377,7 @@ struct gcc_target
/* Fold a target-specific builtin. */
tree (* fold_builtin) (tree fndecl, tree arglist, bool ignore);
-
+
/* For a vendor-specific fundamental TYPE, return a pointer to
a statically-allocated string containing the C++ mangling for
TYPE. In all other cases, return NULL. */
@@ -569,7 +573,7 @@ struct gcc_target
specified. Use this hook if the target needs to add extra validation
checks to handle_dll_attribute (). */
bool (* valid_dllimport_attribute_p) (tree decl);
-
+
/* Functions relating to calls - argument passing, returns, etc. */
struct calls {
bool (*promote_function_args) (tree fntype);
@@ -620,7 +624,7 @@ struct gcc_target
/* Return the diagnostic message string if function without a prototype
is not allowed for this 'val' argument; NULL otherwise. */
- const char *(*invalid_arg_for_unprototyped_fn) (tree typelist,
+ const char *(*invalid_arg_for_unprototyped_fn) (tree typelist,
tree funcdecl, tree val);
/* Return an rtx for the return value location of the function
@@ -677,7 +681,7 @@ struct gcc_target
visibility has been explicitly specified. If the target needs
to specify a visibility other than that of the containing class,
use this hook to set DECL_VISIBILITY and
- DECL_VISIBILITY_SPECIFIED. */
+ DECL_VISIBILITY_SPECIFIED. */
void (*determine_class_data_visibility) (tree decl);
/* Returns true (the default) if virtual tables and other
similar implicit class data objects are always COMDAT if they
@@ -691,7 +695,7 @@ struct gcc_target
/* TYPE is a C++ class (i.e., RECORD_TYPE or UNION_TYPE) that
has just been defined. Use this hook to make adjustments to the
class (eg, tweak visibility or perform any other required
- target modifications). */
+ target modifications). */
void (*adjust_class_at_definition) (tree type);
} cxx;