Use use_empty() instead of getNumUses(), avoiding a use list traversal.
[oota-llvm.git] / tools / llvm-config / find-cycles.pl
index b6609556bf4e6bf67e4e8b02a54345ae66db356a..8156abd3f053bb069601306f1cb2c3e5395ed578 100755 (executable)
@@ -18,6 +18,7 @@
 # This file was written by Eric Kidd, and is placed into the public domain.
 #
 
+use 5.006;
 use strict;
 use warnings;
 
@@ -28,7 +29,7 @@ sub find_all_cycles;
 # Read our dependency information.
 while (<>) {
     chomp;
-    my ($module, $dependency_str) = /^([^:]*): ?(.*)$/;
+    my ($module, $dependency_str) = /^\s*([^:]+):\s*(.*)\s*$/;
     die "Malformed data: $_" unless defined $dependency_str;
     my @dependencies = split(/ /, $dependency_str);
     $DEPS{$module} = \@dependencies;
@@ -39,6 +40,7 @@ find_all_cycles();
 
 # Print out the finished cycles, with their dependencies.
 my @output;
+my $cycles_found = 0;
 foreach my $cycle (@CYCLES) {
     my @modules = sort keys %{$cycle};
 
@@ -56,9 +58,9 @@ foreach my $cycle (@CYCLES) {
     # Warn about possible linker problems.
     my @archives = grep(/\.a$/, @modules);
     if (@archives > 1) {
+        $cycles_found = $cycles_found + 1;
         print STDERR "find-cycles.pl: Circular dependency between *.a files:\n";
         print STDERR "find-cycles.pl:   ", join(' ', @archives), "\n";
-        print STDERR "find-cycles.pl: Some linkers may have problems.\n";
         push @modules, @archives; # WORKAROUND: Duplicate *.a files. Ick.
     }
 
@@ -68,6 +70,7 @@ foreach my $cycle (@CYCLES) {
 }
 print sort @output;
 
+exit $cycles_found;
 
 #==========================================================================
 #  Depedency Cycle Support