# Copyright 2005 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.  

#
# test running programs
#

load_lib mi-support.exp
set MIFLAGS "-i=mi1"

gdb_exit
if [mi_gdb_start] {
    continue
}

set testfile "nested-inlines"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}

if ![istarget "powerpc-apple-darwin*"] {
    verbose "Skipping PPC-specific inline test."
    return
}

set additional_flags "additional_flags=-O3"
if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${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;
}

mi_gdb_test "90-gdb-set auto-raise-load-levels 1" ".*90\\^done"  "Set auto-raise-load-levels"

mi_gdb_test "93-gdb-set env SHELL /bin/tcsh" "93\\^done" "Set env SHELL"

mi_gdb_test "95-gdb-set env NSUnbufferedIO YES" "95\\^done"  "Set env NSUnbufferedIO"

mi_gdb_test "97-gdb-set env DYLD_NEW_LOCAL_SHARED_REGIONS YES" "97\\^done"  "Set env DYLD_NEW_LOCAL_SHARED_REGIONS"

mi_gdb_test "100-gdb-set env DYLD_NO_FIX_PREBINDING YES" "100\\^done" "Set dnv DYLD_NO_FIX_PREBINDING"

mi_gdb_test "101-gdb-set env SECURITYSESSIONID 485830" "101\\^done"  "Set env SECURITYSESSIONID"

mi_gdb_test "105-gdb-set inferior-auto-start-cfm off" "105\\^done" "Set inferior-auto-start-cfm"

mi_delete_breakpoints
mi_gdb_reinitialize_dir $srcdir/$subdir
mi_gdb_load ${binfile}

mi_gdb_test "117-exec-arguments" "117\\^done" "exec-arguments"

mi_gdb_test "118sharedlibrary apply-load-rules all" ".*118\\^done"  "sharedlibrary apply-load-rules all"

mi_gdb_test "119-mi-verify-command file-fix-file-is-grooved" "119\\^done,name=\"file-fix-file-is-grooved\",defined=\"true\",implemented=\"true\""  "verify file-fix-file-is-grooved"

mi_gdb_test "120-file-fix-file-is-grooved" "120\\^done,supported=\"1\",details=\"Yes grooved!\"" "file-fix-file-is-grooved"

mi_gdb_test "121-break-insert -l -1 -f  -s $binfile \"$srcfile:12\"" "121\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*$srcfile\",line=\"12\",shlib=\"$binfile\",times=\"0\"\}" "Set breakpoint at main"

mi_gdb_test "122-data-list-register-names" "122\\^done,register-names=\\\[\"r0\",\"r1\",\"r2\",\"r3\",\"r4\",\"r5\",\"r6\",\"r7\",\"r8\",\"r9\",\"r10\",\"r11\",\"r12\",\"r13\",\"r14\",\"r15\",\"r16\",\"r17\",\"r18\",\"r19\",\"r20\",\"r21\",\"r22\",\"r23\",\"r24\",\"r25\",\"r26\",\"r27\",\"r28\",\"r29\",\"r30\",\"r31\",\"f0\",\"f1\",\"f2\",\"f3\",\"f4\",\"f5\",\"f6\",\"f7\",\"f8\",\"f9\",\"f10\",\"f11\",\"f12\",\"f13\",\"f14\",\"f15\",\"f16\",\"f17\",\"f18\",\"f19\",\"f20\",\"f21\",\"f22\",\"f23\",\"f24\",\"f25\",\"f26\",\"f27\",\"f28\",\"f29\",\"f30\",\"f31\",\"v0\",\"v1\",\"v2\",\"v3\",\"v4\",\"v5\",\"v6\",\"v7\",\"v8\",\"v9\",\"v10\",\"v11\",\"v12\",\"v13\",\"v14\",\"v15\",\"v16\",\"v17\",\"v18\",\"v19\",\"v20\",\"v21\",\"v22\",\"v23\",\"v24\",\"v25\",\"v26\",\"v27\",\"v28\",\"v29\",\"v30\",\"v31\",\"pc\",\"ps\",\"cr\",\"lr\",\"ctr\",\"xer\",\"mq\",\"fpscr\",\"vscr\",\"vrsave\"\\\]" "data-list-register-names"

send_gdb "123-exec-run\n"
gdb_expect {
    -re  ".*running\[\r\n]$gdb_prompt (\r\n=shlibs-added.*)*" {
    pass "Exec run"
    }
}

# mi_gdb_test "123-exec-run" ".*running.*"  "Exec run"

gdb_expect { -re ".*stopped.*$gdb_prompt" { pass "Stopped at first breakpoint" }
  -re "$gdb_prompt $" {
      fail "failed to hit first breakpoint"
  }
  timeout {
      fail "(timeout) failed to hit first breakpoint" 
  }
}

mi_gdb_test "125-pid-info" "125\\^done,process-id=\"$decimal\".*" "pid-info"

mi_gdb_test "126-thread-list-ids" "126\\^done,thread-ids={thread-id=\"1\"},number-of-threads=\"1\"" "thread-list-ids"

mi_gdb_test "127-mi-verify-command stack-list-frames-lite" "127\\^done,name=\"stack-list-frames-lite\",defined=\"true\",implemented=\"true\""  "Verify stack-list-frames-lite"

mi_gdb_test "0-thread-select 1" "0\\^done,new-thread-id=\"1\",frame=\{func=\"main\",args=\\\[\{name=\"argc\",value=\"1\"\},\{name=\"argv\",value=\"<value temporarily unavailable, due to optimizations>\"\}\\\],file=\".*$srcfile\",fullname=\".*$srcfile\",line=\"12\"\,dir=\".*\"\},line=\"12\",file=\".*$srcfile\"" "thread-select 1"

mi_gdb_test "128-stack-list-frames-lite -limit 500" "128\\^done,frames=\\\[0=\{pc=\"$hex\",fp=\"$hex\"\}\\\],valid=\"1\",count=\"1\""  "stack-list-frames-lite"

mi_gdb_test "129-stack-list-frames 0 0" "129\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",fp=\"$hex\",func=\"main\",file=\".*$srcfile\",fullname=\".*$srcfile\",line=\"12\",dir=\".*\"\}\\\]" "stack-list-frames 0 0"

mi_gdb_test "10-stack-select-frame 0" "10\\^done"  "Select stack frame 0"

mi_gdb_test "131-stack-list-arguments 2 0 0" "131\\^done,stack-args=\\\[frame=\{level=\"0\",args=\\\[varobj=\{exp=\"argc\",value=\"1\",name=\"var1\",numchild=\"0\",type=\"int\",typecode=\"INT\",dynamic_type=\"\",resolved_type=\"int\",in_scope=\"true\",block_start_addr=\"$hex\",block_end_addr=\"$hex\"\},varobj=\{exp=\"argv\",value=\"<value temporarily unavailable, due to optimizations>\",name=\"var2\",numchild=\"1\",type=\"char \\\*\\\*\",typecode=\"PTR\",dynamic_type=\"\",resolved_type=\"char \\\*\\\*\",in_scope=\"true\",block_start_addr=\"$hex\",block_end_addr=\"$hex\"\}\\\]\}\\\]" "stack-list-arguments 2 0 0"

mi_gdb_test "20-stack-select-frame 0" "20\\^done"  "Select stack frame 0"

mi_gdb_test "132-stack-list-locals 2 1" "132\\^done,locals=\\\[varobj=\{exp=\"x\",value=\"<value temporarily unavailable, due to optimizations>\",name=\"var3\",numchild=\"0\",type=\"int\",typecode=\"INT\",dynamic_type=\"\",resolved_type=\"int\",in_scope=\"true\",block_start_addr=\"$hex\",block_end_addr=\"$hex\"\},varobj=\{exp=\"result\",value=\"<value temporarily unavailable, due to optimizations>\",name=\"var4\",numchild=\"0\",type=\"int\",typecode=\"INT\",dynamic_type=\"\",resolved_type=\"int\",in_scope=\"false\",block_start_addr=\"$hex\",block_end_addr=\"$hex\"\},varobj=\{exp=\"n\",value=\"<value temporarily unavailable, due to optimizations>\",name=\"var5\",numchild=\"0\",type=\"int\",typecode=\"INT\",dynamic_type=\"\",resolved_type=\"int\",in_scope=\"false\",block_start_addr=\"$hex\",block_end_addr=\"$hex\"\},varobj=\{exp=\"i\",value=\"<value temporarily unavailable, due to optimizations>\",name=\"var6\",numchild=\"0\",type=\"int\",typecode=\"INT\",dynamic_type=\"\",resolved_type=\"int\",in_scope=\"false\",block_start_addr=\"$hex\",block_end_addr=\"$hex\"\},varobj=\{exp=\"buffer\",value=\"<value temporarily unavailable, due to optimizations>\",name=\"var7\",numchild=\"1\",type=\"char \\\*\",typecode=\"PTR\",dynamic_type=\"\",resolved_type=\"char \\\*\",in_scope=\"false\",block_start_addr=\"$hex\",block_end_addr=\"$hex\"\}\\\]" "stack-list-locals 2 1"

mi_gdb_test "133-mi-verify-command file-list-statics" "133\\^done,name=\"file-list-statics\",defined=\"true\",implemented=\"true\""  "verify file-list-statics"

mi_gdb_test "134-file-list-statics -file \"\\\*CURRENT FRAME\\\*\" -shlib \"\" --no-values -filter \"\\^_OBJC\" -constants 0" "134\\^done,statics=\\\[\\\]" "file-list-statics"

mi_gdb_test "30-stack-select-frame 0" "30\\^done"  "Select stack frame 0"

mi_gdb_test "135-var-update  \"var1\" \"var2\" \"var3\" \"var4\" \"var5\" \"var6\" \"var7\"" "135\\^done,changelist=\\\[\\\]" "var-update vars 1-7"

mi_gdb_test "136-exec-next" "136\\^running.*136\\\*stopped,reason=\"end-stepping-range\",thread-id=\"1\""  "Exec next"

mi_gdb_test "137-thread-list-ids" "137\\^done,thread-ids=\{thread-id=\"1\"\},number-of-threads=\"1\"" "thread-list-ids"

mi_gdb_test "138-stack-list-frames-lite -limit 500" "138\\^done,frames=\\\[0=\{pc=\"$hex\",fp=\"$hex\"\}\\\],valid=\"1\",count=\"1\""  "stack-list-frames-lite"

mi_gdb_test "139-stack-list-frames 0 0" "139\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",fp=\"$hex\",func=\"main\",file=\".*$srcfile\",fullname=\".*$srcfile\",line=\"14\",dir=\".*\"\}\\\]"  "stack-list-frames 0 0"

mi_gdb_test "40-stack-select-frame 0" "40\\^done"  "Select stack frame 0"

mi_gdb_test "142-var-update  \"var1\" \"var2\" \"var3\" \"var4\" \"var5\" \"var6\" \"var7\"" "142\\^done,changelist=\\\[varobj=\{name=\"var1\",in_scope=\"true\",type_changed=\"false\"\},varobj=\{name=\"var4\",in_scope=\"true\",type_changed=\"false\"\},varobj=\{name=\"var5\",in_scope=\"true\",type_changed=\"false\"\},varobj=\{name=\"var6\",in_scope=\"true\",type_changed=\"false\"\}.*\\\]" "var-update"

mi_gdb_test "50-stack-select-frame 0" "50\\^done"  "Select stack frame 0"

mi_gdb_test "143-var-evaluate-expression \"var1\"" "143\\^done,value=\"<value temporarily unavailable, due to optimizations>\""  "var-evaluate-expression var1"

mi_gdb_test "60-stack-select-frame 0" "60\\^done"  "Select stack frame 0"

mi_gdb_test "144-var-evaluate-expression \"var4\"" "144\\^done,value=\"<value temporarily unavailable, due to optimizations>\""  "var-evaluate-expression var4"

mi_gdb_test "70-stack-select-frame 0" "70\\^done"  "Select stack frame 0"

mi_gdb_test "145-var-evaluate-expression \"var5\"" "145\\^done,value=\"<value temporarily unavailable, due to optimizations>\"" "var-evaluate-expression var5"

mi_gdb_test "80-stack-select-frame 0" "80\\^done"  "Select stack frame 0"

mi_gdb_test "146-var-evaluate-expression \"var6\"" "146\\^done,value=\"<value temporarily unavailable, due to optimizations>\"" "var-evaluate-expression var6"

mi_gdb_test "90-stack-select-frame 0" "90\\^done"  "Select stack frame 0"

mi_gdb_test "147-var-evaluate-expression \"var7\"" "147\\^done,value=\"<value temporarily unavailable, due to optimizations>\"" "var-evaluate-expression var7"

# mi_gdb_test "148-data-read-memory -- 0x00000000 x 1 1 100" "148\\^done,addr=\"$hex\",nr-bytes=\"0\",total-bytes=\"100\",next-row=\"$hex\",prev-row=\"$hex\",next-page=\"$hex\",prev-page=\"$hex\",memory=\\\[\{addr=\"$hex\",data=\\\[\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\"\\\]\}\\\]"  "data-read-memory"

mi_gdb_test "149-exec-next" "149\\^running.*149\\\*stopped,reason=\"end-stepping-range\",thread-id=\"1\"" "exec next"

mi_gdb_test "150-thread-list-ids" "150\\^done,thread-ids=\{thread-id=\"1\"\},number-of-threads=\"1\"" "thread-list-ids"

mi_gdb_test "151-stack-list-frames-lite -limit 500" "151\\^done,frames=\\\[0=\{pc=\"$hex\",fp=\"$hex\"\}\\\],valid=\"1\",count=\"1\"" "stack-list-frames-lite"

mi_gdb_test "152-stack-list-frames 0 0" "152\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",fp=\"$hex\",func=\"main\",file=\".*$srcfile\",fullname=\".*$srcfile\",line=\"16\",dir=\".*\"\}\\\]"  "stack-list-frames 0 0"

mi_gdb_test "200-stack-select-frame 0" "200\\^done"  "Select stack frame 0"

mi_gdb_test "155-var-update  \"var1\" \"var2\" \"var3\" \"var4\" \"var5\" \"var6\" \"var7\"" "155\\^done,changelist=\\\[varobj=\{name=\"var3\",in_scope=\"true\",type_changed=\"false\"\}.*\\\]"  "var-update"

mi_gdb_test "210-stack-select-frame 0" "210\\^done" "Select stack frame 0"

mi_gdb_test "156-var-evaluate-expression \"var3\"" "156\\^done,value=\"12345\"" "var-evaluate-expression var3"

mi_gdb_test "157-exec-next" "157\\^running.*157\\\*stopped,reason=\"end-stepping-range\",thread-id=\"1\"" "Exec next"

mi_gdb_test "158-thread-list-ids" "158\\^done,thread-ids=\{thread-id=\"1\"\},number-of-threads=\"1\"" "thread-list-ids"

mi_gdb_test "159-stack-list-frames-lite -limit 500" "159\\^done,frames=\\\[0=\{pc=\"$hex\",fp=\"$hex\"\}\\\],valid=\"1\",count=\"1\"" "stack-list-frames-lite"

mi_gdb_test "160-stack-list-frames 0 0" "160\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",fp=\"$hex\",func=\"main\",file=\".*$srcfile\",fullname=\".*$srcfile\",line=\"19\",dir=\".*\"\}\\\]" "stack-list-frames 0 0"

mi_gdb_test "220-stack-select-frame 0"  "220\\^done" "Select stack frame 0"

mi_gdb_test "163-var-update  \"var1\" \"var2\" \"var3\" \"var4\" \"var5\" \"var6\" \"var7\"" "163\\^done,changelist=\\\[\\\]" "var-update vars 1-7"

mi_gdb_test "164-exec-continue" "164\\^running.*164\\\*stopped,reason=\"exited-normally\"" "Finish program"

mi_gdb_exit
return 0
