Handle void * conversions in FreeBSD/x86 native code to fix C++ build.
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.cp / classes.cc
index 913627fe1b3705405edd19636212d5d208c94710..bdb1f8a75a969b95b12c7a4fc2e108710db13f8b 100644 (file)
@@ -1,7 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2004, 2007,
-   2008, 2009 Free Software Foundation, Inc.
+   Copyright 1993-2016 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
@@ -14,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 // Test various -*- C++ -*- things.
 
@@ -417,6 +415,8 @@ class Foo
   int times (int y);
 };
 
+typedef Foo ByAnyOtherName;
+
 class Bar : public Base1, public Foo {
  public:
   int z;
@@ -431,9 +431,27 @@ int Foo::st = 100;
 
 Foo::operator int() { return x; }
 
-Foo foo(10, 11);
+ByAnyOtherName foo(10, 11);
 Bar bar(20, 21, 22);
 
+/* Use a typedef for the baseclass to exercise gnu-v3-abi.c:gnuv3_dynamic_class
+   recursion.  It's important that the class itself have no name to make sure
+   the typedef makes it through to the recursive call.  */
+typedef class {
+ public:
+  int x;
+  virtual int get_x () { return x; }
+} DynamicBase2;
+
+class DynamicBar : public DynamicBase2
+{
+ public:
+  DynamicBar (int i, int j) { x = i; y = j; }
+  int y;
+};
+
+DynamicBar dynbar (23, 24);
+
 class ClassWithEnum {
 public:
   enum PrivEnum { red, green, blue, yellow = 42 };
@@ -575,10 +593,6 @@ void use_methods ()
 int
 main()
 {
-#ifdef usestubs
-  set_debug_traps();
-  breakpoint();
-#endif
   dummy();
   inheritance1 ();
   inheritance3 ();
This page took 0.024441 seconds and 4 git commands to generate.