configure.ac (gnu_indirect_function): New test.
authorNathan Sidwell <nathan@codesourcery.com>
Thu, 9 Sep 2010 14:12:57 +0000 (14:12 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Thu, 9 Sep 2010 14:12:57 +0000 (14:12 +0000)
commitba885ec559ca39e0dc23641dbbe67cc0072378f3
treeda6907a1c5c815841942c5773bfc6c02f7b889e8
parente3cdb7cf9a0d934b9cdc24d40d730141e5752f60
configure.ac (gnu_indirect_function): New test.

* configure.ac (gnu_indirect_function): New test.
* configure: Rebuilt.
* config.in (HAVE_GAS_INDIRECT_FUNCTION): New.
* defaults.h (IFUNC_ASM_TYPE): Provide default.

* doc/extend.texi (Function Attributes): Document ifunc.
* varasm.c (do_assemble_alias): Deal with ifuncs too.

c-family/
* c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
(handle_alias_attribute): ... here.
(handle_ifunc_attribute): New.

testsuite/
* lib/target-supports-dg.exp (dg-require-ifunc): New.
* lib/target-supports.exp (check_ifunc_available): New.
* gcc.dg/attr-ifunc-1.c: New.
* gcc.dg/attr-ifunc-2.c: New.
* gcc.dg/attr-ifunc-3.c: New.
* gcc.dg/attr-ifunc-4.c: New.
* gcc.dg/attr-ifunc-5.c: New.
* testsuite/g++.dg/ext/attr-ifunc-1.C
* testsuite/g++.dg/ext/attr-ifunc-2.C
* testsuite/g++.dg/ext/attr-ifunc-3.C
* testsuite/g++.dg/ext/attr-ifunc-4.C

From-SVN: r164110
21 files changed:
gcc/ChangeLog
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/config.in
gcc/configure
gcc/configure.ac
gcc/defaults.h
gcc/doc/extend.texi
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/attr-ifunc-1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/attr-ifunc-2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/attr-ifunc-3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/attr-ifunc-4.C [new file with mode: 0644]
gcc/testsuite/gcc.dg/attr-ifunc-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/attr-ifunc-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/attr-ifunc-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/attr-ifunc-4.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/attr-ifunc-5.c [new file with mode: 0644]
gcc/testsuite/lib/target-supports-dg.exp
gcc/testsuite/lib/target-supports.exp
gcc/varasm.c