commit:     9544a17f23043191f8cac9d99cc221758d68b08a
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 14 22:56:22 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Mar 14 23:17:57 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9544a17f

flag-o-matic.eclass: crash in test-flag-PROG() when ${TEMP} is not writable

Reported by qolfixes on #gentoo-toolchain. Due to permission error in temp/
glibc ebuild silently filtered away all flags from CFLAGS and failed with an
obscure error. The change turn flag filtering error into early fatal error.

Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 eclass/flag-o-matic.eclass | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index 5cc58f9e939..1e685864f46 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -446,30 +446,30 @@ test-flag-PROG() {
        case "${lang}" in
                # compiler/assembler only
                c)
-                       in_ext='.c'
+                       in_ext='c'
                        in_src='int main(void) { return 0; }'
                        cmdline_extra+=(-xc -c)
                        ;;
                c++)
-                       in_ext='.cc'
+                       in_ext='cc'
                        in_src='int main(void) { return 0; }'
                        cmdline_extra+=(-xc++ -c)
                        ;;
                f77)
-                       in_ext='.f'
+                       in_ext='f'
                        # fixed source form
                        in_src='      end'
                        cmdline_extra+=(-xf77 -c)
                        ;;
                f95)
-                       in_ext='.f90'
+                       in_ext='f90'
                        in_src='end'
                        cmdline_extra+=(-xf95 -c)
                        ;;
 
                # C compiler/assembler/linker
                c+ld)
-                       in_ext='.c'
+                       in_ext='c'
                        in_src='int main(void) { return 0; }'
                        cmdline_extra+=(-xc)
                        ;;
@@ -477,7 +477,7 @@ test-flag-PROG() {
        local test_in=${T}/test-flag.${in_ext}
        local test_out=${T}/test-flag.exe
 
-       printf "%s\n" "${in_src}" > "${test_in}" || return 1
+       printf "%s\n" "${in_src}" > "${test_in}" || die "Failed to create 
'${test_in}'"
 
        local cmdline=(
                "${comp[@]}"

Reply via email to