Return by value to coax Clang into emitting the full definition of a test type.
authorDavid Blaikie <dblaikie@gmail.com>
Sun, 13 Apr 2014 07:48:45 +0000 (00:48 -0700)
committerDavid Blaikie <dblaikie@gmail.com>
Fri, 25 Apr 2014 05:15:40 +0000 (22:15 -0700)
gdb/testsuite/
* gdb.cp/pr10728-x.cc: Return by value instead of pointer to coax
Clang into emitting the definition of the type.
* gdb.cp/pr10728-x.h: Ditto.
* gdb.cp/pr10728-y.cc: Ditto.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.cp/pr10728-x.cc
gdb/testsuite/gdb.cp/pr10728-x.h
gdb/testsuite/gdb.cp/pr10728-y.cc

index 25bbc6a..92a7eee 100644 (file)
@@ -1,5 +1,12 @@
 2014-04-24  David Blaikie  <dblaikie@gmail.com>
 
+       * gdb.cp/pr10728-x.cc (main::x): Return by value instead of pointer to
+       coax Clang into emitting the definition of the type.
+       * gdb.cp/pr10728-x.h (y): Ditto.
+       * gdb.cp/pr10728-y.cc (y): Ditto.
+
+2014-04-24  David Blaikie  <dblaikie@gmail.com>
+
        * gdb.base/label.exp: XFAIL label related tests under Clang.
        * gdb.cp/cplabel.exp: Ditto.
        * gdb.linespec/ls-errs.exp: Refactor tests to execute directly and XFAIL
index 7623c0b..d6b7666 100644 (file)
@@ -2,6 +2,6 @@
 
 int main()
 {
-  X* x = y();
+  X x = y();
   return 0;            // marker 1
 }
index 63737d9..0ba58bb 100644 (file)
@@ -5,5 +5,5 @@ struct X
   Y* y2;
 };
 
-X* y();
+X y();
 
index 84b222d..d8a932a 100644 (file)
@@ -1,11 +1,11 @@
 #include "pr10728-x.h"
 struct Y{};
 
-X* y()
+X y()
 {
-  static X xx;
+  X xx;
   static Y yy;
   xx.y1 = &yy;
   xx.y2 = xx.y1+1;
-  return &xx;
+  return xx;
 }