// RUN: %clang_cc1 %s -verify -fsyntax-only -std=c2x
int ; // expected-note 2 {{'f' has been explicitly marked deprecated here}}
void ;// expected-note {{'g' has been explicitly marked deprecated here}}
void ;
extern int var ; // expected-note 2 {{'var' has been explicitly marked deprecated here}}
int
// test if attributes propagate to variables
extern int var;
int
int ;// expected-note {{'old_fn' has been explicitly marked deprecated here}}
int ;
= old_fn; // expected-warning {{'old_fn' is deprecated}}
int
;
void
typedef struct foo foo_dep ; // expected-note {{'foo_dep' has been explicitly marked deprecated here}}
foo_dep *test2; // expected-warning {{'foo_dep' is deprecated}}
; // expected-warning {{unknown attribute 'invalid_attribute' ignored}}
struct bar_dep *test3; // expected-warning {{'bar_dep' is deprecated}}
int i; // expected-note {{'i' has been explicitly marked deprecated here}}
void
// Ensure that deprecated only accepts one argument, not the replacement
// argument supported as a GNU extension.
void ; // expected-error {{'deprecated' attribute takes no more than 1 argument}}