From 38a8aecfb882072900434499696b5c32a2274515 Mon Sep 17 00:00:00 2001 From: Rong Xu Date: Mon, 21 Jul 2014 16:47:22 -0700 Subject: [4.9] Switch gcc-4.9 to use google/gcc-4_9 branch. This source drop uses svn version r212828 of google/gcc-4.9 branch. We also cherry-picked r213062, r213063 and r213064 to fix windows build issues. All gcc-4.9 patches before July 3rd are ported to google/gcc-4.9. The following prior commits has not been merged to google branch yet. (They are included in this commit). e7af147f979e657fe2df00808e5b4319b0e088c6, baf87df3cb2683649ba7e9872362a7e721117c23, and c231900e5dcc14d8296bd9f62b45997a49d4d5e7. Change-Id: I4bea3ea470387ff751c2be4cb0d4a12059b9299b --- gcc-4.9/gcc/langhooks.h | 66 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) (limited to 'gcc-4.9/gcc/langhooks.h') diff --git a/gcc-4.9/gcc/langhooks.h b/gcc-4.9/gcc/langhooks.h index c848b0c59..f24bcdd82 100644 --- a/gcc-4.9/gcc/langhooks.h +++ b/gcc-4.9/gcc/langhooks.h @@ -219,12 +219,71 @@ struct lang_hooks_for_decls /* Similarly, except use an assignment operator instead. */ tree (*omp_clause_assign_op) (tree clause, tree dst, tree src); + /* Build and return code for a constructor of DST that sets it to + SRC + ADD. */ + tree (*omp_clause_linear_ctor) (tree clause, tree dst, tree src, tree add); + /* Build and return code destructing DECL. Return NULL if nothing to be done. */ tree (*omp_clause_dtor) (tree clause, tree decl); /* Do language specific checking on an implicitly determined clause. */ - void (*omp_finish_clause) (tree clause); + void (*omp_finish_clause) (tree clause, gimple_seq *pre_p); +}; + +/* Lang hooks for LIPO. */ + +struct lang_hooks_for_lipo +{ + /* Add DECL to the list of predefined builtins. */ + void (*add_built_in_decl) (tree decl); + + /* Save the tree (by making a copy) and binding values + for builtins before parsing start. */ + void (*save_built_in_decl_pre_parsing) (void); + + /* Restore builtins and their bindings to their values + before parsing. */ + void (*restore_built_in_decl_pre_parsing) (void); + + /* Save the tree (by making a copy) and binding values for + builtins after parsing of a file. */ + void (*save_built_in_decl_post_module_parsing) (void); + + /* Restore builtins and their bindings to their post + parsing values. */ + void (*restore_built_in_decl_post_module_parsing) (void); + + /* Clear symbol binding for name ID. */ + void (*clear_global_name_bindings) (tree id); + + /* Return true if DECL in SCOPE is scoped in global/namespace scope, + otherwise return false. */ + bool (*has_global_name) (tree decl, void *scope); + + /* Return the actual size of the lang_decl struct for + decl T. */ + int (*get_lang_decl_size) (tree t); + + /* Duplicate language specific type information from SRC + to DEST. */ + void (*dup_lang_type) (tree src, tree dest); + + /* Copy DEST into SRC. */ + void (*copy_lang_type) (tree src, tree dest); + + /* Process decls after parsing of a source module. */ + void (*process_pending_decls) (unsigned); + + /* Clear the list of deferred functions. */ + void (*clear_deferred_fns) (void); + + /* Return true if T is compiler generated. */ + bool (*is_compiler_generated_type) (tree t); + + /* Compare language specific types T1 and T2. + Return 1 if they are compatible. */ + int (*cmp_lang_type) (tree t1, tree t2); }; /* Language hooks related to LTO serialization. */ @@ -408,6 +467,8 @@ struct lang_hooks struct lang_hooks_for_types types; + struct lang_hooks_for_lipo l_ipo; + struct lang_hooks_for_lto lto; /* Returns a TREE_VEC of the generic parameters of an instantiation of @@ -438,6 +499,9 @@ struct lang_hooks backend must add all of the builtins at program initialization time. */ tree (*builtin_function_ext_scope) (tree decl); + /* Returns true if DECL is a user defined conversion operator (C++) */ + bool (*user_conv_function_p) (tree decl); + /* Used to set up the tree_contains_structure array for a frontend. */ void (*init_ts) (void); -- cgit v1.2.3