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
16 lines
467 B
C++
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)); }
|