summaryrefslogtreecommitdiff
path: root/test/CodeCompletion/pragma-macro-token-caching.c
blob: 432706e85ceb9c48b9be9448a11129a9fa8760a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define Outer(action) action

void completeParam(int param) {
    ;
    Outer(__extension__({ _Pragma("clang diagnostic push") }));
    param;
}

// RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:7:1 %s | FileCheck %s
// CHECK: param : [#int#]param

void completeParamPragmaError(int param) {
    Outer(__extension__({ _Pragma(2) })); // expected-error {{_Pragma takes a parenthesized string literal}}
    param;
}

// RUN: %clang_cc1 -fsyntax-only -verify -code-completion-at=%s:16:1 %s | FileCheck %s