From 1bc5aee63eb72b341f506ad058502cd0361f0d10 Mon Sep 17 00:00:00 2001 From: Ben Cheng Date: Tue, 25 Mar 2014 22:37:19 -0700 Subject: Initial checkin of GCC 4.9.0 from trunk (r208799). Change-Id: I48a3c08bb98542aa215912a75f03c0890e497dba --- gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/README | 20 +++++++++++++ .../gcc/testsuite/g++.old-deja/g++.gb/scope01.C | 4 +++ .../gcc/testsuite/g++.old-deja/g++.gb/scope02.C | 10 +++++++ .../gcc/testsuite/g++.old-deja/g++.gb/scope03.C | 10 +++++++ .../gcc/testsuite/g++.old-deja/g++.gb/scope04.C | 15 ++++++++++ .../gcc/testsuite/g++.old-deja/g++.gb/scope05.C | 12 ++++++++ .../gcc/testsuite/g++.old-deja/g++.gb/scope06.C | 16 ++++++++++ .../gcc/testsuite/g++.old-deja/g++.gb/scope07.C | 11 +++++++ .../gcc/testsuite/g++.old-deja/g++.gb/scope08.C | 14 +++++++++ .../gcc/testsuite/g++.old-deja/g++.gb/scope09.C | 16 ++++++++++ .../gcc/testsuite/g++.old-deja/g++.gb/scope10.C | 9 ++++++ .../gcc/testsuite/g++.old-deja/g++.gb/scope11.C | 28 +++++++++++++++++ .../gcc/testsuite/g++.old-deja/g++.gb/scope12.C | 35 ++++++++++++++++++++++ .../gcc/testsuite/g++.old-deja/g++.gb/scope13.C | 11 +++++++ 14 files changed, 211 insertions(+) create mode 100644 gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/README create mode 100644 gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope01.C create mode 100644 gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope02.C create mode 100644 gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope03.C create mode 100644 gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope04.C create mode 100644 gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope05.C create mode 100644 gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope06.C create mode 100644 gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope07.C create mode 100644 gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope08.C create mode 100644 gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope09.C create mode 100644 gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope10.C create mode 100644 gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope11.C create mode 100644 gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope12.C create mode 100644 gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope13.C (limited to 'gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb') diff --git a/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/README b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/README new file mode 100644 index 000000000..c61e450de --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/README @@ -0,0 +1,20 @@ +These are my C++ signature and class-scoping tests. + +In changing my signature tests to DejaGnu style, I reduced the number +of tests from 40 to 25. They should still test the same features, +though. All of these tests are run. I don't have any tests yet to +check correct reporting of errors/warnings. + +The class scoping tests were in part derived from Vince Russo's +Renaissance operating system and in part written by myself in helping +Niklas Hallqvist test his rewrite of the scoping code. I had shared +some of these tests with Niklas, others were included in bug reports I +had sent to {g++,gcc}@cygnus.com. It is, therefore, possible that +these tests duplicate tests in other directories. + +All files in this directory, including this file, are Copyright +FSF 1995, 2007 and fall under the GPL version 3 or later. + +Gerald Baumgartner +gb@cs.purdue.edu +March 1, 1995 diff --git a/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope01.C b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope01.C new file mode 100644 index 000000000..eb2b951b3 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope01.C @@ -0,0 +1,4 @@ +// { dg-do assemble } +// GROUPS passed gb scope +struct c { typedef int t; }; +struct d { typedef char t; }; diff --git a/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope02.C b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope02.C new file mode 100644 index 000000000..fbcd3a3f0 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope02.C @@ -0,0 +1,10 @@ +// { dg-do assemble } +// GROUPS passed gb scope +struct c { + typedef int t; + struct d { + void foo (t &); + }; +}; + +void c::d::foo (t & x) { } diff --git a/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope03.C b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope03.C new file mode 100644 index 000000000..701ff5c2a --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope03.C @@ -0,0 +1,10 @@ +// { dg-do assemble } +// GROUPS passed gb scope +struct c { + class t { }; + struct d { + void foo (t &); + }; +}; + +void c::d::foo (t & x) { } diff --git a/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope04.C b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope04.C new file mode 100644 index 000000000..29e0dffea --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope04.C @@ -0,0 +1,15 @@ +// { dg-do assemble } +// GROUPS passed gb scope +struct a { + struct c { + struct d { + static int foo (int); + }; + }; + + struct b { + int foo (int x) { return c::d::foo (x); } + }; +}; + +int a::c::d::foo (int) { return 0; } diff --git a/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope05.C b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope05.C new file mode 100644 index 000000000..4c1fd0ea7 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope05.C @@ -0,0 +1,12 @@ +// { dg-do assemble } +// GROUPS passed gb scope +struct C { + void foo (int); + void foo (char); + + struct D { + void foo (); + }; +}; + +void C::D::foo () { } diff --git a/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope06.C b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope06.C new file mode 100644 index 000000000..cbcc4fde1 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope06.C @@ -0,0 +1,16 @@ +// { dg-do assemble } +// { dg-prune-output "non-static data member initializers" } +// GROUPS passed gb scope +struct C { + struct D { + int x; + void foo (); + }; + const int Ok = 0; // { dg-error "" } initialization forbidden +}; + +void C::D::foo () +{ + // { dg-prune-output "from this location" } + x = Ok; +} diff --git a/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope07.C b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope07.C new file mode 100644 index 000000000..a0de26980 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope07.C @@ -0,0 +1,11 @@ +// { dg-do assemble } +// GROUPS passed gb scope +struct D { + friend class A; + friend class B; + friend class C; + + void foo (); +}; + +void D::foo () { } diff --git a/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope08.C b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope08.C new file mode 100644 index 000000000..4f7c1d384 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope08.C @@ -0,0 +1,14 @@ +// { dg-do assemble } +// GROUPS passed gb scope +template class C { +public: + int f (X ob) { return 0; } + int g (X ob) { return f (ob); } +}; + +class D { +public: + class E { public: E (); }; + + C x; +}; diff --git a/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope09.C b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope09.C new file mode 100644 index 000000000..8f7d5391b --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope09.C @@ -0,0 +1,16 @@ +// { dg-do assemble } +// GROUPS passed gb scope +class enclose { + int e; +protected: + class nested { + int n; + }; +}; + +class derived : public enclose { +protected: + class nested_derived : public nested { + int nd; + }; +}; diff --git a/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope10.C b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope10.C new file mode 100644 index 000000000..ad19f96a1 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope10.C @@ -0,0 +1,9 @@ +// { dg-do assemble } +// GROUPS passed gb scope +void Foo (void) +{ + class C { + public: + virtual int foo (void) { return 0; } + }; +} diff --git a/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope11.C b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope11.C new file mode 100644 index 000000000..45f540f9d --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope11.C @@ -0,0 +1,28 @@ +// { dg-do assemble } +// GROUPS passed gb scope +template class fixed_array { +public: + T _array[N]; +}; + +class Hash { +public: + Hash (int); +}; + +typedef fixed_array ipAddress_t; + +class IPAddress { +protected: + long _i; +public: + IPAddress (ipAddress_t ip) { } + IPAddress () { } + IPAddress netMask () { return *this; } + operator Hash (); +}; + +IPAddress::operator Hash () +{ + return Hash (_i); +} diff --git a/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope12.C b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope12.C new file mode 100644 index 000000000..664e79118 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope12.C @@ -0,0 +1,35 @@ +// { dg-do assemble } +// GROUPS passed gb scope +template class FixedArray_t { +public: + T _array[N]; + + FixedArray_t () { } +}; + +typedef FixedArray_t IPAddress_t; + +class IPAddress { +public: + IPAddress (IPAddress_t ip) { } + + operator IPAddress_t () + { + IPAddress_t rv; + return rv; + } + + IPAddress () { } +}; + +class DatagramHeader { +public: + IPAddress _src; + + void setHeader (IPAddress); +}; + +void +DatagramHeader::setHeader (IPAddress) +{ +} diff --git a/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope13.C b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope13.C new file mode 100644 index 000000000..5c625b9c2 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.gb/scope13.C @@ -0,0 +1,11 @@ +// { dg-do assemble } +// GROUPS passed gb scope +class X { +public: +}; + +class Y { +public: + void X(); + ::X X(int); +}; -- cgit v1.2.3