hope to see it in the next version
Code: Select all
#include <stdio.h>
#include <stdlib.h>
#define defer defer__2(__COUNTER__)
#define defer__2(X) defer__3(X)
#define defer__3(X) defer__4(defer__id##X)
#define defer__4(ID) auto void ID##func(char (*)[]);
__attribute__((cleanup(ID##func))) char ID##var[0]; void ID##func(char
(*ID##param)[])
int main(void)
{
int a=5,b=5,c=5,d=5;
defer {
printf("defer 1111111111111\n");
}
defer {
a = 1;
b = 2;
c = 3;
d = 4;
printf("defer 22222222222222\n");
}
printf("33333333333333333333\n");
printf("a=%d b=%d c=%d d=%d \n",a,b,c,d);
return 0;
}