From: Jeff Law Date: Tue, 3 Aug 1999 09:13:02 +0000 (-0600) Subject: Delete questionable files X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1ffa46368b57b8957907637188f25a410c48bb4b;p=gcc.git Delete questionable files From-SVN: r28457 --- diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb78.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb78.C deleted file mode 100644 index 3baea64743d..00000000000 --- a/gcc/testsuite/g++.old-deja/g++.robertl/eb78.C +++ /dev/null @@ -1,136 +0,0 @@ -// Special g++ Options: -W -Wall -O - -//This is the source code from FAQ-259, found in chapter 20 of "C++ FAQs." -//Copyright (C) 1994, Addison-Wesley Publishers, Inc.; All rights reserved. -// -//The book, "C++ FAQs" is by Marshall P. Cline and Greg A. Lomow, -//Copyright (C) 1994, Addison-Wesley Publishers, Inc.; All rights reserved. -// -//This code is presented for its instructional value. It has been tested with -//care, but it is not guaranteed for any particular purpose. Neither the -//publisher nor the authors offer any warranties or representations, nor do -//they accept any liabilities with respect to this code. - -#include -#include - -class BadIndex { }; - -class String { -public: - - String() - : len_(0), data_(new char[1]) - { data_[0] = '\0'; } - - String(const char* s) - : len_(strlen(s)), data_(new char[len_ + 1]) - { memcpy(data_, s, len_ + 1); } - - ~String() - { delete [] data_; } - - String(const String& s) - : len_(s.len_), data_(new char[s.len_ + 1]) - { memcpy(data_, s.data_, len_ + 1); } - - String& operator= (const String& s) - { - if (len_ != s.len_) { //makes self-assignment harmless - char* newData = new char[s.len_ + 1]; - delete [] data_; - data_ = newData; - len_ = s.len_; - } - memcpy(data_, s.data_, len_ + 1); - return *this; - } - - unsigned len() const - { return len_; } - - char& operator[] (unsigned i) - { indexTest(i); return data_[i]; } - char operator[] (unsigned i) const - { indexTest(i); return data_[i]; } - - friend ostream& operator<< (ostream& o, const String& s) - { return o.write(s.data_, s.len_); } - - friend int operator== (const String& a, const String& b) - { return a.len_ == b.len_ && - memcmp(a.data_, b.data_, a.len_) == 0; } - friend int operator!= (const String& a, const String& b) - { return ! (a == b); } - -private: - void indexTest(unsigned i) const - { if (i >= len_) throw BadIndex(); } - unsigned len_; //ORDER DEPENDENCY; see FAQ-190 - char* data_; //ORDER DEPENDENCY; see FAQ-190 -}; - -class AccessViolation { }; -class BadFileName { }; - -class File { -public: - File(const String& filename) - throw(AccessViolation, BadFileName) - { - cout << "Open " << filename << "\n"; - if (filename == "badAccess.txt") - throw AccessViolation(); - if (filename == "badName.txt") - throw BadFileName(); - } -}; - -class UserClass { -public: - void f(const String& filename) throw(BadFileName); -}; - -void -UserClass::f(const String& filename) throw(BadFileName) -{ - try { - File f(filename); // WARNING - unused - } - catch (const AccessViolation& e) { - cout << " FULLY recover from access-violation\n"; - } - catch (const BadFileName& e) { - cout << " PARTIALLY recover from bad-file-name\n"; - throw; - } -} - -void -tryIt(const String& filename) -{ - try { - UserClass u; - u.f(filename); - cout << " OK\n"; - } - catch (const BadFileName& e) { - cout << " Finish recovering from bad-file-name\n"; - } -} - -int -main() -{ - tryIt("goodFile.txt"); - tryIt("badAccess.txt"); - tryIt("badName.txt"); -} - -// g++ -O -o warn warn.C -W -Wall -// warn.C: In method `void UserClass::f(const class String &)': -// warn.C:96: warning: unused variable `class File f' -// warn.C:101: warning: `struct cp_eh_info * __exception_info' might -// be used uninitialized in this function - -