1*e31899c7SNico Weber // RUN: %clang_cc1 -triple x86_64-pc-windows-msvc -fms-extensions -fsyntax-only -verify %s 2*e31899c7SNico Weber f()3*e31899c7SNico Weber[[deprecated]] void f() {} // expected-note 2 {{marked deprecated here}} 4*e31899c7SNico Weber 5*e31899c7SNico Weber #define From__pragma() \ 6*e31899c7SNico Weber __pragma(warning(push)) \ 7*e31899c7SNico Weber __pragma(warning(disable:4996)) \ 8*e31899c7SNico Weber f(); \ 9*e31899c7SNico Weber __pragma(warning(pop)) 10*e31899c7SNico Weber g()11*e31899c7SNico Webervoid g() { 12*e31899c7SNico Weber f(); // expected-warning {{deprecated}} 13*e31899c7SNico Weber 14*e31899c7SNico Weber #pragma warning(push) 15*e31899c7SNico Weber #pragma warning(disable: 4996) 16*e31899c7SNico Weber f(); // no diag 17*e31899c7SNico Weber 18*e31899c7SNico Weber #pragma warning(disable: 49960000) 19*e31899c7SNico Weber #pragma warning(pop) 20*e31899c7SNico Weber 21*e31899c7SNico Weber f(); // expected-warning {{deprecated}} 22*e31899c7SNico Weber 23*e31899c7SNico Weber From__pragma(); // no diag 24*e31899c7SNico Weber } 25