if [info exists COMPILE] {
# make check RUNTESTFLAGS="gdb.arch/amd64-entry-value.exp COMPILE=1"
set srcfile ${testfile}.cc
- lappend opts debug optimize=-O2
+ lappend opts debug
+ lappend opts optimize=-O2
+ lappend opts c++
} else {
require is_x86_64_m64_target
}
if [info exists COMPILE] {
# make check RUNTESTFLAGS="gdb.arch/amd64-tailcall-cxx.exp COMPILE=1"
standard_testfile amd64-tailcall-cxx1.cc amd64-tailcall-cxx2.cc
- lappend opts debug optimize=-O2
+ lappend opts debug
+ lappend opts optimize=-O2
+ lappend opts c++
} else {
require is_x86_64_m64_target
}
standard_testfile .cc
-if {[prepare_for_testing "failed to prepare" ${binfile} ${srcfile}]} {
+set flags {}
+lappend flags debug
+lappend flags c++
+
+if {[prepare_for_testing "failed to prepare" ${binfile} ${srcfile} $flags]} {
return
}
standard_testfile persistent-lang.cc
-if {[build_executable "failed to prepare" $testfile $srcfile debug]} {
+set flags {}
+lappend flags debug
+lappend flags c++
+
+if {[build_executable "failed to prepare" $testfile $srcfile $flags]} {
return -1
}
standard_testfile .cc
-if {[build_executable "failed to prepare" $testfile $srcfile debug]} {
+set flags {}
+lappend flags debug
+lappend flags c++
+
+if {[build_executable "failed to prepare" $testfile $srcfile $flags]} {
return -1
}
standard_testfile .cc
-if {[prepare_for_testing "failed to prepare" $testfile $srcfile debug]} {
+set flags {}
+lappend flags debug
+lappend flags c++
+
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile $flags]} {
return -1
}
standard_testfile .cc
-if {[prepare_for_testing "failed to prepare" $testfile $srcfile debug]} {
+set flags {}
+lappend flags debug
+lappend flags c++
+
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile $flags]} {
return -1
}
standard_testfile .cc -dw.S
-if {[prepare_for_testing "failed to prepare" $testfile $srcfile \
- {debug c++}]} {
+set flags_debug {}
+lappend flags_debug debug
+lappend flags_debug c++
+
+set flags_nodebug {}
+lappend flags_nodebug nodebug
+lappend flags_nodebug c++
+
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile $flags_debug]} {
return -1
}
Dwarf::assemble $asm_file {
set main_result \
- [function_range main ${::srcdir}/${::subdir}/${::srcfile}]
+ [function_range main ${::srcdir}/${::subdir}/${::srcfile} $::flags_debug]
set main_start [lindex $main_result 0]
set main_length [lindex $main_result 1]
}
if { [prepare_for_testing "failed to prepare" ${testfile} \
- [list $srcfile $asm_file] {nodebug}] } {
+ [list $srcfile $asm_file] $::flags_nodebug] } {
return -1
}
set opts {}
lappend opts debug
+lappend opts c++
lappend opts additional_flags=-std=c++11
if {[prepare_for_testing "failed to prepare" $testfile $srcfile $opts]} {
standard_testfile .cc .S
set asm_file [standard_output_file ${srcfile2}]
-if [prepare_for_testing "failed to prepare" $testfile $srcfile {debug c++}] {
+set flags_debug {}
+lappend flags_debug debug
+lappend flags_debug c++
+
+set flags_nodebug {}
+lappend flags_nodebug nodebug
+lappend flags_nodebug c++
+
+if [prepare_for_testing "failed to prepare" $testfile $srcfile $flags_debug] {
return
}
set addr_size [get_sizeof "void *" -1]
set struct_base_size [get_sizeof "base" 4]
set struct_complete_size [get_sizeof "complete" 4]
-get_func_info foo
+get_func_info foo $flags_debug
# Create fake DWARF for the .cc file.
# This is the best way to ensure we have an incomplete type.
}
}
-if [prepare_for_testing "failed to prepare" $testfile [list $asm_file $srcfile] {}] {
+if [prepare_for_testing "failed to prepare" $testfile \
+ [list $asm_file $srcfile] $flags_nodebug] {
return
}
require !readnow
-if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } {
+set opts {}
+lappend opts debug
+lappend opts c++
+
+if { [prepare_for_testing "failed to prepare" $testfile $srcfile $opts] } {
return -1
}
set opts {}
lappend opts debug
+lappend opts c++
lappend opts additional_flags=-std=c++11
if { [prepare_for_testing "failed to prepare" $testfile $srcfile $opts] } {
include_file minsym-fallback.h
+set debug_flags {}
+lappend debug_flags debug
+lappend debug_flags c++
+
+set nodebug_flags {}
+lappend nodebug_flags nodebug
+lappend nodebug_flags c++
+
set executable $testfile
set objfile [standard_output_file ${testfile}.o]
set objmainfile [standard_output_file ${testfile}-main.o]
-if {[gdb_compile $srcdir/$subdir/$srcfile $objfile object {}] != ""
- || [gdb_compile $srcdir/$subdir/$srcfile2 $objmainfile object {debug}] != ""
- || [gdb_compile "$objfile $objmainfile" $binfile executable {c++}] != ""} {
+if {[gdb_compile $srcdir/$subdir/$srcfile $objfile object $nodebug_flags] != ""
+ || [gdb_compile $srcdir/$subdir/$srcfile2 $objmainfile object $debug_flags] != ""
+ || [gdb_compile "$objfile $objmainfile" $binfile executable $debug_flags] != ""} {
untested "failed to compile"
return -1
}
standard_testfile .cc
-if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] } {
+set flags {}
+lappend flags debug
+lappend flags c++
+
+if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} $flags] } {
return -1
}
set opts {}
lappend opts debug
+lappend opts c++
lappend opts additional_flags=-std=c++11
if {[prepare_for_testing "failed to prepare" "${testfile}" \
}
if { [prepare_for_testing "failed to prepare" ${testfile} \
- [list $srcfile $asm_file] {nodebug}] } {
+ [list $srcfile $asm_file] {nodebug c++}] } {
return -1
}
standard_testfile .cc .S
+set debug_flags {}
+lappend debug_flags debug
+lappend debug_flags c++
+
+set nodebug_flags {}
+lappend nodebug_flags nodebug
+lappend nodebug_flags c++
+
+get_func_info main $debug_flags
+
+
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
cu {} {
DW_TAG_subprogram {
{DW_AT_name "main"}
- {MACRO_AT_range "main"}
+ {DW_AT_low_pc $::main_start DW_FORM_addr}
+ {DW_AT_high_pc $::main_end DW_FORM_addr}
{DW_AT_type :$int}
{DW_AT_external 1 DW_FORM_flag}
} {
}
if { [prepare_for_testing "failed to prepare" ${testfile} \
- [list $srcfile $asm_file] {nodebug c++}] } {
+ [list $srcfile $asm_file] $nodebug_flags] } {
return -1
}
}
if { [prepare_for_testing "failed to prepare" ${testfile} \
- [list $srcfile $asm_file] {nodebug}] } {
+ [list $srcfile $asm_file] {nodebug c++}] } {
return -1
}
standard_testfile .cc
-if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] } {
+set flags {}
+lappend flags debug
+lappend flags c++
+
+if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} $flags] } {
return -1
}
set opts {}
lappend opts debug
+lappend opts c++
lappend opts additional_flags=-std=c++11
+set flags {}
+lappend flags debug
+
if {[prepare_for_testing "failed to prepare" $testfile \
[list $srcfile $srcfile2 $srcfile3 $srcfile4] $opts]} {
return -1
standard_testfile cpls-ops.cc
+set flags {}
+lappend flags debug
+lappend flags c++
+
if {[prepare_for_testing "failed to prepare" $testfile \
- [list $srcfile] {debug}]} {
+ [list $srcfile] $flags]} {
return -1
}