pass26-frag.c

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 53 行

C
53
字号
#include <stdio.h>#include <stdlib.h>#include <string.h>int main (){volatile int *p;__mf_set_options ("-wipe-stack -no-check-initialization");{  volatile int array [10];  p = & array[0];  array[0] = 2;  array[9] = 5;  /* Array[] should be wiped clean at this point.  */}__mf_set_options ("-no-wipe-stack");{   volatile int array2[10]; /* hope that this is allocated on top of old array[] */    if (p != & array2[0])    exit (0);  /* Test is not applicable. */  array2[5] = 6;  /* Old values shouldn't still be around; the new one should.  */  if (p[0] == 2 || p[9] == 5 || p[5] != 6)    abort() ;  /* array2[] should not be wiped at this point! */}{   volatile int array3[10]; /* hope that this is allocated on top of old array[] and array2[]*/    if (p != & array3[0])    exit (0);  /* Test is not applicable. */  array3[1] = 2;  /* Check that old assignment is still around.  */  if (p[5] != 6 || p[1] != 2)    abort() ;}return 0;}

⌨️ 快捷键说明

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