llvm-project/clang/test/Preprocessor/pragma_microsoft.c

41 lines
1.1 KiB
C
Raw Normal View History

// 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}}
}