diff options
| author | ktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-01-07 13:50:15 +0000 |
|---|---|---|
| committer | ktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-01-07 13:50:15 +0000 |
| commit | b2b288cab70ab9c23e6969c91ac5a035fdab7f71 (patch) | |
| tree | fe84a54138079a34be1a615b999a57a4f6b7b2f5 | |
| parent | 77a69f9f5f05598c0e61b4b977a101cbc757c7fb (diff) | |
| download | ppe42-gcc-b2b288cab70ab9c23e6969c91ac5a035fdab7f71.tar.gz ppe42-gcc-b2b288cab70ab9c23e6969c91ac5a035fdab7f71.zip | |
2011-01-07 Kai Tietz <kai.tietz@onevision.com>
* decl.c (java_init_decl_processing): Setup va_list_type_node.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168569 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/java/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/java/decl.c | 13 |
2 files changed, 17 insertions, 0 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index b6125774061..0f27ff76a4e 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,7 @@ +2011-01-07 Kai Tietz <kai.tietz@onevision.com> + + * decl.c (java_init_decl_processing): Setup va_list_type_node. + 2011-01-03 Jakub Jelinek <jakub@redhat.com> * jcf-dump.c (version): Update copyright notice dates. diff --git a/gcc/java/decl.c b/gcc/java/decl.c index a17b826696b..c91ddbb9b57 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -1154,6 +1154,19 @@ java_init_decl_processing (void) = add_builtin_function ("_Jv_remJ", t, 0, NOT_BUILT_IN, NULL, NULL_TREE); + /* Initialize va_list_type_node. */ + t = targetm.build_builtin_va_list (); + + /* Many back-ends define record types without setting TYPE_NAME. + If we copied the record type here, we'd keep the original + record type without a name. This breaks name mangling. So, + don't copy record types and let c_common_nodes_and_builtins() + declare the type to be __builtin_va_list. */ + if (TREE_CODE (t) != RECORD_TYPE) + t = build_variant_type_copy (t); + + va_list_type_node = t; + initialize_builtins (); soft_fmod_node = built_in_decls[BUILT_IN_FMOD]; |

