Files
clang-p2996/clang/test/Lexer/pragma-operators.cpp
Douglas Gregor c7d6576d54 When we parse a pragma, keep track of how that pragma was originally
spelled (#pragma, _Pragma, __pragma). In -E mode, use that information
to add appropriate newlines when translating _Pragma and __pragma into
#pragma, like GCC does. Fixes <rdar://problem/8412013>.

llvm-svn: 113553
2010-09-09 22:45:38 +00:00

16 lines
467 B
C++

// RUN: %clang_cc1 -fms-extensions -E %s | FileCheck %s
// Test that we properly expand the C99 _Pragma and Microsoft __pragma
// into #pragma directives, with newlines where needed. <rdar://problem/8412013>
// CHECK: extern
// CHECK: #line
// CHECK: #pragma warning(push)
// CHECK: #line
// CHECK: ; void f0();
// CHECK: #line
// CHECK: #pragma warning(pop)
// CHECK: #line
// CHECK: ; }
extern "C" { _Pragma("warning(push)"); void f0(); __pragma(warning(pop)); }