aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/.Sanitize37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/p13417.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C98
3 files changed, 146 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/.Sanitize b/gcc/testsuite/g++.old-deja/g++.benjamin/.Sanitize
new file mode 100644
index 0000000..770801c
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.benjamin/.Sanitize
@@ -0,0 +1,37 @@
+# .Sanitize for g++ tests.
+
+# Each directory to survive it's way into a release will need a file
+# like this one called "./.Sanitize". All keyword lines must exist,
+# and must exist in the order specified by this file. Each directory
+# in the tree will be processed, top down, in the following order.
+
+# Hash started lines like this one are comments and will be deleted
+# before anything else is done. Blank lines will also be squashed
+# out.
+
+# The lines between the "Do-first:" line and the "Things-to-keep:"
+# line are executed as a /bin/sh shell script before anything else is
+# done in this directory.
+
+Do-first:
+
+# All files listed between the "Things-to-keep:" line and the
+# "Do-last:" line will be kept. All other files will be removed.
+# Directories listed in this section will have their own Sanitize
+# called. Directories not listed will be removed in their entirety
+# with rm -rf.
+
+Things-to-keep:
+
+.cvsignore
+p12475.C
+p13417.C
+warn01.C
+
+Things-to-lose:
+
+# The lines between the "Do-last:" line and the end of the file
+# are executed as a /bin/sh shell script after everything else is
+# done.
+
+Do-last:
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/p13417.C b/gcc/testsuite/g++.old-deja/g++.benjamin/p13417.C
new file mode 100644
index 0000000..18d62e8
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.benjamin/p13417.C
@@ -0,0 +1,11 @@
+// Build don't link:
+// Special g++ Options:
+// prms-id: 13417
+
+class Foo {
+public:
+ explicit Foo (int){}
+};
+Foo f(10);
+Foo blat() return f(4){}; //this should not give an error
+
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C b/gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C
new file mode 100644
index 0000000..d0cf0d0
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C
@@ -0,0 +1,98 @@
+// Build don't link:
+// Special g++ Options: -Wall -Weffc++
+
+//1 g++/12952 un-named variables in a catch block
+//Wall or Wunused should not give warnings here
+template <class T>
+void f (void) {
+ try
+ {
+ }
+
+ catch( int)
+ {
+ }
+};
+
+//
+//2 g++/12923 __attribute__((__unused__)) not working for objects
+//Weffc++ or Wunused should not report the object as an error
+class C {
+ public:
+ C();
+};
+
+void f (void){
+ C x __attribute__ ((__unused__));
+ int y __attribute__ ((__unused__));
+}
+
+//
+//3 g++/12982 lock should not give error here, as above
+void setLock ();
+void clearLock ();
+
+template <class T>
+class test {
+public:
+ class lock
+ {
+ public:
+ lock () { setLock(); }
+ ~lock () { clearLock(); }
+ };
+
+ static void f (void)
+ {
+ lock local __attribute__ ((__unused__));
+ }
+
+};
+
+
+//
+//4 g++/12988 neither Mutex nor AutoMutex varibles should give warnings here
+//compile with -Weffc++ or -Wunused depending on post or pre 97r1
+class Mutex {
+private:
+ long counter;
+public:
+ virtual long retcntr() {return counter;};
+ Mutex(int i = 0): counter(i) {};
+ virtual ~Mutex() {};
+} __attribute__ ((__unused__));
+
+class AutoMutex: public Mutex{
+private:
+ long counter2;
+public:
+ long retcntr() {return counter2;};
+ AutoMutex(int i = 0): counter2(i) {};
+ virtual ~AutoMutex() {};
+} __attribute__ ((__unused__));
+
+
+template <class T>
+int foofunc(T x){
+ Mutex sm(2);
+ AutoMutex m(&sm);
+ return 0;
+};
+
+
+//5 sanity check to make sure other attributes cannot be used
+class Mutex2 {
+private:
+ long counter;
+public:
+ virtual long retcntr() {return counter;};
+ Mutex2(int i = 0): counter(i) {};
+ virtual ~Mutex2() {};
+} __attribute__ ((warn)); // WARNING -
+
+
+
+
+
+
+