X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=tools%2Fllvm-config%2Ffind-cycles.pl;h=5cbf5b4b277609404ac224b3f29ac0ea130df951;hb=adf01b3f18442ae8db6b8948e70d82d9df415119;hp=eec79c95c959de65de17adbc58a8b8dbefcce7b1;hpb=dd3f6aa91ffb58535ac3948fe84cf7a9dc8fc384;p=oota-llvm.git diff --git a/tools/llvm-config/find-cycles.pl b/tools/llvm-config/find-cycles.pl index eec79c95c95..5cbf5b4b277 100755 --- a/tools/llvm-config/find-cycles.pl +++ b/tools/llvm-config/find-cycles.pl @@ -29,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; @@ -61,8 +61,12 @@ foreach my $cycle (@CYCLES) { $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. + } elsif (@modules > 1) { + $cycles_found = $cycles_found + 1; + print STDERR "find-cycles.pl: Circular dependency between *.o files:\n"; + print STDERR "find-cycles.pl: ", join(' ', @modules), "\n"; + push @modules, @modules; # WORKAROUND: Duplicate *.o files. Ick. } # Add to our output. (@modules is already as sorted as we need it to be.) @@ -70,6 +74,7 @@ foreach my $cycle (@CYCLES) { join(' ', sort keys %dependencies) . "\n"); } print sort @output; + exit $cycles_found; #==========================================================================