diff options
Diffstat (limited to 'libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc')
-rw-r--r-- | libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc deleted file mode 100644 index ba2e8d3c5f4..00000000000 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright (C) 2003 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. - -// As a special exception, you may use this file as part of a free software -// library without restriction. Specifically, if other files instantiate -// templates or use macros or inline functions from this file, or you compile -// this file and link it with other files to produce an executable, this -// file does not by itself cause the resulting executable to be covered by -// the GNU General Public License. This exception does not however -// invalidate any other reasons why the executable file might be covered by -// the GNU General Public License. - -#include <istream> -#include <streambuf> -//#include <testsuite_hooks.h> -#define VERIFY(x) x - -struct buf: std::streambuf -{ - virtual int_type overflow(int_type) - { throw 0; } -}; - -template<typename T> -void testthrow(T arg) -{ - bool test = true; - buf b; - std::istream is(&b); - is.exceptions(std::ios::badbit); - - try - { - is >> arg; - } - catch(int) - { - // Expected return is zero. - VERIFY( is.bad() ); - } - catch(...) - { - VERIFY( false ); - } -} - -int main() -{ - char c = 'a'; - unsigned char uc = 'a'; - signed char sc = 'a'; - char* cp = &c; - signed char* scp = ≻ - unsigned char* ucp = &uc; - - testthrow(c); - testthrow(uc); - testthrow(sc); - testthrow(cp); - testthrow(scp); - testthrow(ucp); - - return 0; -} |