diff options
Diffstat (limited to 'gcc/target.h')
-rw-r--r-- | gcc/target.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/target.h b/gcc/target.h index 2387e4dd38a..b9b4a474015 100644 --- a/gcc/target.h +++ b/gcc/target.h @@ -308,6 +308,23 @@ struct gcc_target rtx (* expand_builtin) (tree exp, rtx target, rtx subtarget, enum machine_mode mode, int ignore); + /* APPLE LOCAL begin constant cfstrings */ + /* Expand a platform-specific (but machine-independent) builtin. */ + tree (* expand_tree_builtin) (tree function, tree params, + tree coerced_params); + + /* Construct a target-specific Objective-C string object based on the + STRING_CST passed in STR, or NULL if the default Objective-C objects + (based on NSConstantString or NXConstantString) should be used + instead. */ + tree (* construct_objc_string) (tree str); + /* APPLE LOCAL end constant cfstrings */ + + /* 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. */ + const char * (* mangle_fundamental_type) (tree type); + /* Make any adjustments to libfunc names needed for this target. */ void (* init_libfuncs) (void); @@ -455,6 +472,20 @@ struct gcc_target at the beginning of assembly output. */ bool file_start_file_directive; + /* APPLE LOCAL begin AltiVec */ + /* Return true if we should expand a disabled (conditional) macro. */ + bool (* expand_macro_p) (const struct cpp_token *); + + /* True if it is permissible to use cast expressions as + vector initializers, e.g.: + + (vector unsigned int)(3, 4, 5, 6) + (vector float)(2.5) + + This is required for the Motorola AltiVec syntax on the PowerPC. */ + bool cast_expr_as_vector_init; + /* APPLE LOCAL end AltiVec */ + /* Functions relating to calls - argument passing, returns, etc. */ struct calls { bool (*promote_function_args) (tree fntype); @@ -472,6 +503,9 @@ struct gcc_target targetm.calls.setup_incoming_varargs() and/or targetm.calls.strict_argument_naming(). */ bool (*pretend_outgoing_varargs_named) (CUMULATIVE_ARGS *ca); + /* APPLE LOCAL begin Altivec */ + bool (*skip_vec_args) (tree, int, int*); + /* APPLE LOCAL end Altivec */ } calls; }; |