diff options
Diffstat (limited to 'abi-compliance-checker.pl')
-rwxr-xr-x | abi-compliance-checker.pl | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/abi-compliance-checker.pl b/abi-compliance-checker.pl index cd279c7..6716938 100755 --- a/abi-compliance-checker.pl +++ b/abi-compliance-checker.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl ########################################################################### -# ABI Compliance Checker (ACC) 1.99.8.4 +# ABI Compliance Checker (ACC) 1.99.8.5 # A tool for checking backward compatibility of a C/C++ library API # # Copyright (C) 2009-2010 The Linux Foundation @@ -64,7 +64,7 @@ use Storable qw(dclone); use Data::Dumper; use Config; -my $TOOL_VERSION = "1.99.8.4"; +my $TOOL_VERSION = "1.99.8.5"; my $ABI_DUMP_VERSION = "3.2"; my $OLDEST_SUPPORTED_VERSION = "1.18"; my $XML_REPORT_VERSION = "1.1"; @@ -13993,13 +13993,15 @@ sub mergeSymbols($) { if(get_PLevel($ReturnType1_Id, 1)==0) { - foreach my $SubProblemType (keys(%{$Sub_SubProblems})) + if(defined $Sub_SubProblems->{"DataType_Size"}) { # add "Global_Data_Size" problem - my $New_Value = $Sub_SubProblems->{$SubProblemType}{"New_Value"}; - my $Old_Value = $Sub_SubProblems->{$SubProblemType}{"Old_Value"}; - if($SubProblemType eq "DataType_Size") - { # add a new problem - $AddProblems->{"Global_Data_Size"} = $Sub_SubProblems->{$SubProblemType}; + foreach my $Loc (keys(%{$Sub_SubProblems->{"DataType_Size"}})) + { + if(index($Loc,"->")==-1) + { # add a new problem + $AddProblems->{"Global_Data_Size"} = $Sub_SubProblems->{"DataType_Size"}; + last; + } } } } @@ -14025,7 +14027,10 @@ sub mergeSymbols($) { foreach my $SubLocation (keys(%{$AddProblems->{$SubProblemType}})) { - my $NewLocation = ($SubLocation)?"retval->".$SubLocation:"retval"; + my $NewLocation = "retval"; + if($SubLocation and $SubLocation ne "retval") { + $NewLocation = "retval->".$SubLocation; + } $CompatProblems{$Level}{$Symbol}{$SubProblemType}{$NewLocation} = $AddProblems->{$SubProblemType}{$SubLocation}; } } @@ -14034,7 +14039,10 @@ sub mergeSymbols($) { foreach my $SubLocation (keys(%{$Sub_SubProblems->{$SubProblemType}})) { - my $NewLocation = ($SubLocation)?"retval->".$SubLocation:"retval"; + my $NewLocation = "retval"; + if($SubLocation and $SubLocation ne "retval") { + $NewLocation = "retval->".$SubLocation; + } $CompatProblems{$Level}{$Symbol}{$SubProblemType}{$NewLocation} = $Sub_SubProblems->{$SubProblemType}{$SubLocation}; } } |