mi6.c

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

C
62
字号
/* Another test case for over-eager multiple include optimization,   where the leading "#if !defined" expression is obtained partially,   or wholly, from macros.  Neil Booth, 30 Sep 2001.  *//* { dg-do compile } *//* { dg-options "" } */extern void abort (void);/* Each include file should not be subject to MI optimisation, since   macro definitions can change.  Each header increments the variable   VAR if it is defined.   The first set of inclusions gets the headers into CPP's cache, but   does nothing since VAR is not defined.  The second set should each   increment VAR, since none of the initial set should have been   flagged as optimizable.  */#define EMPTYL#define EMPTYR#define NOT !#define DEFINED defined (guard)#define NOT_DEFINED ! defined (guard)#include "mi6a.h"#include "mi6b.h"#include "mi6c.h"#include "mi6d.h"#include "mi6e.h"/* Define the macro guard, and redefine the macros to something that   forces compilation of the conditional blocks.  */#define guard#undef EMPTYL#define EMPTYL 1 ||#undef EMPTYR#define EMPTYR || 1#undef NOT#define NOT#undef DEFINED#define DEFINED 0#undef NOT_DEFINED#define NOT_DEFINED 1#define VAR fiveintmain(void){  unsigned int five = 0;#include "mi6a.h"#include "mi6b.h"#include "mi6c.h"#include "mi6d.h"#include "mi6e.h"  if (five != 5)    abort ();  return 0;}

⌨️ 快捷键说明

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