aboutsummaryrefslogtreecommitdiff
path: root/gcc/target.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/target.h')
-rw-r--r--gcc/target.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/gcc/target.h b/gcc/target.h
index 0a54c6f7bb4..5524d88e40d 100644
--- a/gcc/target.h
+++ b/gcc/target.h
@@ -333,6 +333,18 @@ 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 */
+
/* Fold a target-specific builtin. */
tree (* fold_builtin) (tree exp, bool ignore);
@@ -454,7 +466,6 @@ struct gcc_target
/* Create the __builtin_va_list type. */
tree (* build_builtin_va_list) (void);
- /* Gimplifies a VA_ARG_EXPR. */
tree (* gimplify_va_arg_expr) (tree valist, tree type, tree *pre_p,
tree *post_p);
@@ -525,6 +536,9 @@ struct gcc_target
/* Given a complex type T, return true if a parameter of type T
should be passed as two scalars. */
bool (* split_complex_arg) (tree type);
+ /* APPLE LOCAL begin Altivec */
+ bool (*skip_vec_args) (tree, int, int*);
+ /* APPLE LOCAL end Altivec */
/* Return true if type T, mode MODE, may not be passed in registers,
but must be passed on the stack. */
@@ -598,6 +612,17 @@ struct gcc_target
at the beginning of assembly output. */
bool file_start_file_directive;
+ /* APPLE LOCAL begin AltiVec */
+ /* 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 */
+
/* True if #pragma redefine_extname is to be supported. */
bool handle_pragma_redefine_extname;