1*89a1d03eSRichard // RUN: clang-tidy %s -checks='-*,google-build-namespaces,google-build-using-namespace' -header-filter='.*' -- | FileCheck %s -implicit-check-not="{{warning|error}}:" 2*89a1d03eSRichard #include "Inputs/google-namespaces.h" 3*89a1d03eSRichard // CHECK: warning: do not use unnamed namespaces in header files [google-build-namespaces] 4*89a1d03eSRichard 5*89a1d03eSRichard using namespace spaaaace; 6*89a1d03eSRichard // CHECK: :[[@LINE-1]]:1: warning: do not use namespace using-directives; use using-declarations instead [google-build-using-namespace] 7*89a1d03eSRichard 8*89a1d03eSRichard using spaaaace::core; // no-warning 9*89a1d03eSRichard 10*89a1d03eSRichard namespace std { 11*89a1d03eSRichard inline namespace literals { 12*89a1d03eSRichard inline namespace chrono_literals { 13*89a1d03eSRichard } 14*89a1d03eSRichard inline namespace complex_literals { 15*89a1d03eSRichard } 16*89a1d03eSRichard inline namespace string_literals { 17*89a1d03eSRichard } 18*89a1d03eSRichard } 19*89a1d03eSRichard } 20*89a1d03eSRichard 21*89a1d03eSRichard using namespace std::chrono_literals; // no-warning 22*89a1d03eSRichard using namespace std::complex_literals; // no-warning 23*89a1d03eSRichard using namespace std::literals; // no-warning 24*89a1d03eSRichard using namespace std::literals::chrono_literals; // no-warning 25*89a1d03eSRichard using namespace std::literals::complex_literals; // no-warning 26*89a1d03eSRichard using namespace std::literals::string_literals; // no-warning 27*89a1d03eSRichard using namespace std::string_literals; // no-warning 28*89a1d03eSRichard 29*89a1d03eSRichard namespace literals {} 30*89a1d03eSRichard 31*89a1d03eSRichard using namespace literals; 32*89a1d03eSRichard // CHECK: :[[@LINE-1]]:1: warning: do not use namespace using-directives; use using-declarations instead [google-build-using-namespace] 33*89a1d03eSRichard 34*89a1d03eSRichard namespace foo { 35*89a1d03eSRichard inline namespace literals { 36*89a1d03eSRichard inline namespace bar_literals {} 37*89a1d03eSRichard } 38*89a1d03eSRichard } 39*89a1d03eSRichard 40*89a1d03eSRichard using namespace foo::literals; 41*89a1d03eSRichard // CHECK: :[[@LINE-1]]:1: warning: do not use namespace using-directives; use using-declarations instead [google-build-using-namespace] 42*89a1d03eSRichard 43*89a1d03eSRichard using namespace foo::bar_literals; 44*89a1d03eSRichard // CHECK: :[[@LINE-1]]:1: warning: do not use namespace using-directives; use using-declarations instead [google-build-using-namespace] 45*89a1d03eSRichard 46*89a1d03eSRichard using namespace foo::literals::bar_literals; 47*89a1d03eSRichard // CHECK: :[[@LINE-1]]:1: warning: do not use namespace using-directives; use using-declarations instead [google-build-using-namespace] 48*89a1d03eSRichard 49*89a1d03eSRichard namespace foo_literals {} 50*89a1d03eSRichard 51*89a1d03eSRichard using namespace foo_literals; 52*89a1d03eSRichard // CHECK: :[[@LINE-1]]:1: warning: do not use namespace using-directives; use using-declarations instead [google-build-using-namespace] 53