set test "cast-scope" set ::result_string {function direct: {._str="Hello World!", ._l=12} function cast: {._str="Hello World!", ._l=12} mark cast: {._str="Hello World!", ._l=12} statement direct: {._str="Hello World!", ._l=12} statement cast: {._str="Hello World!", ._l=12}} set srcfile "$srcdir/$subdir/$test.cxx" set stpfile "$srcdir/$subdir/$test.stp" proc dyninst_kfails {index} { # The dyninst runtime isn't multi-arch, it only works on the # native architecture. PR14490. if {! [all_compile_flag_native_p $index]} { setup_kfail 14490 "*-*-*" } # On ppc, stapdyn does not retrieve all registers, causing # various failures (such as the inability to retrieve DWARF # vars in unoptimized code). PR15614. if {[string match ppc* $::tcl_platform(machine)] && \ ![all_compile_flag_optimized_p $index]} { setup_kfail 15614 "*-*-*" } } for {set i 0} {$i < [all_compile_flags]} {incr i} { set extra_flag [all_compile_flag $i] set extra_name [all_compile_flag_name $i] set test_flags "compiler=g++ additional_flags=-g [sdt_includes] $extra_flag" set res [target_compile "$srcfile" $test-$extra_name.exe \ executable "$test_flags"] if { $res != "" } { verbose "target_compile failed: $res" 2 fail "$test-$extra_name compile" untested "$test-$extra_name" continue } else { pass "$test-$extra_name compile" } if {[installtest_p]} { foreach runtime [get_runtime_list] { if {$runtime != ""} { if {[info procs ${runtime}_kfails] ne ""} { ${runtime}_kfails $i } stap_run3 "$test-$extra_name-$runtime" "$stpfile" \ -c ./$test-$extra_name.exe --runtime=$runtime } elseif {[uprobes_p]} { stap_run3 "$test-$extra_name" "$stpfile" \ -c ./$test-$extra_name.exe } else { untested "$test-$extra_name" } } } else { untested "$test-$extra_name" } catch {exec rm -f $test-$extra_name.exe} }