aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Ponomarenko <aponomarenko@rosalab.ru>2013-08-09 19:08:07 +0400
committerAndrey Ponomarenko <aponomarenko@rosalab.ru>2013-08-09 19:08:07 +0400
commitb6a65eecbd7221a28578e7e01b53d58704421096 (patch)
treef768d3e95d9625410509c6bb27155da3632defa0
parent522ffd4a0ffc41c9e1c164cc10d5471a13b92c8d (diff)
downloadabi-compliance-checker-b6a65eecbd7221a28578e7e01b53d58704421096.tar.gz
Do not hang on class A<N>:public A<N-1>
-rw-r--r--INSTALL4
-rwxr-xr-xabi-compliance-checker.pl26
-rw-r--r--doc/Changes.html11
-rw-r--r--doc/Descriptor.html2
-rw-r--r--doc/Options.html2
-rw-r--r--doc/Readme.html6
-rw-r--r--doc/SysCheck/Descriptor.html2
-rw-r--r--doc/SysCheck/Examples.html2
-rw-r--r--doc/SysCheck/Usage.html2
9 files changed, 36 insertions, 21 deletions
diff --git a/INSTALL b/INSTALL
index 697c6fc..6f460cd 100644
--- a/INSTALL
+++ b/INSTALL
@@ -9,8 +9,8 @@ All rights reserved.
RELEASE INFORMATION
Project: ABI Compliance Checker (ACC)
-Version: 1.99.8.1
-Date: 2013-08-05
+Version: 1.99.8.2
+Date: 2013-08-09
This file explains how to install and setup environment
diff --git a/abi-compliance-checker.pl b/abi-compliance-checker.pl
index c9308db..8bf8415 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.1
+# ABI Compliance Checker (ACC) 1.99.8.2
# 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.1";
+my $TOOL_VERSION = "1.99.8.2";
my $ABI_DUMP_VERSION = "3.2";
my $OLDEST_SUPPORTED_VERSION = "1.18";
my $XML_REPORT_VERSION = "1.1";
@@ -3960,8 +3960,12 @@ sub getTrivialName($$)
if(defined $TemplateInstance{$Version}{"Type"}{$TypeId}
and getTypeDeclId($TypeId) eq $TypeInfoId)
{
- my @TParams = getTParams($TypeId, "Type");
- $TypeAttr{"Name"} = formatName($TypeAttr{"Name"}."< ".join(", ", @TParams)." >", "T");
+ if(my @TParams = getTParams($TypeId, "Type")) {
+ $TypeAttr{"Name"} = formatName($TypeAttr{"Name"}."< ".join(", ", @TParams)." >", "T");
+ }
+ else {
+ $TypeAttr{"Name"} = formatName($TypeAttr{"Name"}."<...>", "T");
+ }
}
return ($TypeAttr{"Name"}, $TypeAttr{"NameSpace"});
}
@@ -4234,6 +4238,12 @@ sub setBaseClasses($$)
{
my ($Access, $BInfoId) = ($1, $2);
my $ClassId = getBinfClassId($BInfoId);
+
+ if($ClassId==$TypeId)
+ { # class A<N>:public A<N-1>
+ next;
+ }
+
my $CType = $LibInfo{$Version}{"info_type"}{$ClassId};
if(not $CType or $CType eq "template_type_parm"
or $CType eq "typename_type")
@@ -5172,12 +5182,16 @@ sub getSymbolInfo($)
}
}
- my $PrmsInLine = join(", ", @TParams);
if($SymbolInfo{$Version}{$InfoId}{"ShortName"}=~/\Aoperator\W+\Z/)
{ # operator<< <T>, operator>> <T>
$SymbolInfo{$Version}{$InfoId}{"ShortName"} .= " ";
}
- $SymbolInfo{$Version}{$InfoId}{"ShortName"} .= "<".$PrmsInLine.">";
+ if(@TParams) {
+ $SymbolInfo{$Version}{$InfoId}{"ShortName"} .= "<".join(", ", @TParams).">";
+ }
+ else {
+ $SymbolInfo{$Version}{$InfoId}{"ShortName"} .= "<...>";
+ }
$SymbolInfo{$Version}{$InfoId}{"ShortName"} = formatName($SymbolInfo{$Version}{$InfoId}{"ShortName"}, "S");
}
else
diff --git a/doc/Changes.html b/doc/Changes.html
index 6dcb95f..cdc4980 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": 8310, "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": 8312, "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.8.1_.28August_05.2C_2013.29"><span class="tocnumber">1</span> <span class="toctext">Version 1.99.8.1 (August 05, 2013)</span></a></li>
+<li class="toclevel-1 tocsection-1"><a href="#Version_1.99.8.2_.28August_09.2C_2013.29"><span class="tocnumber">1</span> <span class="toctext">Version 1.99.8.2 (August 09, 2013)</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="#Version_1.99.7_.28July_01.2C_2013.29"><span class="tocnumber">2</span> <span class="toctext">Version 1.99.7 (July 01, 2013)</span></a></li>
<li class="toclevel-1 tocsection-3"><a href="#Version_1.99.1_.28June_07.2C_2013.29"><span class="tocnumber">3</span> <span class="toctext">Version 1.99.1 (June 07, 2013)</span></a></li>
<li class="toclevel-1 tocsection-4"><a href="#Version_1.99_.28May_24.2C_2013.29"><span class="tocnumber">4</span> <span class="toctext">Version 1.99 (May 24, 2013)</span></a></li>
@@ -92,8 +92,8 @@
<li class="toclevel-1 tocsection-47"><a href="#Version_1.0_.28July_31.2C_2009.29"><span class="tocnumber">47</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.8.1_.28August_05.2C_2013.29"> Version 1.99.8.1 (August 05, 2013) </span></h2>
-<p><a rel="nofollow" class="external text" href="https://github.com/lvc/abi-compliance-checker/archive/1.99.8.1.tar.gz">abi-compliance-checker-1.99.8.1.tar.gz</a><br />
+<h2> <span class="mw-headline" id="Version_1.99.8.2_.28August_09.2C_2013.29"> Version 1.99.8.2 (August 09, 2013) </span></h2>
+<p><a rel="nofollow" class="external text" href="https://github.com/lvc/abi-compliance-checker/archive/1.99.8.2.tar.gz">abi-compliance-checker-1.99.8.2.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>
@@ -112,6 +112,7 @@
</li><li> Do not show "this" first argument of methods in the report
</li><li> Corrected descriptions of affected symbols in the report
</li><li> Fixed false alarms on changed offset of parameters
+</li><li> Do not hang on class A&lt;N&gt;:public A&lt;N-1&gt;
</li></ul>
</li></ul>
<ul><li> <b>Other</b>
@@ -1064,5 +1065,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 20130805132341 -->
+<!-- Saved in parser cache with key rasispdb:pcache:idhash:2293-0!*!0!!en!*!* and timestamp 20130809150559 -->
</div></div></div></div></div></body></html> \ No newline at end of file
diff --git a/doc/Descriptor.html b/doc/Descriptor.html
index 98e493c..6188455 100644
--- a/doc/Descriptor.html
+++ b/doc/Descriptor.html
@@ -510,5 +510,5 @@ Template argument size: 0/2097152 bytes
Expensive parser function count: 0/100
-->
-<!-- Saved in parser cache with key rasispdb:pcache:idhash:2415-0!*!*!!en!*!* and timestamp 20130805025841 -->
+<!-- Saved in parser cache with key rasispdb:pcache:idhash:2415-0!*!*!!en!*!* and timestamp 20130809150702 -->
</div></div></div></div></div></body></html> \ No newline at end of file
diff --git a/doc/Options.html b/doc/Options.html
index 3a6c752..969395f 100644
--- a/doc/Options.html
+++ b/doc/Options.html
@@ -283,5 +283,5 @@ Template argument size: 0/2097152 bytes
Expensive parser function count: 0/100
-->
-<!-- Saved in parser cache with key rasispdb:pcache:idhash:2442-0!*!0!!en!*!* and timestamp 20130805095455 -->
+<!-- Saved in parser cache with key rasispdb:pcache:idhash:2442-0!*!0!!en!*!* and timestamp 20130809041142 -->
</div></div></div></div></div></body></html> \ No newline at end of file
diff --git a/doc/Readme.html b/doc/Readme.html
index 8d3fc8c..2dfbaa9 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": 8311, "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": 8313, "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.8.1.tar.gz">1.99.8.1</a>
+</p><p>Latest release: <a rel="nofollow" class="external text" href="https://github.com/lvc/abi-compliance-checker/archive/1.99.8.2.tar.gz">1.99.8.2</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 20130805132417 -->
+<!-- Saved in parser cache with key rasispdb:pcache:idhash:2292-0!*!0!!en!*!* and timestamp 20130809150647 -->
</div></div></div></div></div></body></html> \ No newline at end of file
diff --git a/doc/SysCheck/Descriptor.html b/doc/SysCheck/Descriptor.html
index 7b07832..46752bb 100644
--- a/doc/SysCheck/Descriptor.html
+++ b/doc/SysCheck/Descriptor.html
@@ -233,5 +233,5 @@ Template argument size: 0/2097152 bytes
Expensive parser function count: 0/100
-->
-<!-- Saved in parser cache with key rasispdb:pcache:idhash:2657-0!*!*!!*!*!* and timestamp 20130805132513 -->
+<!-- Saved in parser cache with key rasispdb:pcache:idhash:2657-0!*!*!!*!*!* and timestamp 20130809144454 -->
</div></div></div></div></div></body></html> \ No newline at end of file
diff --git a/doc/SysCheck/Examples.html b/doc/SysCheck/Examples.html
index 700a6f2..fc6e2c7 100644
--- a/doc/SysCheck/Examples.html
+++ b/doc/SysCheck/Examples.html
@@ -239,5 +239,5 @@ Template argument size: 0/2097152 bytes
Expensive parser function count: 0/100
-->
-<!-- Saved in parser cache with key rasispdb:pcache:idhash:2656-0!*!*!!en!*!* and timestamp 20130805120808 -->
+<!-- Saved in parser cache with key rasispdb:pcache:idhash:2656-0!*!*!!en!*!* and timestamp 20130808225226 -->
</div></div></div></div></div></body></html> \ No newline at end of file
diff --git a/doc/SysCheck/Usage.html b/doc/SysCheck/Usage.html
index b18301b..a6dafe2 100644
--- a/doc/SysCheck/Usage.html
+++ b/doc/SysCheck/Usage.html
@@ -116,5 +116,5 @@ Template argument size: 0/2097152 bytes
Expensive parser function count: 0/100
-->
-<!-- Saved in parser cache with key rasispdb:pcache:idhash:2655-0!*!0!!en!*!* and timestamp 20130805001517 -->
+<!-- Saved in parser cache with key rasispdb:pcache:idhash:2655-0!*!0!!en!*!* and timestamp 20130809033007 -->
</div></div></div></div></div></body></html> \ No newline at end of file