22 lines
636 B
C
22 lines
636 B
C
/* { dg-do compile } */
|
|
|
|
int __attribute__ ((common)) common;
|
|
static int local;
|
|
extern int external_decl;
|
|
int external_defn;
|
|
|
|
int foo ()
|
|
{
|
|
return common + local + external_decl + external_defn;
|
|
}
|
|
|
|
void bar (int i)
|
|
{
|
|
common = local = external_decl = external_defn = i;
|
|
}
|
|
|
|
/* { dg-final { scan-assembler "\[\n\r\]\[\t \]*.weak .global\[^,\n\r\]*common" } } */
|
|
/* { dg-final { scan-assembler "\[\n\r\]\[\t \]*.global\[^,\n\r\]*local" } } */
|
|
/* { dg-final { scan-assembler "\[\n\r\]\[\t \]*.extern .global\[^,\n\r\]*external_decl" } } */
|
|
/* { dg-final { scan-assembler "\[\n\r\]\[\t \]*.visible .global\[^,\n\r\]*external_defn" } } */
|