OSDN Git Service

2004-09-16 Frank Ch. Eigler <fche@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / bprob / bprob.exp
index ea458fa..90cb99a 100644 (file)
@@ -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
@@ -27,8 +27,6 @@ if { ![check_profiling_available "-fprofile-arcs"] } {
 
 # 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 {
@@ -52,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
 }