]> ruderich.org/simon Gitweb - blhc/blhc.git/blobdiff - bin/blhc
Fix false postive when using `nvcc`
[blhc/blhc.git] / bin / blhc
index f8399d7c8d3194e1c540d0467e699a8bab22914e..b6889ae3ca51162e50d5c93f321d18235dc46a0a 100755 (executable)
--- a/bin/blhc
+++ b/bin/blhc
@@ -243,7 +243,7 @@ my @def_cxxflags = (
 # @def_cxxflags_* is the same as @def_cflags_*.
 my @def_cppflags = ();
 my @def_cppflags_fortify = (
-    '-D_FORTIFY_SOURCE=2', # must be first, see cppflags_fortify_broken()
+    '-D_FORTIFY_SOURCE=[23]', # must be first, see cppflags_fortify_broken()
     # If you add another flag fix hack below (search for "Hack to fix") and
     # $def_cppflags_fortify[0].
 );
@@ -299,6 +299,7 @@ my %flag_renames = (
     '-O(?:2|3)'                    => '-O2',
     '-Wformat(?:=2)?'              => '-Wformat',
     '--param[= ]ssp-buffer-size=4' => '--param=ssp-buffer-size=4',
+    '-D_FORTIFY_SOURCE=[23]'       => '-D_FORTIFY_SOURCE=2',
     '-Wl,(?:-z,)?relro'            => '-Wl,-z,relro',
     '-Wl,(?:-z,)?now'              => '-Wl,-z,now',
 );
@@ -1080,6 +1081,8 @@ foreach my $file (@ARGV) {
                                \s.+\s
                                -I\S+/mkspecs/[a-z]+-g\++(?:-64)?
                                \s}x;
+            # nvcc is not a regular C compiler
+            next if $line =~ m{^\S+/bin/nvcc\s};
             # Ignore false positives when the line contains only CC=gcc but no
             # other gcc command.
             if ($line =~ /(.*)CC=$cc_regex_full(.*)/o) {