aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Ponomarenko <aponomarenko@rosalab.ru>2013-06-28 17:42:57 +0400
committerAndrey Ponomarenko <aponomarenko@rosalab.ru>2013-06-28 17:42:57 +0400
commit082b4d0f5f7ff57bbb56a8e965b3ecf3182179b3 (patch)
tree71d199303ea14d1f42777a904a61fa880b2c502f
parenta111a1891d5874c4f828cc05eb3c2a558c107d7c (diff)
downloadabi-compliance-checker-082b4d0f5f7ff57bbb56a8e965b3ecf3182179b3.tar.gz
Corrected checks for d-tors
-rw-r--r--INSTALL2
-rwxr-xr-xabi-compliance-checker.pl27
-rw-r--r--doc/Changes.html10
-rw-r--r--doc/Readme.html6
4 files changed, 24 insertions, 21 deletions
diff --git a/INSTALL b/INSTALL
index 7af7aac..8e524a6 100644
--- a/INSTALL
+++ b/INSTALL
@@ -9,7 +9,7 @@ All rights reserved.
RELEASE INFORMATION
Project: ABI Compliance Checker (ACC)
-Version: 1.99.5
+Version: 1.99.6
Date: 2013-06-29
diff --git a/abi-compliance-checker.pl b/abi-compliance-checker.pl
index 77cd5ef..c325c1a 100755
--- a/abi-compliance-checker.pl
+++ b/abi-compliance-checker.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
###########################################################################
-# ABI Compliance Checker (ACC) 1.99.5
+# ABI Compliance Checker (ACC) 1.99.6
# 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.5";
+my $TOOL_VERSION = "1.99.6";
my $ABI_DUMP_VERSION = "3.2";
my $OLDEST_SUPPORTED_VERSION = "1.18";
my $XML_REPORT_VERSION = "1.1";
@@ -2553,6 +2553,7 @@ sub createType($$)
my ($Attr, $LibVersion) = @_;
my $NewId = ++$MAX_ID;
+ $Attr->{"Tid"} = $NewId;
$TypeInfo{$Version}{$NewId} = $Attr;
$TName_Tid{$Version}{formatName($Attr->{"Name"}, "T")} = $NewId;
@@ -9285,7 +9286,7 @@ sub prepareSymbols($)
{
if(defined $SymbolInfo{$LibVersion}{$InfoId}{"Param"}
and keys(%{$SymbolInfo{$LibVersion}{$InfoId}{"Param"}})
- and $SymbolInfo{$LibVersion}{$InfoId}{"Param"}{0}{"name"})
+ and $SymbolInfo{$LibVersion}{$InfoId}{"Param"}{0}{"name"} ne "this")
{ # support for old GCC < 4.5: skip artificial ~dtor(int __in_chrg)
# + support for old ABI dumps
next;
@@ -11724,12 +11725,12 @@ sub mergeTypes($$$)
}
if(my $RenamedTo = isRenamed($Member_Pos, \%Type1_Pure, 1, \%Type2_Pure, 2))
{ # renamed
- $RenamedField{$Member_Pos}=$RenamedTo;
- $RenamedField_Rev{$NameToPosB{$RenamedTo}}=$Member_Name;
+ $RenamedField{$Member_Pos} = $RenamedTo;
+ $RenamedField_Rev{$NameToPosB{$RenamedTo}} = $Member_Name;
}
else
{ # removed
- $RemovedField{$Member_Pos}=1;
+ $RemovedField{$Member_Pos} = 1;
}
}
elsif($Type1_Pure{"Type"} eq "Enum")
@@ -11743,16 +11744,16 @@ sub mergeTypes($$$)
my $MemberPair_Pos_Rev = find_MemberPair_Pos_byName($RenamedTo, \%Type1_Pure);
if($MemberPair_Pos_Rev eq "lost")
{
- $RenamedField{$Member_Pos}=$RenamedTo;
- $RenamedField_Rev{$NameToPosB{$RenamedTo}}=$Member_Name;
+ $RenamedField{$Member_Pos} = $RenamedTo;
+ $RenamedField_Rev{$NameToPosB{$RenamedTo}} = $Member_Name;
}
else {
- $RemovedField{$Member_Pos}=1;
+ $RemovedField{$Member_Pos} = 1;
}
}
else
{ # removed
- $RemovedField{$Member_Pos}=1;
+ $RemovedField{$Member_Pos} = 1;
}
}
}
@@ -11795,7 +11796,7 @@ sub mergeTypes($$$)
next if(not $Member_Name);
if(not $RemovedField{$Member_Pos})
{ # old type without removed fields
- $RelPos{1}{$Member_Name}=$Pos;
+ $RelPos{1}{$Member_Name} = $Pos;
$RelPosName{1}{$Pos} = $Member_Name;
$AbsPos{1}{$Pos++} = $Member_Pos;
}
@@ -11807,7 +11808,7 @@ sub mergeTypes($$$)
next if(not $Member_Name);
if(not $AddedField{$Member_Pos})
{ # new type without added fields
- $RelPos{2}{$Member_Name}=$Pos;
+ $RelPos{2}{$Member_Name} = $Pos;
$RelPosName{2}{$Pos} = $Member_Name;
$AbsPos{2}{$Pos++} = $Member_Pos;
}
@@ -11861,6 +11862,7 @@ sub mergeTypes($$$)
{ # check older fields, public and private
my $Member_Name = $Type1_Pure{"Memb"}{$Member_Pos}{"name"};
next if(not $Member_Name);
+ next if($Member_Name eq "_vptr");
if(my $RenamedTo = $RenamedField{$Member_Pos})
{ # renamed
if(defined $Constants{2}{$Member_Name})
@@ -12219,6 +12221,7 @@ sub mergeTypes($$$)
{ # checking added members, public and private
my $Member_Name = $Type2_Pure{"Memb"}{$Member_Pos}{"name"};
next if(not $Member_Name);
+ next if($Member_Name eq "_vptr");
if($AddedField{$Member_Pos})
{ # added
if($Type2_Pure{"Type"}=~/\A(Struct|Class)\Z/)
diff --git a/doc/Changes.html b/doc/Changes.html
index 4774356..d977ce2 100644
--- a/doc/Changes.html
+++ b/doc/Changes.html
@@ -21,7 +21,7 @@
</style>
<script src="/load.php?debug=false&amp;lang=en&amp;modules=startup&amp;only=scripts&amp;skin=monobook&amp;*"></script>
<script>if(window.mw){
- mw.config.set({"wgCanonicalNamespace": "", "wgCanonicalSpecialPageName": false, "wgNamespaceNumber": 0, "wgPageName": "ABI_compliance_checker_Downloads", "wgTitle": "ABI Compliance Checker Downloads", "wgCurRevisionId": 8297, "wgArticleId": 2293, "wgIsArticle": true, "wgAction": "view", "wgUserName": null, "wgUserGroups": ["*"], "wgCategories": ["ABI Compliance Checker"], "wgBreakFrames": false, "wgRestrictionEdit": [], "wgRestrictionMove": []});
+ mw.config.set({"wgCanonicalNamespace": "", "wgCanonicalSpecialPageName": false, "wgNamespaceNumber": 0, "wgPageName": "ABI_compliance_checker_Downloads", "wgTitle": "ABI Compliance Checker Downloads", "wgCurRevisionId": 8299, "wgArticleId": 2293, "wgIsArticle": true, "wgAction": "view", "wgUserName": null, "wgUserGroups": ["*"], "wgCategories": ["ABI Compliance Checker"], "wgBreakFrames": false, "wgRestrictionEdit": [], "wgRestrictionMove": []});
}
</script><script>if(window.mw){
mw.loader.load(["mediawiki.page.startup"]);
@@ -43,7 +43,7 @@
</p>
<table id="toc" class="toc"><tr><td><div id="toctitle"><h2>Contents</h2></div>
<ul>
-<li class="toclevel-1 tocsection-1"><a href="#Version_1.99.5_.28June_29.2C_2013.29"><span class="tocnumber">1</span> <span class="toctext">Version 1.99.5 (June 29, 2013)</span></a></li>
+<li class="toclevel-1 tocsection-1"><a href="#Version_1.99.6_.28June_29.2C_2013.29"><span class="tocnumber">1</span> <span class="toctext">Version 1.99.6 (June 29, 2013)</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="#Version_1.99.1_.28June_07.2C_2013.29"><span class="tocnumber">2</span> <span class="toctext">Version 1.99.1 (June 07, 2013)</span></a></li>
<li class="toclevel-1 tocsection-3"><a href="#Version_1.99_.28May_24.2C_2013.29"><span class="tocnumber">3</span> <span class="toctext">Version 1.99 (May 24, 2013)</span></a></li>
<li class="toclevel-1 tocsection-4"><a href="#Version_1.98.8_.28February_07.2C_2013.29"><span class="tocnumber">4</span> <span class="toctext">Version 1.98.8 (February 07, 2013)</span></a></li>
@@ -91,8 +91,8 @@
<li class="toclevel-1 tocsection-46"><a href="#Version_1.0_.28July_31.2C_2009.29"><span class="tocnumber">46</span> <span class="toctext">Version 1.0 (July 31, 2009)</span></a></li>
</ul>
</td></tr></table>
-<h2> <span class="mw-headline" id="Version_1.99.5_.28June_29.2C_2013.29"> Version 1.99.5 (June 29, 2013) </span></h2>
-<p><a rel="nofollow" class="external text" href="https://github.com/lvc/abi-compliance-checker/archive/1.99.5.tar.gz">abi-compliance-checker-1.99.5.tar.gz</a><br />
+<h2> <span class="mw-headline" id="Version_1.99.6_.28June_29.2C_2013.29"> Version 1.99.6 (June 29, 2013) </span></h2>
+<p><a rel="nofollow" class="external text" href="https://github.com/lvc/abi-compliance-checker/archive/1.99.5.tar.gz">abi-compliance-checker-1.99.6.tar.gz</a><br />
</p><p><b>ACC 2.0</b> pre-release.
</p><p>This is a bug-fix release with a few new features.
</p>
@@ -1037,5 +1037,5 @@ Template argument size: 0/2097152 bytes
Expensive parser function count: 0/100
-->
-<!-- Saved in parser cache with key rasispdb:pcache:idhash:2293-0!*!0!!en!*!* and timestamp 20130628113102 -->
+<!-- Saved in parser cache with key rasispdb:pcache:idhash:2293-0!*!0!!en!*!* and timestamp 20130628133914 -->
</div></div></div></div></div></body></html> \ No newline at end of file
diff --git a/doc/Readme.html b/doc/Readme.html
index d203751..c82576e 100644
--- a/doc/Readme.html
+++ b/doc/Readme.html
@@ -21,7 +21,7 @@
</style>
<script src="/load.php?debug=false&amp;lang=en&amp;modules=startup&amp;only=scripts&amp;skin=monobook&amp;*"></script>
<script>if(window.mw){
- mw.config.set({"wgCanonicalNamespace": "", "wgCanonicalSpecialPageName": false, "wgNamespaceNumber": 0, "wgPageName": "ABI_compliance_checker", "wgTitle": "ABI Compliance Checker", "wgCurRevisionId": 8296, "wgArticleId": 2292, "wgIsArticle": true, "wgAction": "view", "wgUserName": null, "wgUserGroups": ["*"], "wgCategories": ["ABI Compliance Checker"], "wgBreakFrames": false, "wgRestrictionEdit": [], "wgRestrictionMove": []});
+ mw.config.set({"wgCanonicalNamespace": "", "wgCanonicalSpecialPageName": false, "wgNamespaceNumber": 0, "wgPageName": "ABI_compliance_checker", "wgTitle": "ABI Compliance Checker", "wgCurRevisionId": 8298, "wgArticleId": 2292, "wgIsArticle": true, "wgAction": "view", "wgUserName": null, "wgUserGroups": ["*"], "wgCategories": ["ABI Compliance Checker"], "wgBreakFrames": false, "wgRestrictionEdit": [], "wgRestrictionMove": []});
}
</script><script>if(window.mw){
mw.loader.load(["mediawiki.page.startup"]);
@@ -93,7 +93,7 @@
<h2> <span class="mw-headline" id="Downloads"> Downloads </span></h2>
<h3> <span class="mw-headline" id="Releases"> Releases </span></h3>
<p>All releases can be downloaded from <b><a href="Changes.html" title="ABI Compliance Checker Downloads">this page</a></b> or <b><a rel="nofollow" class="external text" href="https://github.com/lvc/abi-compliance-checker/">github.com</a></b>.
-</p><p>Latest release: <a rel="nofollow" class="external text" href="https://github.com/lvc/abi-compliance-checker/archive/1.99.5.tar.gz">1.99.5</a>
+</p><p>Latest release: <a rel="nofollow" class="external text" href="https://github.com/lvc/abi-compliance-checker/archive/1.99.6.tar.gz">1.99.6</a>
</p>
<h3> <span class="mw-headline" id="Git"> Git </span></h3>
<p>Read-only access to the latest development version:<br />
@@ -499,5 +499,5 @@ Template argument size: 0/2097152 bytes
Expensive parser function count: 0/100
-->
-<!-- Saved in parser cache with key rasispdb:pcache:idhash:2292-0!*!0!!en!*!* and timestamp 20130628113031 -->
+<!-- Saved in parser cache with key rasispdb:pcache:idhash:2292-0!*!0!!en!*!* and timestamp 20130628133842 -->
</div></div></div></div></div></body></html> \ No newline at end of file