From 62d784f7bdc63b09b0e2cee98aba71c921e2479c Mon Sep 17 00:00:00 2001 From: Kai Tietz Date: Mon, 21 Mar 2011 09:29:36 +0100 Subject: ChangeLog gcc/ 2011-03-21 Kai Tietz PR target/12171 * doc/plugins.texi: Adjust documentation for plugin register_callback. * tree.h (attribute_spec): Add new member affects_type_identity. - Zitierten Text anzeigen - * attribs.c (empty_attribute_table): Adjust attribute_spec initializers. * config/alpha/alpha.c: Likewise. * config/arc/arc.c: Likewise. * config/arm/arm.c: Likewise. * config/avr/avr.c: Likewise. * config/bfin/bfin.c: Likewise. * config/crx/crx.c: Likewise. * config/darwin.h: Likewise. * config/h8300/h8300.c: Likewise. * config/i386/cygming.h: Likewise. * config/i386/i386.c: Likewise. * config/ia64/ia64.c: Likewise. * config/m32c/m32c.c: Likewise. * config/m32r/m32r.c: Likewise. * config/m68hc11/m68hc11.c: Likewise. * config/m68k/m68k.c: Likewise. * config/mcore/mcore.c: Likewise. * config/mep/mep.c: Likewise. * config/microblaze/microblaze.c: Likewise. * config/mips/mips.c: Likewise. * config/rs6000/rs6000.c: Likewise. * config/rx/rx.c: Likewise. * config/sh/sh.c: Likewise. * config/sol2.h: Likewise. * config/sparc/sparc.c: Likewise. * config/spu/spu.c: Likewise. * config/stormy16/stormy16.c: Likewise. * config/v850/v850.c: Likewise. ChangeLog gcc/cp 2011-03-21 Kai Tietz PR target/12171 * tree.c (cxx_attribute_table): Adjust table. ChangeLog gcc/testsuite 2011-03-21 Kai Tietz PR target/12171 * g++.dg/plugin/attribute_plugin.c: Adjust test. ChangeLog gcc/java 2011-03-21 Kai Tietz PR target/12171 * lang.c (java_attribute_table): Adjust table. ChangeLog gcc/lto 2011-03-21 Kai Tietz PR target/12171 * lto-lang.c (lto_attribute_table): Adjust table. ChangeLog gcc/ada 2011-03-21 Kai Tietz PR target/12171 * gcc-interface/utils.c (gnat_internal_attribute_table): Add new element. ChangeLog gcc/c-family 2011-03-17 Kai Tietz PR target/12171 * c-common.c (c_common_attribute_table): Add new element. (c_common_format_attribute_table): Likewise. From-SVN: r171209 --- gcc/ada/gcc-interface/utils.c | 49 +++++++++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 18 deletions(-) (limited to 'gcc/ada/gcc-interface/utils.c') diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c index 4d40f86..6db6375 100644 --- a/gcc/ada/gcc-interface/utils.c +++ b/gcc/ada/gcc-interface/utils.c @@ -104,29 +104,42 @@ static tree fake_attribute_handler (tree *, tree, tree, int, bool *); this minimal set of attributes to accommodate the needs of builtins. */ const struct attribute_spec gnat_internal_attribute_table[] = { - /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler } */ - { "const", 0, 0, true, false, false, handle_const_attribute }, - { "nothrow", 0, 0, true, false, false, handle_nothrow_attribute }, - { "pure", 0, 0, true, false, false, handle_pure_attribute }, - { "no vops", 0, 0, true, false, false, handle_novops_attribute }, - { "nonnull", 0, -1, false, true, true, handle_nonnull_attribute }, - { "sentinel", 0, 1, false, true, true, handle_sentinel_attribute }, - { "noreturn", 0, 0, true, false, false, handle_noreturn_attribute }, - { "leaf", 0, 0, true, false, false, handle_leaf_attribute }, - { "malloc", 0, 0, true, false, false, handle_malloc_attribute }, - { "type generic", 0, 0, false, true, true, handle_type_generic_attribute }, - - { "vector_size", 1, 1, false, true, false, handle_vector_size_attribute }, - { "vector_type", 0, 0, false, true, false, handle_vector_type_attribute }, - { "may_alias", 0, 0, false, true, false, NULL }, + /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler, + affects_type_identity } */ + { "const", 0, 0, true, false, false, handle_const_attribute, + false }, + { "nothrow", 0, 0, true, false, false, handle_nothrow_attribute, + false }, + { "pure", 0, 0, true, false, false, handle_pure_attribute, + false }, + { "no vops", 0, 0, true, false, false, handle_novops_attribute, + false }, + { "nonnull", 0, -1, false, true, true, handle_nonnull_attribute, + false }, + { "sentinel", 0, 1, false, true, true, handle_sentinel_attribute, + false }, + { "noreturn", 0, 0, true, false, false, handle_noreturn_attribute, + false }, + { "leaf", 0, 0, true, false, false, handle_leaf_attribute, + false }, + { "malloc", 0, 0, true, false, false, handle_malloc_attribute, + false }, + { "type generic", 0, 0, false, true, true, handle_type_generic_attribute, + false }, + + { "vector_size", 1, 1, false, true, false, handle_vector_size_attribute, + false }, + { "vector_type", 0, 0, false, true, false, handle_vector_type_attribute, + false }, + { "may_alias", 0, 0, false, true, false, NULL, false }, /* ??? format and format_arg are heavy and not supported, which actually prevents support for stdio builtins, which we however declare as part of the common builtins.def contents. */ - { "format", 3, 3, false, true, true, fake_attribute_handler }, - { "format_arg", 1, 1, false, true, true, fake_attribute_handler }, + { "format", 3, 3, false, true, true, fake_attribute_handler, false }, + { "format_arg", 1, 1, false, true, true, fake_attribute_handler, false }, - { NULL, 0, 0, false, false, false, NULL } + { NULL, 0, 0, false, false, false, NULL, false } }; /* Associates a GNAT tree node to a GCC tree node. It is used in -- cgit v1.1