X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Ftestsuite%2Fg%2B%2B.dg%2Fbprob%2Fbprob.exp;h=90cb99a8228b405d5fe3ca7ad8de81fa99befd90;hb=6ab3444ba2be989344d53d83999ce6a64fe15465;hp=83a7de95c6a7f09fb89e6673d6317da30ba8e3bc;hpb=aa3389cc441bc0e992b273575c1d6c751ea5562b;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/testsuite/g++.dg/bprob/bprob.exp b/gcc/testsuite/g++.dg/bprob/bprob.exp index 83a7de95c6a..90cb99a8228 100644 --- a/gcc/testsuite/g++.dg/bprob/bprob.exp +++ b/gcc/testsuite/g++.dg/bprob/bprob.exp @@ -1,4 +1,4 @@ -# Copyright (C) 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,20 +17,16 @@ # Test the functionality of programs compiled with profile-directed block # ordering using -fprofile-arcs followed by -fbranch-probabilities. +load_lib target-supports.exp + # Some targets don't have any implementation of __bb_init_func or are # missing other needed machinery. -if { [istarget mmix-*-*] - || [istarget arm*-*-elf] - || [istarget strongarm*-*-elf] - || [istarget xscale*-*-elf] - || [istarget cris-*-*] } { +if { ![check_profiling_available "-fprofile-arcs"] } { return } # The procedures in profopt.exp need these parameters. set tool g++ -set profile_option -fprofile-arcs -set feedback_option -fbranch-probabilities set prof_ext gcda if $tracelevel then { @@ -54,12 +50,20 @@ if $tracelevel then { # Load support procs. load_lib profopt.exp +set profile_options "-fprofile-arcs" +set feedback_options "-fbranch-probabilities" +if {[check_profiling_available "-ftree-based-profiling"]} { + lappend profile_options "-ftree-based-profiling -fprofile-arcs" + lappend feedback_options "-ftree-based-profiling -fbranch-probabilities" +} + # Main loop. -foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.C]] { - # If we're only testing specific files and this isn't one of them, skip it. - if ![runtest_file_p $runtests $src] then { - continue +foreach profile_option $profile_options feedback_option $feedback_options { + foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.C]] { + # If we're only testing specific files and this isn't one of them, skip it. + if ![runtest_file_p $runtests $src] then { + continue + } + profopt-execute $src } - - profopt-execute $src }