| # Test macro scoping. |
| # Copyright 2002 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 |
| # the Free Software Foundation; either version 2 of the License, or |
| # (at your option) any later version. |
| # |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with this program; if not, write to the Free Software |
| # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
| |
| # Please email any bugs, comments, and/or additions to this file to: |
| # bug-gdb@prep.ai.mit.edu |
| |
| if $tracelevel then { |
| strace $tracelevel |
| } |
| |
| set prms_id 0 |
| set bug_id 0 |
| |
| set testfile "macscp" |
| set binfile ${objdir}/${subdir}/${testfile} |
| set additional_flags "additional_flags=-O3" |
| |
| if ![istarget "powerpc-apple-darwin*"] { |
| verbose "Skipping PPC-specific inline test." |
| return |
| } |
| |
| if {[gdb_compile "${srcdir}/${subdir}/macscp1.c" "${binfile}" executable [list debug $additional_flags]] != "" } { |
| gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." |
| } |
| |
| if {$debug_default_format_is_dwarf == 0 } then { |
| return; |
| } |
| |
| gdb_exit |
| gdb_start |
| gdb_reinitialize_dir $srcdir/$subdir |
| gdb_file_cmd "${binfile}" |
| |
| send_gdb "set width 0\n" |
| gdb_expect -re "$gdb_prompt $" |
| |
| gdb_test "break main" "Breakpoint 1 at $hex: file.*, line 69\\." "Set breakpoint at main" |
| |
| gdb_test "run" "Starting program: $binfile *\r\n\Reading symbols for shared libraries \(\[.+\]\)+ done.*Breakpoint 1, main.*" "continue to breakpoint in main()" |
| |
| |
| |
| gdb_test "next" ".*macscp1_1.*70.*" "Next 0" |
| |
| gdb_test "next" ".*macscp2_1.*71.*" "Next 1" |
| |
| gdb_test "next" ".*macscp4_1_from_macscp2.*72.*" "Next 2" |
| |
| gdb_test "next" ".*macscp4_2_from_macscp2.*73.*" "Next 3" |
| |
| gdb_test "next" ".*macscp2_2.*74.*" "Next 4" |
| |
| gdb_test "next" ".*macscp1_2.*75.*" "Next 5" |
| |
| gdb_test "next" ".*macscp3_1.*76.*" "Next 6" |
| |
| gdb_test "next" ".*macscp4_1_from_macscp3.*77.*" "Next 7" |
| |
| gdb_test "next" ".*macscp4_2_from_macscp3.*78.*" "Next 8" |
| |
| gdb_test "next" ".*macscp3_2.*80.*" "Next 9" |
| |
| gdb_test "next" ".*79.*" "Next 10" |
| |
| gdb_test "next" ".*" "Next 11" |
| |
| gdb_test "continue" ".*Continuing.*macscp1_3.*Program exited with code" "Continue to end" |
| |
| gdb_test "run" "Starting program:.*Breakpoint 1.*" "Re-starting program" |
| |
| gdb_test "step" ".*39.*puts.*" "Step 1" |
| |
| gdb_test "step" "macscp1_1.*70 macscp2_1.*" "Step 2" |
| |
| gdb_test "step" ".*10 puts.*" "Step 3" |
| |
| gdb_test "step" "macscp2_1.*71 macscp4_1_from_macscp2.*" "Step 4" |
| |
| gdb_test "step" ".*24 puts .*" "Step 5" |
| |
| gdb_test "step" "macscp4_1_from_macscp2.*72 macscp4_2_from_macscp2.*" "Step 6" |
| |
| gdb_test "step" ".*41 puts.*" "Step 7" |
| |
| gdb_test "step" "macscp4_2_from_macscp2.*73 macscp2_2.*" "Step 8" |
| |
| gdb_test "step" ".*22 puts.*" "Step 9" |
| |
| gdb_test "step" "macscp2_2.*74 macscp1_2.*" "Step 10" |
| |
| gdb_test "step" ".*51 puts.*" "Step 11" |
| |
| gdb_test "step" "macscp1_2.*75 macscp3_1.*" "Step 12" |
| |
| gdb_test "step" ".*10 puts.*" "Step 13" |
| |
| gdb_test "step" "macscp3_1.*76 macscp4_1_from_macscp3.*" "Step 14" |
| |
| gdb_test "step" ".*24 puts.*" "Step 15" |
| |
| gdb_test "step" "macscp4_1_from_macscp3.*77 macscp4_2_from_macscp3.*" "Step 16" |
| |
| gdb_test "step" ".*41 puts.*" "Step 17" |
| |
| gdb_test "step" "macscp4_2_from_macscp3.*78 macscp3_2.*" "Step 18" |
| |
| gdb_test "step" ".*22 puts.*" "Step 19" |
| |
| gdb_test "step" "macscp3_2.*80.*" "Step 20" |
| |
| gdb_test "step" "main.*macscp1.c:79.*79 macscp1_3.*" "Step 21" |
| |
| gdb_test "step" ".*63 puts.*" "Step 22" |
| |
| gdb_test "continue" "Continuing..*macscp1_3.*Program exited with code.*" "Continue to end" |
| |
| #gdb_load ${binfile} |
| |
| |
| #gdb_test "list macscp4_2_from_macscp2" ".*macscp4_2_, MACSCP4_INCLUSION.*" |
| #gdb_test "list macscp4_2_from_macscp3" ".*macscp4_2_, MACSCP4_INCLUSION.*" |
| |
| |
| # Start the program running. |
| if {! [runto_main]} { |
| fail "macro tests suppressed: couldn't run to main" |
| return 0 |
| } |