/* This testcase is part of GDB, the GNU debugger. Copyright 2011-2021 Free Software Foundation, Inc. This program 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 3 of the License, or (at your option) any later version. This program 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 program. If not, see . Contributed by Red Hat, originally written by Keith Seitz. */ #include namespace { void doit1 (void) { } // doit1(void) void doit1 (int a) { } // doit1(int) void doit1 (char *a) { } // doit1(char *) class one { public: one (void) { } // one::one(void) one (int a) { } // one::one(int) one (char *a) { } // one::one(char *) static void doit (void) { } // one::doit(void) }; namespace A { void doit2 (void) { } // A::doit2(void) void doit2 (int a) { } // A::doit2(int) void doit2 (char *a) { } // A::doit2(char *) class two { public: two (void) { } // A::two::two(void) two (int a) { } // A::two::two(int) two (char *a) { } // A::two::two(char *) static void doit (void) { } // A::two::doit(void) }; namespace { namespace { void doit3 (void) { } // A::doit3(void) void doit3 (int a) { } // A::doit3(int) void doit3 (char *a) { } // A::doit3(char *) class three { public: three (void) { } // A::three::three(void) three (int a) { } // A::three::three(int) three (char *a) { } // A::three::three(char *) static void doit (void) { } // A::three::doit(void) }; } } } } void doit (void) { one a, b (3), c (static_cast (NULL)); one::doit (); A::two d, e (3), f (static_cast (NULL)); A::two::doit (); A::three g, h (3), i (static_cast (NULL)); A::three::doit (); doit1 (); doit1 (3); doit1 (static_cast (NULL)); A::doit2 (); A::doit2 (3); A::doit2 (static_cast (NULL)); A::doit3 (); A::doit3 (3); A::doit3 (static_cast (NULL)); }