http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55742



--- Comment #44 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-01-30 
18:04:49 UTC ---

Author: jakub

Date: Wed Jan 30 18:04:34 2013

New Revision: 195584



URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=195584

Log:

    PR c++/55742

    * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Diagnose

    invalid args instead of ICEing on it.

    (ix86_valid_target_attribute_tree): Return error_mark_node if

    ix86_valid_target_attribute_inner_p failed.

    (ix86_valid_target_attribute_p): Return false only if

    ix86_valid_target_attribute_tree returned error_mark_node.  Allow

    target("default") attribute.

    (sorted_attr_string): Change argument from const char * to tree,

    merge in all target attribute arguments rather than just one.

    Formatting fix.  Use XNEWVEC instead of xmalloc and XDELETEVEC

    instead of free.  Avoid using strcat.

    (ix86_mangle_function_version_assembler_name): Mangle

    target("default") as if no target attribute is present.  Adjust

    sorted_attr_string caller.  Avoid leaking memory.  Use XNEWVEC

    instead of xmalloc and XDELETEVEC instead of free.

    (ix86_function_versions): Don't return true if one of the decls

    doesn't have target attribute.  If they don't and one of the decls

    is DECL_FUNCTION_VERSIONED, report an error.  Adjust

    sorted_attr_string caller.  Use XDELETEVEC instead of free.

    (ix86_supports_function_versions): Remove.

    (make_name): Fix up formatting.

    (make_dispatcher_decl): Remove resolver_name and its initialization.

    Avoid leaking memory.

    (is_function_default_version): Return true if there is

    target("default") attribute rather than no target attribute at all.

    (make_resolver_func): Avoid leaking memory.

    (ix86_generate_version_dispatcher_body): Likewise.

    (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Remove.

    * target.def (supports_function_versions): Remove.

    * doc/tm.texi.in (SUPPORTS_FUNCTION_VERSIONS): Remove.

    * doc/tm.texi: Regenerated.



    * c-common.c (handle_target_attribute): Revert 2012-12-26 change.



    * g++.dg/mv1.C: Moved to...

    * g++.dg/ext/mv1.C: ... here.  Adjust test.

    * g++.dg/mv2.C: Moved to...

    * g++.dg/ext/mv2.C: ... here.  Adjust test.

    * g++.dg/mv3.C: Moved to...

    * g++.dg/ext/mv3.C: ... here.

    * g++.dg/mv4.C: Moved to...

    * g++.dg/ext/mv4.C: ... here.

    * g++.dg/mv5.C: Moved to...

    * g++.dg/ext/mv5.C: ... here.  Adjust test.

    * g++.dg/mv6.C: Moved to...

    * g++.dg/ext/mv6.C: ... here.  Adjust test.

    * g++.dg/ext/mv7.C: New test.

    * g++.dg/ext/mv8.C: New test.

    * g++.dg/ext/mv9.C: New test.

    * g++.dg/ext/mv10.C: New test.

    * g++.dg/ext/mv11.C: New test.



Added:

    trunk/gcc/testsuite/g++.dg/ext/mv1.C

      - copied, changed from r195583, trunk/gcc/testsuite/g++.dg/mv1.C

    trunk/gcc/testsuite/g++.dg/ext/mv10.C

    trunk/gcc/testsuite/g++.dg/ext/mv11.C

    trunk/gcc/testsuite/g++.dg/ext/mv2.C

      - copied, changed from r195583, trunk/gcc/testsuite/g++.dg/mv2.C

    trunk/gcc/testsuite/g++.dg/ext/mv3.C

      - copied unchanged from r195583, trunk/gcc/testsuite/g++.dg/mv3.C

    trunk/gcc/testsuite/g++.dg/ext/mv4.C

      - copied unchanged from r195583, trunk/gcc/testsuite/g++.dg/mv4.C

    trunk/gcc/testsuite/g++.dg/ext/mv5.C

      - copied, changed from r195583, trunk/gcc/testsuite/g++.dg/mv5.C

    trunk/gcc/testsuite/g++.dg/ext/mv6.C

      - copied, changed from r195583, trunk/gcc/testsuite/g++.dg/mv6.C

    trunk/gcc/testsuite/g++.dg/ext/mv7.C

    trunk/gcc/testsuite/g++.dg/ext/mv8.C

    trunk/gcc/testsuite/g++.dg/ext/mv9.C

Removed:

    trunk/gcc/testsuite/g++.dg/mv1.C

    trunk/gcc/testsuite/g++.dg/mv2.C

    trunk/gcc/testsuite/g++.dg/mv3.C

    trunk/gcc/testsuite/g++.dg/mv4.C

    trunk/gcc/testsuite/g++.dg/mv5.C

    trunk/gcc/testsuite/g++.dg/mv6.C

Modified:

    trunk/gcc/ChangeLog

    trunk/gcc/c-family/ChangeLog

    trunk/gcc/c-family/c-common.c

    trunk/gcc/config/i386/i386.c

    trunk/gcc/doc/tm.texi

    trunk/gcc/doc/tm.texi.in

    trunk/gcc/target.def

    trunk/gcc/testsuite/ChangeLog

Reply via email to