aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.jason/rvalue1.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.jason/rvalue1.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rvalue1.C51
1 files changed, 0 insertions, 51 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rvalue1.C b/gcc/testsuite/g++.old-deja/g++.jason/rvalue1.C
deleted file mode 100644
index 01cd497b1c0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rvalue1.C
+++ /dev/null
@@ -1,51 +0,0 @@
-// PRMS Id: 6000
-// Bug: g++ gets confused trying to build up a reference to a cast.
-
-class String {
-protected:
- char *cp;
-public:
- String(char *incp);
- String(const String &constStringRef);
- virtual void virtualFn1(void) const {;}
-};
-
-String::String(char *incp)
-{
- cp = incp;
-}
-
-String::String(const String &constStringRef)
-{
-// Right here, do an 'info args', and look at the virtual function table
-// pointer: typically junk! Calling the function through that table could
-// do anything, since we're really leaping off into the void. This example
-// goes down with 'SIGBUS', but I've seen 'SIGSEGV' too, and 'SIGILL' is
-// possible.
-
- cp = constStringRef.cp;
- constStringRef.virtualFn1();
-}
-
-void foofun(String string)
-{
- ;
-}
-
-class Class1 {
-public:
- Class1(const String & constStringRef);
-};
-
-Class1 :: Class1 (const String & constStringRef)
-{
-// If instead of calling the function 'foofun()' here, we just assign
-// 'constStringRef' to a local variable, then the vptr is typically == 0!
-
- foofun(String(constStringRef));
-}
-
-int main(void)
-{
- Class1 *class1 = new Class1("Hi!");
-}