// RUN: %clang_cc1 %s -fsyntax-only -verify -fms-extensions // rdar://6495941 #define FOO 1 #define BAR "2" #pragma comment(linker,"foo=" FOO) // expected-error {{pragma comment requires parenthesized identifier and optional string}} #pragma comment(linker," bar=" BAR) #pragma comment( user, "Compiled on " __DATE__ " at " __TIME__ ) #pragma comment(foo) // expected-error {{unknown kind of pragma comment}} #pragma comment(compiler,) // expected-error {{pragma comment requires}} #define foo compiler #pragma comment(foo) // macro expand kind. #pragma comment(foo) x // expected-error {{pragma comment requires}} #pragma comment(user, "foo\abar\nbaz\tsome thing") // __pragma __pragma(comment(linker," bar=" BAR)) #define MACRO_WITH__PRAGMA { \ __pragma(warning(push)); \ __pragma(warning(disable: 10000)); \ 2+2; \ __pragma(warning(pop)); \ } void f() { __pragma() // If we ever actually *support* __pragma(warning(disable: x)), // this warning should go away. MACRO_WITH__PRAGMA // expected-warning {{expression result unused}} }