walways-true-2.c

来自「用于进行gcc测试」· C语言 代码 · 共 61 行

C
61
字号
// Make sure we don't assume that a weak symbol is always non-NULL.// This is just like Walways-true-1.C, except that it uses a weak// symbol.// Origin: Ian Lance Taylor <iant@google.com>// { dg-do compile}// { dg-options "-Waddress" }// { dg-require-weak "" }extern int foo (int) __attribute__ ((weak));int i __attribute__ ((weak));voidbar (int a){ lab:  if (foo)    foo (0);  if (foo (1))    ;  if (&i)    foo (2);  if (i)    foo (3);  if (&a)	// { dg-warning "always evaluate as" "correct warning" }    foo (4);  if (a)    foo (5);  if (&&lab)	// { dg-warning "always evaluate as" "correct warning" }    foo (6);  if (foo == 0)    foo (7);  if (foo (1) == 0)    foo (8);  if (&i == 0)    foo (9);  if (i == 0)    foo (10);  if (&a == 0)	// { dg-warning "never be NULL" "correct warning" }    foo (11);  if (a == 0)    foo (12);  if (&&lab == 0) // { dg-warning "never be NULL" "correct warning" }    foo (13);  if (0 == foo)    foo (14);  if (0 == foo (1))    foo (15);  if (0 == &i)    foo (16);  if (0 == i)    foo (17);  if (0 == &a)	// { dg-warning "never be NULL" "correct warning" }    foo (18);  if (0 == a)    foo (19);  if (0 == &&lab) // { dg-warning "never be NULL" "correct warning" }    foo (20);}

⌨️ 快捷键说明

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