// RUN: %clang_cc1 -verify -fsyntax-only -triple x86_64-linux-gnu %s
int x ; // expected-error {{'section' attribute requires a string}}
// PR6007
void
// pr9356
void ; // expected-note {{previous attribute is here}}
void // expected-warning {{section does not match previous declaration}}
; // expected-error {{'section' attribute only applies to}}
extern int a; // expected-note {{previous declaration is here}}
int *b = &a;
extern int a ; // expected-warning {{section attribute is specified on redeclared variable}}
// Not a warning.
extern int c;
int c ;
// Also OK.
;
extern struct r_debug _r_debug;
;
// Check for section type conflicts between global variables and function templates
void // expected-note {{declared here}}
const int const_global_var = 42; // expected-error {{'const_global_var' causes a section type conflict with 'template_fn1'}}
int mut_global_var = 42; // expected-note {{declared here}}
void // expected-error {{'template_fn2' causes a section type conflict with 'mut_global_var'}}