From 2c37f1fd7e36fef17d17d172730b4e46d76fa735 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Sat, 25 Nov 2023 10:36:10 -0800 Subject: [PATCH] Add second arg to main() in 1998/fanf As it is mostly just the C pre-processor I added a macro that is part of main()'s args. --- 1998/fanf/fanf.c | 3 ++- thanks-for-fixes.md | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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.