1*67e74705SXin Li // RUN: %clang_cc1 -fsyntax-only -verify -std=c++1z %s 2*67e74705SXin Li 3*67e74705SXin Li namespace [[deprecated]] {} // expected-warning {{'deprecated' attribute on anonymous namespace ignored}} 4*67e74705SXin Li 5*67e74705SXin Li namespace [[deprecated]] N { // expected-note 4{{'N' has been explicitly marked deprecated here}} 6*67e74705SXin Li int X; 7*67e74705SXin Li int Y = X; // Ok 8*67e74705SXin Li int f(); 9*67e74705SXin Li } 10*67e74705SXin Li f()11*67e74705SXin Liint N::f() { // Ok 12*67e74705SXin Li return Y; // Ok 13*67e74705SXin Li } 14*67e74705SXin Li f()15*67e74705SXin Livoid f() { 16*67e74705SXin Li int Y = N::f(); // expected-warning {{'N' is deprecated}} 17*67e74705SXin Li using N::X; // expected-warning {{'N' is deprecated}} 18*67e74705SXin Li int Z = X; //Ok 19*67e74705SXin Li } 20*67e74705SXin Li g()21*67e74705SXin Livoid g() { 22*67e74705SXin Li using namespace N; // expected-warning {{'N' is deprecated}} 23*67e74705SXin Li int Z = Y; // Ok 24*67e74705SXin Li } 25*67e74705SXin Li 26*67e74705SXin Li namespace M = N; // expected-warning {{'N' is deprecated}} 27