weak-4.c

来自「linux下编程用 编译软件」· C语言 代码 · 共 106 行

C
106
字号
/* { dg-do compile } *//* { dg-require-weak "" } *//* { dg-options "-fno-common" } *//* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1a" } } *//* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1b" } } *//* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1c" } } *//* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1d" } } *//* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1e" } } *//* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1f" } } *//* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1g" } } *//* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1h" } } *//* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1i" } } *//* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1j" } } *//* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1k" } } *//* test variable addresses with #pragma weak */#pragma weak vfoo1aextern int vfoo1a;void * foo1a (void){  return (void *)&vfoo1a;}extern int vfoo1b;#pragma weak vfoo1bvoid * foo1b (void){  return (void *)&vfoo1b;}extern int vfoo1c;  /* { dg-warning "applying #pragma weak" "applying #pragma weak" } */void * foo1c (void){  return (void *)&vfoo1c;}#pragma weak vfoo1c#pragma weak vfoo1dint vfoo1d;void * foo1d (void){  return (void *)&vfoo1d;}int vfoo1e;#pragma weak vfoo1evoid * foo1e (void){  return (void *)&vfoo1e;}int vfoo1f;void * foo1f (void){  return (void *)&vfoo1f;}#pragma weak vfoo1fextern int vfoo1g;  /* { dg-warning "applying #pragma weak" "applying #pragma weak" } */void * foo1g (void){  return (void *)&vfoo1g;}#pragma weak vfoo1gint vfoo1g;extern int vfoo1h;void * foo1h (void){  return (void *)&vfoo1h;}int vfoo1h;#pragma weak vfoo1hint vfoo1i;extern int vfoo1i;void * foo1i (void){  return (void *)&vfoo1i;}#pragma weak vfoo1iextern int vfoo1j;int vfoo1j;void * foo1j (void){  return (void *)&vfoo1j;}#pragma weak vfoo1j#pragma weak vfoo1kint vfoo1k = 1;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?