]> ruderich.org/simon Gitweb - blhc/blhc.git/blobdiff - bin/blhc
Remove unused function array_equal()
[blhc/blhc.git] / bin / blhc
index 0d7276d90ba7f33a74f9257c9efd18836b4f6e20..140d2adcf2df7ad80c0bc2f8cfdc4d832c055ecd 100755 (executable)
--- a/bin/blhc
+++ b/bin/blhc
@@ -24,7 +24,7 @@ use warnings;
 use Getopt::Long ();
 use Text::ParseWords ();
 
-our $VERSION = '0.11';
+our $VERSION = '0.12';
 
 
 # CONSTANTS/VARIABLES
@@ -341,20 +341,6 @@ my $option_color;
 
 # FUNCTIONS
 
-# Only works for single-level arrays with no undef values. Thanks to perlfaq4.
-sub array_equal {
-    my ($first_ref, $second_ref) = @_;
-
-    return 0 if scalar @{$first_ref} != scalar @{$second_ref};
-
-    my $length = scalar @{$first_ref};
-    for (my $i = 0; $i < $length; $i++) {
-        return 0 if $first_ref->[$i] ne $second_ref->[$i];
-    }
-
-    return 1;
-}
-
 sub error_flags {
     my ($message, $missing_flags_ref, $flag_renames_ref, $line, $number) = @_;
 
@@ -532,7 +518,7 @@ sub is_non_verbose_build {
 
     if (not (index($line, 'checking if you want to see long compiling messages... no') == 0
                 or $line =~ /^\s*\[?(?:CC|CCLD|C\+\+|CXX|CXXLD|LD|LINK)\]?\s+(.+?)$/
-                or $line =~ /^\s*[Cc]ompiling\s+(.+?)(?:\.\.\.)?$/
+                or $line =~ /^\s*[][\/0-9 ]*[Cc]ompiling\s+(.+?)(?:\.\.\.)?$/
                 or $line =~ /^\s*[Bb]uilding (?:program|shared library)\s+(.+?)$/
                 or $line =~ /^\s*\[[\d ]+%\] Building (?:C|CXX) object (.+?)$/)) {
         return 0;
@@ -1076,6 +1062,10 @@ foreach my $file (@ARGV) {
             next if $line =~ m{$cc_regex_normal\s*>\s*\S+}o;
             # Hex output may contain "cc".
             next if $line =~ m#(?:\b[0-9a-fA-F]{2,}\b\s*){5}#;
+            # Meson build output
+            next if $line =~ /^C\+\+ linker for the host machine: /;
+            # Embedded `gcc -print-*` commands
+            next if $line =~ /`$cc_regex_normal\s*[^`]*-print-\S+`/;
 
             # Check if additional hardening options were used. Used to ensure
             # they are used for the complete build.