Use *FLAGS for CFLAGS ignorance checks.
authorZac Medico <zmedico@gentoo.org>
Wed, 21 Dec 2011 21:28:47 +0000 (13:28 -0800)
committerZac Medico <zmedico@gentoo.org>
Wed, 21 Dec 2011 21:28:47 +0000 (13:28 -0800)
Current *FLAGS variables include CFLAGS, CXXFLAGS, FFLAGS, and FCFLAGS.
Not that this check is only enabled if every one of these variables
contains -frecord-gcc-switches, since otherwise the check could result
in false positive results.

bin/misc-functions.sh
cnf/make.conf
man/ebuild.5

index 4cba51acc8f141ef3b3682eeef0bc3e49e8d3868..c74b4a411172d0f5daab2659d00febfd858a53a2 100755 (executable)
@@ -308,8 +308,13 @@ install_qa_check() {
                        sleep 1
                fi
 
-               # Check for files built without respecting CFLAGS
+               # Check for files built without respecting *FLAGS. Note that
+               # -frecord-gcc-switches must be in all *FLAGS variables, in
+               # order to avoid false positive results here.
                if [[ "${CFLAGS}" == *-frecord-gcc-switches* ]] && \
+                       [[ "${CXXFLAGS}" == *-frecord-gcc-switches* ]] && \
+                       [[ "${FFLAGS}" == *-frecord-gcc-switches* ]] && \
+                       [[ "${FCFLAGS}" == *-frecord-gcc-switches* ]] && \
                        ! has binchecks ${RESTRICT} ; then
                        qa_var="QA_CFLAGS_IGNORED_${ARCH/-/_}"
                        eval "[[ -n \${!qa_var} ]] && QA_CFLAGS_IGNORED=(\"\${${qa_var}[@]}\")"
index aecb6336f0607989e3145d62206da6241a67b606..5ee1cd32ea99f9d6b7d34b3ce8e0ad8d6101d8aa 100644 (file)
 # package (and in some cases the libraries it uses) at default optimizations
 # before reporting errors to developers.
 #
-# If your gcc supports it, you can add -frecord-gcc-switches in order to enable
-# CFLAGS ignorance checking for ebuilds.
+# If your gcc supports it, you can add -frecord-gcc-switches to all of the
+# following *FLAGS in order to enable *FLAGS ignorance checking for ebuilds.
+# Note that this check is only enabled if every one of these variables contains
+# -frecord-gcc-switches, since otherwise the check could result in false
+# positive results.
 #
 # Please refer to the GCC manual for a list of possible values.
 #
index a9a26a72d4c6d1d4fa6550822d542d9f7f66b881..4f2f3a80c5e16d74490cbae8d16811c99c57afc4 100644 (file)
@@ -608,7 +608,7 @@ files that do not contain .GCC.command.line sections. The paths may contain
 regular expressions with escape\-quoted special characters.
 .br
 This variable is intended to be used on files of binary packages which ignore
-CFLAGS variable.
+CFLAGS, CXXFLAGS, FFLAGS, and FCFLAGS variables.
 .TP
 .TP
 \fBQA_DT_HASH\fR