📄 uninit-6.c
字号:
/* Spurious uninitialized variable warnings. This one inspired by java/class.c:build_utf8_ref. *//* { dg-do compile } *//* { dg-options "-O -Wuninitialized" } */#include <stddef.h>struct tree{ struct tree *car; struct tree *cdr; int type, data;};extern void *malloc(size_t);#define INTEGER_T 1#define PTR_T 2#define APPEND(TREE, LAST, TYPE, VALUE) \do { \ struct tree *tmp = malloc (sizeof (struct tree)); \ tmp->car = 0; tmp->cdr = 0; tmp->type = TYPE; \ tmp->data = VALUE; \ if (TREE->car) \ LAST->cdr = tmp; \ else \ TREE->car = tmp; \ LAST = tmp; \} while(0) struct tree *make_something(int a, int b, int c){ struct tree *rv; struct tree *field; /* { dg-bogus "field" "uninitialized variable warning" { xfail *-*-* } } */ rv = malloc (sizeof (struct tree)); rv->car = 0; APPEND(rv, field, INTEGER_T, a); APPEND(rv, field, PTR_T, b); APPEND(rv, field, INTEGER_T, c); return rv;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -