98751a4113
* c-typeprint.c (c_type_print_base): For no fields check include also TYPE_TYPEDEF_FIELD_COUNT. Print new typedefs section. * dwarf2read.c (struct typedef_field_list) (struct field_info) <typedef_field_list, typedef_field_list_count>: New. (dwarf2_add_typedef): New. (read_structure_type): Call dwarf2_add_typedef for DW_TAG_typedef. Copy also FI.TYPEDEF_FIELD_LIST. * gdbtypes.h (struct typedef_field) (struct cplus_struct_type) <typedef_field, typedef_field_count> (TYPE_TYPEDEF_FIELD_ARRAY, TYPE_TYPEDEF_FIELD, TYPE_TYPEDEF_FIELD_NAME) (TYPE_TYPEDEF_FIELD_TYPE, TYPE_TYPEDEF_FIELD_COUNT): New. gdb/testsuite/ * gdb.cp/namespace.exp (ptype OtherFileClass typedefs) (ptype ::C::OtherFileClass typedefs): New. * gdb.cp/namespace1.cc (C::OtherFileClass::cOtherFileClassType2) (C::OtherFileClass::cOtherFileClassVar2): New. (C::OtherFileClass::cOtherFileClassVar_use): Use also cOtherFileClassVar2. (C::cOtherFileType2, C::cOtherFileVar2): New. (C::cOtherFileVar_use): use also cOtherFileVar2. * gdb.cp/userdef.exp (ptype &*c): Permit arbitrary trailing text.
67 lines
1.8 KiB
C++
67 lines
1.8 KiB
C++
/* Copyright 2003, 2004, 2007, 2008, 2009, 2010 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
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
|
|
|
|
namespace C
|
|
{
|
|
class OtherFileClass {
|
|
public:
|
|
int z;
|
|
|
|
typedef short cOtherFileClassType;
|
|
typedef long cOtherFileClassType2;
|
|
static const cOtherFileClassType cOtherFileClassVar = 318;
|
|
static const cOtherFileClassType2 cOtherFileClassVar2 = 320;
|
|
cOtherFileClassType cOtherFileClassVar_use ();
|
|
};
|
|
OtherFileClass::cOtherFileClassType OtherFileClass::cOtherFileClassVar_use ()
|
|
{
|
|
return cOtherFileClassVar + cOtherFileClassVar2;
|
|
}
|
|
|
|
namespace {
|
|
int cXOtherFile = 29;
|
|
};
|
|
|
|
int cOtherFile = 316;
|
|
|
|
void ensureOtherRefs () {
|
|
// NOTE (2004-04-23, carlton): This function is here only to make
|
|
// sure that GCC 3.4 outputs debug info for this class.
|
|
static OtherFileClass *c = new OtherFileClass();
|
|
c->z = cOtherFile + cXOtherFile;
|
|
}
|
|
|
|
typedef short cOtherFileType;
|
|
typedef long cOtherFileType2;
|
|
static const cOtherFileType cOtherFileVar = 319;
|
|
static const cOtherFileType2 cOtherFileVar2 = 321;
|
|
cOtherFileType cOtherFileVar_use ()
|
|
{
|
|
return cOtherFileVar + cOtherFileVar2;
|
|
}
|
|
}
|
|
|
|
namespace {
|
|
int XOtherFile = 317;
|
|
}
|
|
|
|
int ensureOtherRefs ()
|
|
{
|
|
C::ensureOtherRefs ();
|
|
return XOtherFile;
|
|
}
|