better explain -O3 in compilation units test
authorMartin Taibr <taibr.martin@gmail.com>
Sun, 29 Sep 2019 09:55:19 +0000 (11:55 +0200)
committerMartin Taibr <taibr.martin@gmail.com>
Sun, 29 Sep 2019 09:55:19 +0000 (11:55 +0200)
qcsrc/tools/compilationunits.sh

index 68f2eb9..7a7ff17 100755 (executable)
@@ -38,7 +38,11 @@ QCCDEFS="${QCCDEFS[@]}"
 
 declare -a QCCFLAGS=(
     -std=gmqcc
-    -O3 # optimization to accept variable initialization inside `if (1)` blocks and avoid warnings
+    # Without -O3, GMQCC thinks some variables are used uninitialized if the initialization is done inside an `if (1)` block
+    # (which is created by e.g. BEGIN_MACRO) which would cause the compilation units test to fail.
+    # There doesn't appear to be any measurable increase in compile time
+    # and it allows us to get rid of some explicit initializations which are just useless noise.
+    -O3
     -Wall -Werror
     -futf8
     -freturn-assignments