diff options
author | Joel Brobecker <brobecker@gnat.com> | 2004-02-26 20:22:44 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2004-02-26 20:22:44 +0000 |
commit | 98f9cd2d31788e025ca3e07f4fce5c09c68f2801 (patch) | |
tree | fc4761e9174d4b4ddc6f5f34b8016e56227781a8 | |
parent | 9b50c11b36020a71b97e57d4ff10a4d45855967a (diff) | |
download | gdb-98f9cd2d31788e025ca3e07f4fce5c09c68f2801.zip gdb-98f9cd2d31788e025ca3e07f4fce5c09c68f2801.tar.gz gdb-98f9cd2d31788e025ca3e07f4fce5c09c68f2801.tar.bz2 |
* gdb.cp/class2.cc (empty): New class.
(refer): New function.
(main): Declare an object of type empty and use it.
* gdb.cp/class2.exp: Print the value of an object of type empty.
-rw-r--r-- | gdb/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.cp/class2.cc | 10 | ||||
-rw-r--r-- | gdb/testsuite/gdb.cp/class2.exp | 6 |
3 files changed, 22 insertions, 1 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 2e16c4a..49822c6 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2004-02-26 J. Brobecker <brobecker@gnat.com> + + * gdb.cp/class2.cc (empty): New class. + (refer): New function. + (main): Declare an object of type empty and use it. + * gdb.cp/class2.exp: Print the value of an object of type empty. + 2004-02-26 Jeff Johnston <jjohnstn@redhat.com> * gdb.base/langs.exp: Update query string to match the diff --git a/gdb/testsuite/gdb.cp/class2.cc b/gdb/testsuite/gdb.cp/class2.cc index 34263c8..b4aa20a 100644 --- a/gdb/testsuite/gdb.cp/class2.cc +++ b/gdb/testsuite/gdb.cp/class2.cc @@ -48,10 +48,19 @@ void refer (A *) ; } +struct empty {}; + +// Stop the compiler from optimizing away data. +void refer (empty *) +{ + ; +} + int main (void) { A alpha, *aap, *abp; B beta, *bbp; + empty e; alpha.a1 = 100; beta.a1 = 200; beta.b1 = 201; beta.b2 = 202; @@ -59,6 +68,7 @@ int main (void) aap = α refer (aap); abp = β refer (abp); bbp = β refer (bbp); + refer (&e); return 0; // marker return 0 } // marker close brace diff --git a/gdb/testsuite/gdb.cp/class2.exp b/gdb/testsuite/gdb.cp/class2.exp index 9d55345..e3f63b0 100644 --- a/gdb/testsuite/gdb.cp/class2.exp +++ b/gdb/testsuite/gdb.cp/class2.exp @@ -1,4 +1,4 @@ -# Copyright 2003 Free Software Foundation, Inc. +# Copyright 2003, 2004 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 @@ -113,3 +113,7 @@ gdb_test_multiple "print * abp" "print * abp at marker return 0, s-p-o off" { gdb_test "print * (B *) abp" \ "= {.*a1 = 200.*b1 = 201.*b2 = 202}" \ "print * (B *) abp at marker return 0" + +# Printing the value of an object containing no data fields: + +gdb_test "p e" "= \{<No data fields>\}" "print object with no data fields" |