aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2013-08-07 23:51:45 +0000
committerDoug Evans <dje@google.com>2013-08-07 23:51:45 +0000
commitac52f9a22a4c139774b105164911ad866aae1476 (patch)
tree70d771ab994243421d42fb6489dc4247bef7cdf8
parentb93601f3204e29392671b393fc878c2b8c9d5613 (diff)
downloadgdb-ac52f9a22a4c139774b105164911ad866aae1476.zip
gdb-ac52f9a22a4c139774b105164911ad866aae1476.tar.gz
gdb-ac52f9a22a4c139774b105164911ad866aae1476.tar.bz2
* gdb.python/py-value-cc.cc: Renamed from py-value.cc.
* gdb.python/py-value-cc.exp: Update. * gdb.python/py-value.exp: Use different names for .o files for C and C++. Only perform C++ tests if !skip_cplus_tests.
-rw-r--r--gdb/testsuite/ChangeLog7
-rw-r--r--gdb/testsuite/gdb.python/py-value-cc.cc (renamed from gdb/testsuite/gdb.python/py-value.cc)0
-rw-r--r--gdb/testsuite/gdb.python/py-value-cc.exp2
-rw-r--r--gdb/testsuite/gdb.python/py-value.exp31
4 files changed, 34 insertions, 6 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index fb21761..5f38aa0 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2013-08-07 Doug Evans <dje@google.com>
+
+ * gdb.python/py-value-cc.cc: Renamed from py-value.cc.
+ * gdb.python/py-value-cc.exp: Update.
+ * gdb.python/py-value.exp: Use different names for .o files for
+ C and C++. Only perform C++ tests if !skip_cplus_tests.
+
2013-08-07 Tom Tromey <tromey@redhat.com>
* gdb.base/maint.exp: Allow zero symtabs to be expanded.
diff --git a/gdb/testsuite/gdb.python/py-value.cc b/gdb/testsuite/gdb.python/py-value-cc.cc
index c010fc9..c010fc9 100644
--- a/gdb/testsuite/gdb.python/py-value.cc
+++ b/gdb/testsuite/gdb.python/py-value-cc.cc
diff --git a/gdb/testsuite/gdb.python/py-value-cc.exp b/gdb/testsuite/gdb.python/py-value-cc.exp
index 914dbaa..55c3b97 100644
--- a/gdb/testsuite/gdb.python/py-value-cc.exp
+++ b/gdb/testsuite/gdb.python/py-value-cc.exp
@@ -18,7 +18,7 @@
if { [skip_cplus_tests] } { continue }
-standard_testfile py-value.cc
+standard_testfile .cc
if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
diff --git a/gdb/testsuite/gdb.python/py-value.exp b/gdb/testsuite/gdb.python/py-value.exp
index 9142c72..4f863a6 100644
--- a/gdb/testsuite/gdb.python/py-value.exp
+++ b/gdb/testsuite/gdb.python/py-value.exp
@@ -21,13 +21,26 @@ load_lib gdb-python.exp
standard_testfile
# Build inferior to language specification.
+# LANG is one of "c" or "c++".
proc build_inferior {exefile lang} {
global srcdir subdir srcfile testfile hex
- if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${exefile}" executable "debug $lang"] != "" } {
+ # Use different names for .o files based on the language.
+ # For Fission, the debug info goes in foo.dwo and we don't want,
+ # for example, a C++ compile to clobber the dwo of a C compile.
+ # ref: http://gcc.gnu.org/wiki/DebugFission
+ switch ${lang} {
+ "c" { set filename ${testfile}.o }
+ "c++" { set filename ${testfile}-cxx.o }
+ }
+ set objfile [standard_output_file $filename]
+
+ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object "debug $lang"] != ""
+ || [gdb_compile "${objfile}" "${exefile}" executable "debug $lang"] != "" } {
untested "Couldn't compile ${srcfile} in $lang mode"
return -1
}
+ return 0
}
proc test_value_creation {} {
@@ -463,9 +476,10 @@ proc test_value_hash {} {
gdb_test "python print (one.__hash__() == hash(one))" "True" "Test inbuilt hash"
}
-# Build C and C++ versions of executable
-build_inferior "${binfile}" "c"
-build_inferior "${binfile}-cxx" "c++"
+# Build C version of executable. C++ is built later.
+if { [build_inferior "${binfile}" "c"] < 0 } {
+ return -1
+}
# Start with a fresh gdb.
clean_restart ${binfile}
@@ -494,5 +508,12 @@ test_lazy_strings
test_value_after_death
# Test either C or C++ values.
+
test_subscript_regression "${binfile}" "c"
-test_subscript_regression "${binfile}-cxx" "c++"
+
+if ![skip_cplus_tests] {
+ if { [build_inferior "${binfile}-cxx" "c++"] < 0 } {
+ return -1
+ }
+ test_subscript_regression "${binfile}-cxx" "c++"
+}