diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C | 98 |
1 files changed, 98 insertions, 0 deletions
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 000000000..99b23967c --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C @@ -0,0 +1,98 @@ +// { dg-do assemble } +// { dg-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)); // { dg-warning "" } + + + + + + + |