]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
[gdb/testsuite] Use c++ flag in c++ test-cases
authorTom de Vries <tdevries@suse.de>
Tue, 4 Feb 2025 12:53:20 +0000 (13:53 +0100)
committerTom de Vries <tdevries@suse.de>
Tue, 4 Feb 2025 12:53:20 +0000 (13:53 +0100)
In some cases, test-cases use c++, but don't add "c++" to the compilation
flags.  This can cause problems with some compilers.

Fix this in some test-cases.

Approved-By: Tom Tromey <tom@tromey.com>
PR testsuite/30380
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30380

21 files changed:
gdb/testsuite/gdb.arch/amd64-entry-value.exp
gdb/testsuite/gdb.arch/amd64-tailcall-cxx.exp
gdb/testsuite/gdb.base/condbreak-multi-context.exp
gdb/testsuite/gdb.base/main-psymtab.exp
gdb/testsuite/gdb.base/persistent-lang.exp
gdb/testsuite/gdb.base/skipcxx.exp
gdb/testsuite/gdb.base/start-cpp.exp
gdb/testsuite/gdb.cp/call-method-register.exp
gdb/testsuite/gdb.cp/empty-enum.exp
gdb/testsuite/gdb.cp/incomplete-type-overload.exp
gdb/testsuite/gdb.cp/main-cp.exp
gdb/testsuite/gdb.cp/method-call-in-c.exp
gdb/testsuite/gdb.cp/minsym-fallback.exp
gdb/testsuite/gdb.cp/vla-cxx.exp
gdb/testsuite/gdb.dwarf2/gdb-index-cxx.exp
gdb/testsuite/gdb.dwarf2/method-ptr.exp
gdb/testsuite/gdb.dwarf2/missing-type-name-for-templates.exp
gdb/testsuite/gdb.dwarf2/subrange.exp
gdb/testsuite/gdb.guile/types-module.exp
gdb/testsuite/gdb.linespec/cpcompletion.exp
gdb/testsuite/gdb.linespec/cpls-ops.exp

index 4a28b7ed1fd9cc84860110e258dfff67604f8377..3d119d072193f17255c3a930980006a00a5bf1e1 100644 (file)
@@ -19,7 +19,9 @@ set opts {nopie}
 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
 }
index 8bd26c4611ba4d51617ff54799ab491e34b3fc8d..24d99450f06c6c04034ed81c9c35fd9613bdd4b9 100644 (file)
@@ -19,7 +19,9 @@ standard_testfile amd64-tailcall-cxx1.S amd64-tailcall-cxx2.S
 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
 }
index 3af37081e449e7a61269880154a78df1b991664b..3a4fe37317b50aeef2e2926d0adbae14fac933b0 100644 (file)
 
 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
 }
 
index 2cd0d6145bf0fe4f504ddf2c4697695d611bd29b..cc0ca65ef89f21193ed7aeac11375128a42df7b1 100644 (file)
 
 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
 }
 
index f8139159a4fd7c4897eae66773a31fd54b716478..d3bedae1007db03fd25e140f2270b468c251d253 100644 (file)
 
 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
 }
 
index 60b8fa19cd5c41d40da8d9a99c82a7f28b735099..73beed8bb753abcf9f75300b1090f8727b8049b8 100644 (file)
 
 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
 }
 
index b4a036eac28a094fb8e6295bc33478afedd6e82f..330c6ea9a678dfd7ffa9cb5fd4b86589c3699739 100644 (file)
@@ -17,7 +17,11 @@ require !use_gdb_stub
 
 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
 }
 
index 1019d4fd8f32020e67c908fb7587097efd09fc6d..b06620fcb2db0e0aa58c92eb87fac3858fde5daf 100644 (file)
@@ -23,8 +23,15 @@ load_lib dwarf.exp
 
 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
 }
 
@@ -32,7 +39,7 @@ set asm_file [standard_output_file $srcfile2]
 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]
 
@@ -97,7 +104,7 @@ Dwarf::assemble $asm_file {
 }
 
 if { [prepare_for_testing "failed to prepare" ${testfile} \
-         [list $srcfile $asm_file] {nodebug}] } {
+         [list $srcfile $asm_file] $::flags_nodebug] } {
     return -1
 }
 
index 6816e86f8a64faed0c87a72be61fd729c59b7eb9..5fce4871b3ace784b0f6f7a4a77933dc50d93408 100644 (file)
@@ -31,6 +31,7 @@ standard_testfile .cc
 
 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]} {
index 1f94c3e6bc7a77b89152fdb5ae4af708d4248c43..83f09282df4cd7bd38b6e17f084bbeaeb05d0fcb 100644 (file)
@@ -25,7 +25,15 @@ require dwarf2_support allow_cplus_tests
 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
 }
 
@@ -38,7 +46,7 @@ set int_size [get_sizeof "int" -1]
 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.
@@ -159,7 +167,8 @@ Dwarf::assemble ${asm_file} {
     }
 }
 
-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
 }
 
index 6c247e9d22fd705029e4af4da362925a6c246492..98024bf366400acd0cb9bd24b7e1d03129f80d06 100644 (file)
@@ -20,7 +20,11 @@ standard_testfile main.cc
 
 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
 }
 
index 4676a1b06c6ef26aaf562657c8ea2feea34e571d..1c2b432c142b0227adb43556a36459bdcc349a7b 100644 (file)
@@ -22,6 +22,7 @@ standard_testfile .cc
 
 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] } {
index 19ff264893a735a4d437194e736ffa09af4b5027..6d8fd485840ba9eeefa4ffaabc03ecba56796840 100644 (file)
@@ -21,13 +21,21 @@ standard_testfile .cc minsym-fallback-main.cc
 
 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
 }
index bf3ca792d582148c4e356aac8d750a20c9aa3ae2..4303383d8f461163e96663572f469968f21a15e9 100644 (file)
 
 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
 }
 
index a62de7b1c72b399051516ac2e1ff09d2318c79cc..7083ab7be1757e171411d248293bb5f1fe444e43 100644 (file)
@@ -19,6 +19,7 @@ standard_testfile index.cc
 
 set opts {}
 lappend opts debug
+lappend opts c++
 lappend opts additional_flags=-std=c++11
 
 if {[prepare_for_testing "failed to prepare" "${testfile}" \
index 4b4c2229fc27d2881da42b53fcfdbf060b9095cf..9bb477681af3fbcf0290213b5709e5d30b0f6b4f 100644 (file)
@@ -76,7 +76,7 @@ Dwarf::assemble $asm_file {
 }
 
 if { [prepare_for_testing "failed to prepare" ${testfile} \
-         [list $srcfile $asm_file] {nodebug}] } {
+         [list $srcfile $asm_file] {nodebug c++}] } {
     return -1
 }
 
index 06bd896c56a07728afc8cdb13f3069678344f558..869b29f09f659080f14e0dde4f662d2b6e4bb96f 100644 (file)
@@ -25,6 +25,17 @@ require dwarf2_support
 
 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 {} {
@@ -47,7 +58,8 @@ Dwarf::assemble $asm_file {
 
            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}
            } {
@@ -141,7 +153,7 @@ Dwarf::assemble $asm_file {
 }
 
 if { [prepare_for_testing "failed to prepare" ${testfile} \
-       [list $srcfile $asm_file] {nodebug c++}] } {
+       [list $srcfile $asm_file] $nodebug_flags] } {
     return -1
 }
 
index 2671f829fe8b1f806218d6430c0862569c34f0d2..d384fb6d4916700a78d2c1cf700077f0e77b0c10 100644 (file)
@@ -102,7 +102,7 @@ Dwarf::assemble $asm_file {
 }
 
 if { [prepare_for_testing "failed to prepare" ${testfile} \
-         [list $srcfile $asm_file] {nodebug}] } {
+         [list $srcfile $asm_file] {nodebug c++}] } {
     return -1
 }
 
index ee558041fa66387d58198d51c6002343ea390d5d..dfd942213ef9b856c2f069528a21d4dbca499f5e 100644 (file)
@@ -22,7 +22,11 @@ require allow_guile_tests
 
 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
 }
 
index 2293238d011799bcbc14176181c634b228b6d752..b5fc5eb897b796680cfa2275a17885db305b4130 100644 (file)
@@ -22,8 +22,12 @@ standard_testfile cpcompletion.cc cpls.cc cpls2.cc cpls-hyphen.cc
 
 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
index 22428da905f2b43e1d6e579abf3524101c852198..7ffcc5c768ed84c27beb198831d8d68111f1c7a0 100644 (file)
@@ -19,8 +19,12 @@ load_lib completion-support.exp
 
 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
 }