X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=gcc%2Ftestsuite%2Fg%2B%2B.old-deja%2Fg%2B%2B.eh%2Fcatchptr1.C;fp=gcc%2Ftestsuite%2Fg%2B%2B.old-deja%2Fg%2B%2B.eh%2Fcatchptr1.C;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=723b437d7ed1369720c4baaf9504ca07eada4031;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/testsuite/g++.old-deja/g++.eh/catchptr1.C b/gcc/testsuite/g++.old-deja/g++.eh/catchptr1.C deleted file mode 100644 index 723b437d..00000000 --- a/gcc/testsuite/g++.old-deja/g++.eh/catchptr1.C +++ /dev/null @@ -1,261 +0,0 @@ -// Test pointer chain catching -// Copyright (C) 2000 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 9 Apr 2000 - -#include - -void fn () {}; -struct A {void fn () {}}; -static int var = 1; -static const int const_var = 2; - -struct B; -struct C; - -int test0 () -{ - try - { - throw &fn; - } - catch (void *) - { - // should not decay to void * - return 1; - } - catch (...) - { - return 0; - } - return -1; -} - -int test1 () -{ - try - { - throw &A::fn; - } - catch (void *) - { - // should not decay to void * - return 1; - } - catch (...) - { - return 0; - } - return -1; -} - -int test2 () -{ - try - { - throw &var; - } - catch (void *) - { - // should decay to void * - return 0; - } - catch (...) - { - return 1; - } - return -1; -} - -int test3 () -{ - try - { - throw &var; - } - catch (void const *) - { - // should decay to const void * - return 0; - } - catch (...) - { - return 1; - } - return -1; -} - -int test4 () -{ - try - { - throw &const_var; - } - catch (void *) - { - // should not decay to void * - return 1; - } - catch (void const *) - { - // should decay to const void * - return 0; - } - catch (...) - { - return 2; - } - return -1; -} - -int test5 () -{ - try - { - throw (void ***)0; - } - catch (void ***) - { - return 0; - } - catch (...) - { - return 1; - } - return -1; -} - -int test6 () -{ - try - { - throw (void const* const* const*)0; - } - catch (void ***) - { - return 1; - } - catch (void * const* const*) - { - return 2; - } - catch (void const* * const*) - { - return 3; - } - catch (void const* const* *) - { - return 4; - } - catch (void const* const* const *) - { - return 0; - } - catch (...) - { - return 1; - } - return -1; -} - -int test7 () -{ - try - { - throw (void ***)0; - } - catch (void const* const**) - { - return 1; - } - catch (void const** const *) - { - return 2; - } - catch (void * const* const *) - { - return 0; - } - catch (...) - { - return 3; - } - return -1; -} - -int test8 () -{ - try - { - throw (B **)0; - } - catch (C **) - { - return 1; - } - catch (B **) - { - return 0; - } - catch (...) - { - return 2; - } - return -1; -} - -int test9 () -{ - try - { - throw (B **)0; - } - catch (C const *const *) - { - return 1; - } - catch (B const *const *) - { - return 0; - } - catch (...) - { - return 2; - } - return -1; -} - -static int (*tests[])() = -{ - test0, - test1, - test2, - test3, - test4, - - test5, - test6, - test7, - - test8, - test9, - - NULL -}; - -int main () -{ - int ix; - int errors = 0; - - for (ix = 0; tests[ix]; ix++) - { - int n = tests[ix] (); - - if (n) - { - printf ("test %d failed %d\n", ix, n); - errors++; - } - } - return errors; -}