funcorder.c

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

C
40
字号
/* { dg-do compile } *//* { dg-options "-O2 -funit-at-a-time" } *//* { dg-final { if [ istarget hppa*-*-* ] { scan-assembler-not "link_error,%r" { xfail hppa*64*-*-* } } else { scan-assembler-not "link_error" } } } *//*  In unit-at-time the functions should be assembled in order    e q t main, so we realize that they are pure.  The test is    xfailed on hppa64 because variable r in q is sign extended    to 64-bits.  As a result, "if (t!=mem)" is not simplified.  */ static int mem;static int e(void) __attribute__ ((noinline));static int q(void) __attribute__ ((noinline));static int t(void) __attribute__ ((noinline));main(){	return t();}static t(){	int r,e;	if (mem)		t();	e=mem;	r=q();	if (e!=mem)		link_error();	return r;}static int e(){	return 0;}static int q(){	int t=mem,r;	r=e();	if (t!=mem)		link_error();	return r;}

⌨️ 快捷键说明

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