1/* This testcase is part of GDB, the GNU debugger. 2 3 Copyright 2013-2020 Free Software Foundation, Inc. 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 17 18#include <typeinfo> 19 20int i; 21char *cp; 22const char *ccp; 23char ca[5]; 24 25struct Base 26{ 27 virtual ~Base() { } 28}; 29 30struct VB1 : public virtual Base 31{ 32}; 33 34struct VB2 : public virtual Base 35{ 36}; 37 38struct Derived : public VB1, VB2 39{ 40}; 41 42Derived d; 43 44Base *b = &d; 45VB1 *vb1 = &d; 46VB1 *vb2 = &d; 47 48const Base *bv = &d; 49 50int main () 51{ 52 const std::type_info &xi = typeid(i); 53 const std::type_info &xcp = typeid(cp); 54 const std::type_info &xccp = typeid(ccp); 55 const std::type_info &xca = typeid(ca); 56 const std::type_info &xd = typeid(d); 57 const std::type_info &xb = typeid(b); 58 59 return 0; 60} 61