1 // RUN: %clang_cc1 -fsyntax-only %s -std=c++14 -verify 2 3 // This is a test for an egregious hack in Clang that works around 4 // an issue with libstdc++'s detection of whether glibc provides a 5 // ::gets function. If there is no ::gets, ignore 6 // using ::gets; 7 // in namespace std. 8 // 9 // See PR18402 and gcc.gnu.org/PR77795 for more details. 10 11 #ifdef BE_THE_HEADER 12 13 #pragma GCC system_header 14 namespace std { 15 using ::gets; 16 using ::getx; // expected-error {{no member named 'getx'}} 17 } 18 19 #else 20 21 #define BE_THE_HEADER 22 #include "libstdcxx_pointer_return_false_hack.cpp" 23 24 namespace foo { 25 using ::gets; // expected-error {{no member named 'gets'}} 26 } 27 28 #endif 29