* 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.
This commit is contained in:
parent
9b50c11b36
commit
98f9cd2d31
|
@ -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>
|
2004-02-26 Jeff Johnston <jjohnstn@redhat.com>
|
||||||
|
|
||||||
* gdb.base/langs.exp: Update query string to match the
|
* gdb.base/langs.exp: Update query string to match the
|
||||||
|
|
|
@ -48,10 +48,19 @@ void refer (A *)
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct empty {};
|
||||||
|
|
||||||
|
// Stop the compiler from optimizing away data.
|
||||||
|
void refer (empty *)
|
||||||
|
{
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
int main (void)
|
int main (void)
|
||||||
{
|
{
|
||||||
A alpha, *aap, *abp;
|
A alpha, *aap, *abp;
|
||||||
B beta, *bbp;
|
B beta, *bbp;
|
||||||
|
empty e;
|
||||||
|
|
||||||
alpha.a1 = 100;
|
alpha.a1 = 100;
|
||||||
beta.a1 = 200; beta.b1 = 201; beta.b2 = 202;
|
beta.a1 = 200; beta.b1 = 201; beta.b2 = 202;
|
||||||
|
@ -59,6 +68,7 @@ int main (void)
|
||||||
aap = α refer (aap);
|
aap = α refer (aap);
|
||||||
abp = β refer (abp);
|
abp = β refer (abp);
|
||||||
bbp = β refer (bbp);
|
bbp = β refer (bbp);
|
||||||
|
refer (&e);
|
||||||
|
|
||||||
return 0; // marker return 0
|
return 0; // marker return 0
|
||||||
} // marker close brace
|
} // marker close brace
|
||||||
|
|
|
@ -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
|
# 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
|
# 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" \
|
gdb_test "print * (B *) abp" \
|
||||||
"= {.*a1 = 200.*b1 = 201.*b2 = 202}" \
|
"= {.*a1 = 200.*b1 = 201.*b2 = 202}" \
|
||||||
"print * (B *) abp at marker return 0"
|
"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"
|
||||||
|
|
Loading…
Reference in New Issue