diff --git a/1998/fanf/fanf.c b/1998/fanf/fanf.c index 1d0381f88..a00a48763 100644 --- a/1998/fanf/fanf.c +++ b/1998/fanf/fanf.c @@ -1,6 +1,7 @@ #define i int #define n struct n + #define T , char **C) { return ( #define x ){ return ( #define A -> #define N n* @@ -56,7 +57,7 @@ i j k c ? O U r u U U X : y b k y d k y #define b(b) ( ( b a d #define E(E) b ( M E u X ) -main k i ) ! ( +main ( i c T #define I b ( m I u X ) #define J b ( m J u X ) diff --git a/thanks-for-fixes.md b/thanks-for-fixes.md index 36adfe4d2..84a27673e 100644 --- a/thanks-for-fixes.md +++ b/thanks-for-fixes.md @@ -2062,6 +2062,13 @@ final code that is compiled. The code is now what it essentially becomes when processed completely. The intermediate steps can now be performed to see how it expands but it can still compile and be used. +Cody also added a second arg to `main()` out of an abundance of caution as some +versions of clang whine about the number of args to `main()`. These versions +claim that only 0, 2 or 3 are allowed but it does allow 1 anyway. It is quite +possible though that this will change so it is fixed in case this happens. As it +is mostly just through the C pre-processor Cody added a new macro to do +translate to the rest of `main()`'s args. + Cody also added the [try.sh](1998/fanf/try.sh) script to show the output of some of the expressions that we selected.