История изменений
Исправление MOPKOBKA, (текущая версия) :
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define TRY(F, ARGS...) if (!F(ARGS)) {puts("Fail " #F "!!!"); abort();}
bool good() {
return true;
}
bool bad(int n) {
return false;
}
int main() {
TRY(good);
TRY(good);
TRY(bad, 1);
TRY(good);
return 0;
}
./a.out
Fail bad!!!
Аварийный останов
Исходная версия MOPKOBKA, :
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define TRY(F, ARGS...) if (!F(ARGS)) {puts("Fail " #F "!!!"); abort();}
bool good() {
return true;
}
bool bad(int n) {
return false;
}
int main() {
TRY(good);
TRY(good);
TRY(bad, 1);
TRY(good);
return 0;
}