Commit | Line | Data |
---|---|---|
618f726f | 1 | # Copyright 1997-2016 Free Software Foundation, Inc. |
c906108c SS |
2 | |
3 | # This program is free software; you can redistribute it and/or modify | |
4 | # it under the terms of the GNU General Public License as published by | |
e22f8b7c | 5 | # the Free Software Foundation; either version 3 of the License, or |
c906108c | 6 | # (at your option) any later version. |
e22f8b7c | 7 | # |
c906108c SS |
8 | # This program is distributed in the hope that it will be useful, |
9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | # GNU General Public License for more details. | |
e22f8b7c | 12 | # |
c906108c | 13 | # You should have received a copy of the GNU General Public License |
e22f8b7c | 14 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
c906108c | 15 | |
c906108c | 16 | |
f8b41b00 | 17 | standard_testfile |
c906108c SS |
18 | |
19 | # Create and source the file that provides information about the compiler | |
20 | # used to compile the test case. | |
4c93b1db | 21 | if [get_compiler_info] { |
ae59b1da | 22 | return -1 |
c906108c SS |
23 | } |
24 | ||
25 | ||
26 | # This test must be compiled with -O2 if using gcc. | |
27 | ||
f8b41b00 | 28 | set options debug |
f6246aba | 29 | if { [test_compiler_info gcc-*-*] } then { |
f8b41b00 | 30 | lappend options additional_flags=-O2 additional_flags=-fno-inline |
c906108c SS |
31 | } |
32 | ||
f8b41b00 TT |
33 | if {[prepare_for_testing $testfile.exp $testfile $srcfile $options]} { |
34 | untested $testfile.exp | |
35 | return -1 | |
36 | } | |
c906108c SS |
37 | |
38 | if [runto middle] then { | |
39 | # PR 3016 | |
44097287 FN |
40 | # warning: Hit heuristic-fence-post without finding |
41 | # warning: enclosing function for pc 0x1006ead0 | |
f6246aba | 42 | if { [test_compiler_info gcc-*-*] } then { |
3831839c | 43 | setup_xfail "mips64*-*-elf" |
c906108c | 44 | } |
44097287 FN |
45 | # The call chain is main -> top -> middle. But gcc can optimize a tail |
46 | # call to a jump, so the stack may contain either main -> top -> middle | |
47 | # or main -> middle. | |
48 | gdb_test "backtrace" "#0.*middle.*#\[12\].*main.*" | |
c906108c SS |
49 | } |
50 | return 0 |