diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2011-07-22 08:29:35 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2011-07-22 08:29:35 +0200 |
commit | e05de0a910810a34fce108d85f0574a6be53b6e7 (patch) | |
tree | c99adb3c79c11d93db9d1c91378768bced806b7c | |
parent | 7fd72c6fb59fb512f5c040e5016bd1b4d407173b (diff) | |
download | gcc-e05de0a910810a34fce108d85f0574a6be53b6e7.zip gcc-e05de0a910810a34fce108d85f0574a6be53b6e7.tar.gz gcc-e05de0a910810a34fce108d85f0574a6be53b6e7.tar.bz2 |
target-supports.exp (check_ifunc_available): Rewrite.
* lib/target-supports.exp (check_ifunc_available): Rewrite.
From-SVN: r176616
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 45 |
2 files changed, 12 insertions, 37 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a63b647..bae0698 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2011-07-22 Uros Bizjak <ubizjak@gmail.com> + + * lib/target-supports.exp (check_ifunc_available): Rewrite. + 2011-07-21 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/47654 diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index bec4d6f..97e54b2 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -361,45 +361,16 @@ proc check_alias_available { } { return $alias_available_saved } -############################### -# proc check_ifunc_available { } -############################### - -# Determine if the target toolchain supports the ifunc attribute. - -# Returns 1 if the target supports ifunc. Returns 0 if the target -# does not support ifunc. +# Returns 1 if the target supports ifunc, 0 otherwise. proc check_ifunc_available { } { - global ifunc_available_saved - global tool - - if [info exists ifunc_available_saved] { - verbose "check_ifunc_available returning saved $ifunc_available_saved" 2 - } else { - set src ifunc[pid].c - set obj ifunc[pid].o - verbose "check_ifunc_available compiling testfile $src" 2 - set f [open $src "w"] - puts $f "#endif" - puts $f "#ifdef __cplusplus\nextern \"C\"\n#endif" - puts $f "void g() {}" - puts $f "void f() __attribute__((ifunc(\"g\")));" - close $f - set lines [${tool}_target_compile $src $obj object ""] - file delete $src - remote_file build delete $obj - - if [string match "" $lines] then { - set ifunc_available_saved 1 - } else { - set ifunc_available_saved 0 - } - - verbose "check_ifunc_available returning $ifunc_available_saved" 2 - } - - return $ifunc_available_saved + return [check_no_compiler_messages ifunc_available object { + #ifdef __cplusplus + extern "C" + #endif + void g() {} + void f() __attribute__((ifunc("g"))); + }] } # Returns true if --gc-sections is supported on the target. |