⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 noreturn-1.c

📁 this is a gcc file, you can download it and learn its usetility, for further detail please look at t
💻 C
字号:
/* Check for various valid and erroneous "noreturn" cases. *//* { dg-do compile } *//* { dg-options "-O2 -Wmissing-noreturn" } */extern void exit (int);extern void foo1(void) __attribute__ ((__noreturn__));voidfoo1(void){ /* { dg-warning "`noreturn' function does return" "detect falling off end of noreturn" } */}extern void foo2(void) __attribute__ ((__noreturn__));voidfoo2(void){  exit(0);} /* { dg-bogus "warning:" "this function should not get any warnings" } */extern void foo3(void);voidfoo3(void){} /* { dg-bogus "warning:" "this function should not get any warnings" } */extern void foo4(void);voidfoo4(void){  exit(0);} /* { dg-warning "candidate for attribute `noreturn'" "detect noreturn candidate" } */extern void foo5(void) __attribute__ ((__noreturn__));voidfoo5(void){  return; /* { dg-warning "`noreturn' has a `return' statement" "detect invalid return" } */} /* { dg-warning "`noreturn' function does return" "detect return from noreturn" } */extern void foo6(void);voidfoo6(void){  return;} /* { dg-bogus "warning:" "this function should not get any warnings" } */extern void foo7(void);voidfoo7(void){  foo6();} /* { dg-bogus "warning:" "this function should not get any warnings" } */extern void foo8(void) __attribute__ ((__noreturn__));voidfoo8(void){  foo7();} /* { dg-warning "`noreturn' function does return" "detect return from tail call" } */

⌨️ 快捷键说明

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