18dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall// RUN: %clang_cc1 -fsyntax-only -verify %s
28dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall
38dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall#pragma clang arc_cf_code_audited foo // expected-error {{expected 'begin' or 'end'}}
48dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall
58dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall#pragma clang arc_cf_code_audited begin foo // expected-warning {{extra tokens at end of #pragma directive}}
68dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall
78dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall#pragma clang arc_cf_code_audited end
88dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall#pragma clang arc_cf_code_audited end // expected-error {{not currently inside '#pragma clang arc_cf_code_audited'}}
98dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall
108dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall#pragma clang arc_cf_code_audited begin // expected-note {{#pragma entered here}}
118dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall#pragma clang arc_cf_code_audited begin // expected-error {{already inside '#pragma clang arc_cf_code_audited'}} expected-note {{#pragma entered here}}
128dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall
138dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall#include "Inputs/pragma-arc-cf-code-audited.h" // expected-error {{cannot #include files inside '#pragma clang arc_cf_code_audited'}}
148dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall
158dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall// This is actually on the #pragma line in the header.
16b42f200777a66b98989160bf3987ce431540a584Andy Gibbs// expected-error@Inputs/pragma-arc-cf-code-audited.h:16 {{'#pragma clang arc_cf_code_audited' was not ended within this file}}
178dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall
188dfac0baaf0f81d3945bcb306480e358ba8d1f08John McCall#pragma clang arc_cf_code_audited begin // expected-error {{'#pragma clang arc_cf_code_audited' was not ended within this file}}
19