Clang Project

clang_source_code/test/CodeCompletion/pragma-macro-token-caching.c
1
2#define Outer(action) action
3
4void completeParam(int param) {
5    ;
6    Outer(__extension__({ _Pragma("clang diagnostic push") }));
7    param;
8}
9
10// RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:7:1 %s | FileCheck %s
11// CHECK: param : [#int#]param
12
13void completeParamPragmaError(int param) {
14    Outer(__extension__({ _Pragma(2) })); // expected-error {{_Pragma takes a parenthesized string literal}}
15    param; // expected-warning {{expression result unused}}
16}
17
18// RUN: %clang_cc1 -fsyntax-only -verify -code-completion-at=%s:16:1 %s | FileCheck %s
19