// RUN: %clang_cc1 -triple x86_64-apple-ios14-macabi -fblocks -fsyntax-only -verify %s
// RUN: %clang_cc1 -xobjective-c++ -triple x86_64-apple-ios14-macabi -fblocks -fsyntax-only -verify %s
// RUN: %clang_cc1 -triple x86_64-apple-ios14.1-macabi -DNO_WARNING -fblocks -fsyntax-only -verify %s
// expected-no-diagnostics
void AVAILABLE_PREV;
void AVAILABLE_CURRENT;
void AVAILABLE_NEXT;
// expected-note@-2 {{'willBeAvailabile' has been marked as being introduced in macCatalyst 14.1 here, but the deployment target is macCatalyst 14}}
typedef struct Record AVAILABLE_NEXT;
// expected-note@-2 {{'Record' has been marked as being introduced in macCatalyst 14.1 here, but the deployment target is macCatalyst 14}}
Record var;
// expected-warning@-2 {{'Record' is only available on macCatalyst 14.1 or newer}}
// expected-note@-3 {{annotate 'var' with an availability attribute to silence this warnin}}
Record var2;
void
void ;
void ;
void ;
// expected-note@-2 {{'willBeAvailabileIOS' has been marked as being introduced in macCatalyst 14.1 here, but the deployment target is macCatalyst 14}}
void
typedef struct Record2 ;
// expected-note@-2 {{'Record2' has been marked as being introduced in macCatalyst 14.1 here, but the deployment target is macCatalyst 14}}
Record2 var11;
// expected-warning@-2 {{'Record2' is only available on macCatalyst 14.1 or newer}}
// expected-note@-3 {{annotate 'var11' with an availability attribute to silence this warnin}}
Record2 var12;