diff --git a/faq.html b/faq.html index b0ce35365..9bc5f0b2f 100644 --- a/faq.html +++ b/faq.html @@ -389,7 +389,7 @@
This is FAQ version 28.0.3 2024-07-27.
+This is FAQ version 28.0.4 2024-08-24.
try.sh and try.alt.sh scripts and why should I use them?To enable this feature:
make clobber all CC=clang
-or:
- make clobber all 'CWARN+= -Weverything'
-though it should be noted that if one tries -Weverything with compilers that
-are not clang they might see something like:
echo 'int main(void) {}' > foo.c ; cc -Weverything foo.c -o foo
- cc: error: unrecognized command-line option '-Weverything'
-which means that it can’t even be compiled. Thus the proper way to do it is the
-first way, make clobber all CC=clang.
IOCCC authors who have access to clang might wish to try their
hand at compiling with -Weverything while using a minimum of -Wno-foo
statements. Sometimes there is a technical or pedantic issue that
@@ -2863,7 +2856,7 @@ warnings, and we find a warning situation, this may diminish the value of your
entry as it is not as documented. Thus it might be wise to point this out and
if you can test it in multiple platforms (or versions of clang, see
below note) this would be advisable.
NOTE: different versions of clang have other differences as well. For instance
+
NOTE: different versions of clang have other differences as well. For instance
a defect of clang that required numerous entries to be fixed for clang is that it
requires that main()’s arguments to be of a specific type. However some
versions of clang are more strict in the number of args allowed. These reasons
@@ -3178,9 +3171,9 @@ provided by the author and any other file in the winning entry, found under the
entry’s subdirectory.
If you downloaded 1984/mullender/1984_mullender.tar.bz2, for instance, you might
then do:
cd 1984/mullender
- make everything
- ./mullender.alt cd 1984/mullender
+ make everything
+ ./mullender.altto compile all versions and then run the alternate version (if you have
a PDP-11 or VAX-11 you would be able to run the original version). For more help
on compiling entries, see also the
@@ -3221,8 +3214,8 @@ if you switched to each entry’s directory and ran make everything
If you download the 1984 tarball, i.e. 1984/1984.tar.bz2, then you might
extract it and then switch to the directory and compile everything of each
entry:
cd 1984
- make everything cd 1984
+ make everythingFor more help on compiling entries, see also the FAQ on “IOCCC Makefile rules”.
Of course in this case you can also switch to individual entries and look at the @@ -3252,6 +3245,23 @@ and there are some other benefits as well which you would miss if you did not use them. Nevertheless, if you prefer to do it manually, whether to help you process or appreciate the entry more, then please do so.
Jump to: top
+There are unfortunately some warnings that cannot be disabled; they are always
+enabled whatever warning options you have enabled. Also, there is a warning that
+is enabled whenever you act on char *s, saying it is unsafe buffer usage, even
+when it’s not (this might be enabled by -Weverything but it might not be; for
+more details on why we use -Weverything in Clang see the FAQ on
+“-Weverything”), and it is not detrimental to your submission
+if you disable this.
So in short, no you should not worry about these as they are sometimes +inevitable in obfuscated code and even non-obfuscated code.
+If you can work past this it might be good but this is not something that +should be worried about too much as this is on the compiler developers, not you.
+Jump to: top