Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.old-deja/g++.jason/report.C @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// { dg-do assemble } // { dg-options "-Wreturn-type" } // GROUPS passed error-reporting // DR 295 allows qualification via typedef template <char C> class badoo { }; template <int (*F) (int)> class doowop { }; struct A { int a; ~A () { a = 0; } operator int () { return a; } }; extern "C" int atoi (const char *); int (*fee)(const char *) = atoi; int (**bar)(const char *) = &fee; const char* s = "4"; const char** sp = &s; const char*** spp = &sp; int foo (int a = (**bar) (s)) { return doowop<foo>::bar; // { dg-error "" } not a member } int foo2 (int (*a)(int) = &foo) { undef4 (1); // { dg-error "4:'undef4' was not declared" } implicit declaration return 1; } class X{ class Y{}; // { dg-message "" } private }; typedef int const * bart (); //The following is DR295 dependant typedef bart const * const * bar2; typedef bart volatile * const * bar2v; bar2 baz (X::Y y) // { dg-error "" } in this context { X::Y f; // { dg-error "" } in this context bar2 wa [5]; wa[0] = baz(f); undef2 (1); // { dg-error "3:'undef2' was not declared" } implicit declaration } // { dg-warning "no return statement" } int ninny () { struct A { static int ninny2 () { return badoo<'\001'>::foo; } // { dg-error "" } not a member }; return A::ninny2(); } int darg (char X::*p) { undef3 (1); // { dg-error "4:'undef3' was not declared" } implicit declaration } // { dg-warning "no return statement" }