]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/attribs.c
2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
authoriverbin <iverbin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 30 Oct 2015 18:17:43 +0000 (18:17 +0000)
committeriverbin <iverbin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 30 Oct 2015 18:17:43 +0000 (18:17 +0000)
commitab50af2a61a65a027bb4bba7c7dc4cc9fbfd1a19
treeddea4c378db574f26e36e6c93fd1c8beeb9c4864
parent00fff882eb09610bfd194b4c9c86d9cf982a71ff
2015-10-30  Evgeny Stupachenko  <evstupac@gmail.com>

gcc/
* Makefile.in (OBJS): Add multiple_target.o.
* attrib.c (make_attribute): Moved from config/i386/i386.c
* config/i386/i386.c (make_attribute): Deleted.
* multiple_target.c (create_dispatcher_calls): New.
(get_attr_len): Ditto.
(get_attr_str): Ditto.
(separate_attrs): Ditto.
(is_valid_asm_symbol): Ditto.
(create_new_asm_name): Ditto.
(create_target_clone): Ditto.
(expand_target_clones): Ditto.
(ipa_target_clone): Ditto.
(ipa_dispatcher_calls): Ditto.
* passes.def (pass_target_clone): Two new ipa passes.
* tree-pass.h (make_pass_target_clone): Ditto.
* doc/extend.texi (target_clones): New attribute description.
gcc/c-family/
* c-common.c (handle_target_clones_attribute): New.
(c_common_attribute_table): Add handle_target_clones_attribute.
(handle_always_inline_attribute): Add check on target_clones attribute.
(handle_target_attribute): Ditto.
gcc/testsuite/
* gcc.dg/mvc1.c: New test for multiple targets cloning.
* gcc.dg/mvc2.c: Ditto.
* gcc.dg/mvc3.c: Ditto.
* gcc.dg/mvc4.c: Ditto.
* gcc.dg/mvc5.c: Ditto.
* gcc.dg/mvc6.c: Ditto.
* gcc.dg/mvc7.c: Ditto.
* g++.dg/ext/mvc1.C: Ditto.
* g++.dg/ext/mvc2.C: Ditto.
* g++.dg/ext/mvc3.C: Ditto.
* g++.dg/ext/mvc4.C: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229595 138bc75d-0d04-0410-961f-82ee72b054a4
23 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/attribs.c
gcc/attribs.h
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/config/i386/i386.c
gcc/doc/extend.texi
gcc/multiple_target.c [new file with mode: 0644]
gcc/passes.def
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/mvc1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/mvc2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/mvc3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/mvc4.C [new file with mode: 0644]
gcc/testsuite/gcc.dg/mvc1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/mvc2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/mvc3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/mvc4.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/mvc5.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/mvc6.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/mvc7.c [new file with mode: 0644]
gcc/tree-pass.h