<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:www.nabble.com,2006:forum-26254</id>
	<title>Nabble - Apache C++ Standard Library</title>
	<updated>2008-09-06T17:07:44Z</updated>
	<link rel="self" type="application/atom+xml" href="http://www.nabble.com/Apache-C++-Standard-Library-f26254.xml" />
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Apache-C%2B%2B-Standard-Library-f26254.html" />
	<subtitle type="html">Apache C++ Standard Library (&lt;a href=&quot;http://stdcxx.apache.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;STDCXX&lt;/a&gt;) is a portable implementation of the C++ Standard Library specified in ISO/IEC 14882, the international standard for the C++ programming language.</subtitle>
	
<entry>
	<id>tag:www.nabble.com,2006:post-19352988</id>
	<title>Created: (STDCXX-1015) [gcc 4.3.0] ICE compiling VA_LIST.cpp config test</title>
	<published>2008-09-06T17:07:44Z</published>
	<updated>2008-09-06T17:07:44Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">[gcc 4.3.0] ICE compiling VA_LIST.cpp config test
&lt;br&gt;-------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: STDCXX-1015
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/STDCXX-1015&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/STDCXX-1015&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: C++ Standard Library
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: Configuration
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 4.2.1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Environment: gcc 4.3.0, 4.3.1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Martin Sebor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Assignee: Martin Sebor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Priority: Critical
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fix For: 4.2.2
&lt;br&gt;&lt;br&gt;&lt;br&gt;Both gcc 4.3.0 and 4.3.1 choke on the [{{VA_LIST.cpp}}|&lt;a href=&quot;http://svn.apache.org/repos/asf/stdcxx/branches/4.2.x/etc/config/src/VA_LIST.cpp&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/repos/asf/stdcxx/branches/4.2.x/etc/config/src/VA_LIST.cpp&lt;/a&gt;] config test. A misconfigured {{va_list}} can't be good for the library... We should probably hardcode the expected value when {{\_RWSTD_NO_VA_LIST}} is #defined (although we might already be doing it since we do have some good gcc 4.3.0 builds...)
&lt;br&gt;&lt;br&gt;The ICE has been filed with gcc in [bug 37404|&lt;a href=&quot;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37404&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37404&lt;/a&gt;].
&lt;br&gt;&lt;br&gt;{noformat}
&lt;br&gt;gcc -D_RWSTDDEBUG -pthread -I. -pedantic -nostdinc++ -g &amp;nbsp; -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align &amp;nbsp;-c /amd/devco/sebor/stdcxx-4.2.x/etc/config/src/VA_LIST.cpp -o VA_LIST.o
&lt;br&gt;/amd/devco/sebor/stdcxx-4.2.x/etc/config/src/VA_LIST.cpp: In function 'int main()':
&lt;br&gt;/amd/devco/sebor/stdcxx-4.2.x/etc/config/src/VA_LIST.cpp:198: warning: format '%u' expects type 'unsigned int', but argument 2 has type 'long unsigned int'
&lt;br&gt;/amd/devco/sebor/stdcxx-4.2.x/etc/config/src/VA_LIST.cpp:202: warning: format '%u' expects type 'unsigned int', but argument 2 has type 'long unsigned int'
&lt;br&gt;/amd/devco/sebor/stdcxx-4.2.x/etc/config/src/VA_LIST.cpp: In static member function 'static const char* Type&amp;lt;T [N]&amp;gt;::type_name() [with T = __va_list_tag, int N = 1]':
&lt;br&gt;/amd/devco/sebor/stdcxx-4.2.x/etc/config/src/VA_LIST.cpp:96: &amp;nbsp; instantiated from here
&lt;br&gt;/amd/devco/sebor/stdcxx-4.2.x/etc/config/src/VA_LIST.cpp:85: internal compiler error: in build_special_member_call, at cp/call.c:5323
&lt;br&gt;Please submit a full bug report,with preprocessed source if appropriate.
&lt;br&gt;See &amp;lt;&lt;a href=&quot;http://gcc.gnu.org/bugs.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/bugs.html&lt;/a&gt;&amp;gt; for instructions.
&lt;br&gt;{noformat}
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-issues-f30599.html&quot; embed=&quot;fixTarget[30599]&quot; target=&quot;_top&quot; &gt;stdcxx-issues&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Created%3A-%28STDCXX-1015%29--gcc-4.3.0--ICE-compiling-VA_LIST.cpp-config-test-tp19352988p19352988.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19352283</id>
	<title>svn commit: r692757 - /stdcxx/branches/4.2.x/examples/manual/search.cpp</title>
	<published>2008-09-06T15:42:30Z</published>
	<updated>2008-09-06T15:42:30Z</updated>
	<author>
		<name>sebor-2</name>
	</author>
	<content type="html">Author: sebor
&lt;br&gt;Date: Sat Sep &amp;nbsp;6 15:42:30 2008
&lt;br&gt;New Revision: 692757
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=692757&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=692757&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;2008-09-06 &amp;nbsp;Martin Sebor &amp;nbsp;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19352283&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;sebor@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; STDCXX-1007
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * examples/manual/search.cpp (main): Silenced HP aCC warning #4320:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; performance advice: std::endl is expensive because it flushes the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stream.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; stdcxx/branches/4.2.x/examples/manual/search.cpp
&lt;br&gt;&lt;br&gt;Modified: stdcxx/branches/4.2.x/examples/manual/search.cpp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/examples/manual/search.cpp?rev=692757&amp;r1=692756&amp;r2=692757&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/examples/manual/search.cpp?rev=692757&amp;r1=692756&amp;r2=692757&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- stdcxx/branches/4.2.x/examples/manual/search.cpp (original)
&lt;br&gt;+++ stdcxx/branches/4.2.x/examples/manual/search.cpp Sat Sep &amp;nbsp;6 15:42:30 2008
&lt;br&gt;@@ -22,7 +22,7 @@
&lt;br&gt;&amp;nbsp; * implied. &amp;nbsp; See &amp;nbsp;the License &amp;nbsp;for &amp;nbsp;the &amp;nbsp;specific language &amp;nbsp;governing
&lt;br&gt;&amp;nbsp; * permissions and limitations under the License.
&lt;br&gt;&amp;nbsp; *
&lt;br&gt;- * Copyright 1994-2006 Rogue Wave Software.
&lt;br&gt;+ * Copyright 1994-2006 Rogue Wave Software, Inc.
&lt;br&gt;&amp;nbsp; * 
&lt;br&gt;&amp;nbsp; **************************************************************************/
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -46,8 +46,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;//
&lt;br&gt;&amp;nbsp; &amp;nbsp;// Print out the original sequence.
&lt;br&gt;&amp;nbsp; &amp;nbsp;//
&lt;br&gt;- &amp;nbsp;cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &amp;quot;The subsequence, &amp;quot; &amp;lt;&amp;lt; subseq &amp;lt;&amp;lt; &amp;quot;, was found at the &amp;quot;;
&lt;br&gt;- &amp;nbsp;cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &amp;quot;location identified by a '*'&amp;quot; &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &amp;quot; &amp;nbsp; &amp;nbsp; &amp;quot;;
&lt;br&gt;+ &amp;nbsp;cout &amp;lt;&amp;lt; &amp;quot;\nThe subsequence, &amp;quot; &amp;lt;&amp;lt; subseq &amp;lt;&amp;lt; &amp;quot;, was found at the &amp;quot;;
&lt;br&gt;+ &amp;nbsp;cout &amp;lt;&amp;lt; &amp;quot;\nlocation identified by a '*'&amp;quot; &amp;lt;&amp;lt; &amp;quot;\n &amp;nbsp; &amp;nbsp; &amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp;//
&lt;br&gt;&amp;nbsp; &amp;nbsp;// Create an iterator to identify the location of 
&lt;br&gt;&amp;nbsp; &amp;nbsp;// subsequence within sequence.
&lt;br&gt;@@ -65,9 +65,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;//
&lt;br&gt;&amp;nbsp; &amp;nbsp;// Output sequence to display result.
&lt;br&gt;&amp;nbsp; &amp;nbsp;//
&lt;br&gt;- &amp;nbsp;for (list&amp;lt;char,allocator&amp;lt;char&amp;gt; &amp;gt;::iterator i = sequence.begin(); i != sequence.end(); i++)
&lt;br&gt;+ &amp;nbsp;for (list&amp;lt;char,allocator&amp;lt;char&amp;gt; &amp;gt;::iterator i = sequence.begin();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; i != sequence.end(); ++i)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; *i;
&lt;br&gt;- &amp;nbsp;cout &amp;lt;&amp;lt; endl;
&lt;br&gt;+ &amp;nbsp;cout &amp;lt;&amp;lt; '\n';
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;return 0;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-commits-f30597.html&quot; embed=&quot;fixTarget[30597]&quot; target=&quot;_top&quot; &gt;stdcxx-commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/svn-commit%3A-r692757----stdcxx-branches-4.2.x-examples-manual-search.cpp-tp19352283p19352283.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19352268</id>
	<title>svn commit: r692756 - /stdcxx/branches/4.2.x/examples/manual/stack.cpp</title>
	<published>2008-09-06T15:41:46Z</published>
	<updated>2008-09-06T15:41:46Z</updated>
	<author>
		<name>sebor-2</name>
	</author>
	<content type="html">Author: sebor
&lt;br&gt;Date: Sat Sep &amp;nbsp;6 15:41:46 2008
&lt;br&gt;New Revision: 692756
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=692756&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=692756&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;2008-09-06 &amp;nbsp;Martin Sebor &amp;nbsp;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19352268&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;sebor@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; STDCXX-1007
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * examples/manual/stack.cpp (main): Silenced HP aCC warning #4320:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; performance advice: std::endl is expensive because it flushes the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stream.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Also silenced remark #4271-D: type conversion may lose sign.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; stdcxx/branches/4.2.x/examples/manual/stack.cpp
&lt;br&gt;&lt;br&gt;Modified: stdcxx/branches/4.2.x/examples/manual/stack.cpp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/examples/manual/stack.cpp?rev=692756&amp;r1=692755&amp;r2=692756&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/examples/manual/stack.cpp?rev=692756&amp;r1=692755&amp;r2=692756&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- stdcxx/branches/4.2.x/examples/manual/stack.cpp (original)
&lt;br&gt;+++ stdcxx/branches/4.2.x/examples/manual/stack.cpp Sat Sep &amp;nbsp;6 15:41:46 2008
&lt;br&gt;@@ -22,7 +22,7 @@
&lt;br&gt;&amp;nbsp; * implied. &amp;nbsp; See &amp;nbsp;the License &amp;nbsp;for &amp;nbsp;the &amp;nbsp;specific language &amp;nbsp;governing
&lt;br&gt;&amp;nbsp; * permissions and limitations under the License.
&lt;br&gt;&amp;nbsp; *
&lt;br&gt;- * Copyright 1994-2006 Rogue Wave Software.
&lt;br&gt;+ * Copyright 1994-2006 Rogue Wave Software, Inc.
&lt;br&gt;&amp;nbsp; * 
&lt;br&gt;&amp;nbsp; **************************************************************************/
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -41,13 +41,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;//
&lt;br&gt;&amp;nbsp; &amp;nbsp;// Make a stack using a vector container.
&lt;br&gt;&amp;nbsp; &amp;nbsp;//
&lt;br&gt;- &amp;nbsp;stack&amp;lt;int,vector&amp;lt;int,allocator&amp;lt;int&amp;gt; &amp;gt; &amp;gt; s;
&lt;br&gt;+ &amp;nbsp;typedef stack&amp;lt;int,vector&amp;lt;int,allocator&amp;lt;int&amp;gt; &amp;gt; &amp;gt; IntStack;
&lt;br&gt;+ &amp;nbsp;IntStack s;
&lt;br&gt;&amp;nbsp; &amp;nbsp;//
&lt;br&gt;&amp;nbsp; &amp;nbsp;// Push a couple of values on the stack.
&lt;br&gt;&amp;nbsp; &amp;nbsp;//
&lt;br&gt;&amp;nbsp; &amp;nbsp;s.push(1);
&lt;br&gt;&amp;nbsp; &amp;nbsp;s.push(2);
&lt;br&gt;- &amp;nbsp;cout &amp;lt;&amp;lt; s.top() &amp;lt;&amp;lt; endl;
&lt;br&gt;+ &amp;nbsp;cout &amp;lt;&amp;lt; s.top() &amp;lt;&amp;lt; '\n';
&lt;br&gt;&amp;nbsp; &amp;nbsp;//
&lt;br&gt;&amp;nbsp; &amp;nbsp;// Now pop them off.
&lt;br&gt;&amp;nbsp; &amp;nbsp;//
&lt;br&gt;@@ -61,7 +62,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;//
&lt;br&gt;&amp;nbsp; &amp;nbsp;// Push a bunch of strings on then pop them off.
&lt;br&gt;&amp;nbsp; &amp;nbsp;//
&lt;br&gt;- &amp;nbsp;int i;
&lt;br&gt;+ &amp;nbsp;IntStack::size_type i;
&lt;br&gt;&amp;nbsp; &amp;nbsp;for (i = 0; i &amp;lt; 10; i++)
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ss.push(string(i+1,'a'));
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-commits-f30597.html&quot; embed=&quot;fixTarget[30597]&quot; target=&quot;_top&quot; &gt;stdcxx-commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/svn-commit%3A-r692756----stdcxx-branches-4.2.x-examples-manual-stack.cpp-tp19352268p19352268.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19350941</id>
	<title>Closed: (STDCXX-1014) [HP aCC 6] enable performance advice and security warnings</title>
	<published>2008-09-06T13:35:44Z</published>
	<updated>2008-09-06T13:35:44Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/STDCXX-1014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/STDCXX-1014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Martin Sebor closed STDCXX-1014.
&lt;br&gt;--------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Resolution: Fixed
&lt;br&gt;&lt;br&gt;Options enabled in [r692728|&lt;a href=&quot;http://svn.apache.org/viewvc?rev=692728&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=692728&amp;view=rev&lt;/a&gt;].
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; [HP aCC 6] enable performance advice and security warnings
&lt;br&gt;&amp;gt; ----------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: STDCXX-1014
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/STDCXX-1014&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/STDCXX-1014&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: C++ Standard Library
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Improvement
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: Documentation
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 4.2.1
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Environment: HP aCC 6
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Martin Sebor
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Martin Sebor
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: 4.2.2
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; Original Estimate: 2h
&lt;br&gt;&amp;gt; &amp;nbsp;Remaining Estimate: 2h
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; HP aCC provides two useful warning options that aren't enabled in stdcxx builds:
&lt;br&gt;&amp;gt; * [+wperfadvice|&lt;a href=&quot;http://docs.hp.com/en/10946/options.htm#opt+wperfadvice&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.hp.com/en/10946/options.htm#opt+wperfadvice&lt;/a&gt;] (since aCC A.06.15)
&lt;br&gt;&amp;gt; * [+wsecurity|&lt;a href=&quot;http://docs.hp.com/en/7283/options.htm#opt+wsecurity&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.hp.com/en/7283/options.htm#opt+wsecurity&lt;/a&gt;] (since aCC A.06.05)
&lt;br&gt;&amp;gt; It'd be good to enable these and silence any potential warnings.
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-issues-f30599.html&quot; embed=&quot;fixTarget[30599]&quot; target=&quot;_top&quot; &gt;stdcxx-issues&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Created%3A-%28STDCXX-1014%29--HP-aCC-6--enable-performance-advice-and-security-warnings-tp19350866p19350941.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19350891</id>
	<title>svn commit: r692728 - /stdcxx/branches/4.2.x/etc/config/acc.config</title>
	<published>2008-09-06T13:30:16Z</published>
	<updated>2008-09-06T13:30:16Z</updated>
	<author>
		<name>sebor-2</name>
	</author>
	<content type="html">Author: sebor
&lt;br&gt;Date: Sat Sep &amp;nbsp;6 13:30:16 2008
&lt;br&gt;New Revision: 692728
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=692728&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=692728&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;2008-09-06 &amp;nbsp;Martin Sebor &amp;nbsp;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19350891&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;sebor@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; STDCXX-1014
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * etc/config/acc.config (WARNFLAGS): Enabled the +wperfadvice
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; and +wsecurity warning options for HP aCC 6.15 and 6.05 (with
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; optimization), respectively.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; stdcxx/branches/4.2.x/etc/config/acc.config
&lt;br&gt;&lt;br&gt;Modified: stdcxx/branches/4.2.x/etc/config/acc.config
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/etc/config/acc.config?rev=692728&amp;r1=692727&amp;r2=692728&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/etc/config/acc.config?rev=692728&amp;r1=692727&amp;r2=692728&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- stdcxx/branches/4.2.x/etc/config/acc.config (original)
&lt;br&gt;+++ stdcxx/branches/4.2.x/etc/config/acc.config Sat Sep &amp;nbsp;6 13:30:16 2008
&lt;br&gt;@@ -46,6 +46,21 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;ifeq ($(aCC_MAJOR),06)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;ifeq ($(findstring optimized,$(BUILDMODE)),optimized)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ifeq ($(shell [ $(aCC_MINOR) -ge 5 ] &amp;&amp; echo 1),1)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# enable security warnings for aCC 6.05 and higher
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# when optimization is enabled (the option implicitly
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# enables a limited form of cross module analysis and
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# increases compilation times)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WARNFLAGS += +wsecurity
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;endif &amp;nbsp; # aCC &amp;gt;= 6.05
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;endif &amp;nbsp; # optimization on
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;ifeq ($(shell [ $(aCC_MINOR) -ge 15 ] &amp;&amp; echo 1),1)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# enable performance suggestions for aCC 6.15 and higher
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WARNFLAGS += +wperfadvice
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;endif &amp;nbsp; # aCC &amp;gt;= 6.15 
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;# disabled warnings:
&lt;br&gt;&amp;nbsp;# 2193 zero used for undefined preprocessing identifier
&lt;br&gt;&amp;nbsp;# 2236 controlling expression is constant
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-commits-f30597.html&quot; embed=&quot;fixTarget[30597]&quot; target=&quot;_top&quot; &gt;stdcxx-commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/svn-commit%3A-r692728----stdcxx-branches-4.2.x-etc-config-acc.config-tp19350891p19350891.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19350866</id>
	<title>Created: (STDCXX-1014) [HP aCC 6] enable performance advice and security warnings</title>
	<published>2008-09-06T13:27:44Z</published>
	<updated>2008-09-06T13:27:44Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">[HP aCC 6] enable performance advice and security warnings
&lt;br&gt;----------------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: STDCXX-1014
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/STDCXX-1014&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/STDCXX-1014&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: C++ Standard Library
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Improvement
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: Documentation
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 4.2.1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Environment: HP aCC 6
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Martin Sebor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Assignee: Martin Sebor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fix For: 4.2.2
&lt;br&gt;&lt;br&gt;&lt;br&gt;HP aCC provides two useful warning options that aren't enabled in stdcxx builds:
&lt;br&gt;&lt;br&gt;* [+wperfadvice|&lt;a href=&quot;http://docs.hp.com/en/10946/options.htm#opt+wperfadvice&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.hp.com/en/10946/options.htm#opt+wperfadvice&lt;/a&gt;] (since aCC A.06.15)
&lt;br&gt;* [+wsecurity|&lt;a href=&quot;http://docs.hp.com/en/7283/options.htm#opt+wsecurity&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.hp.com/en/7283/options.htm#opt+wsecurity&lt;/a&gt;] (since aCC A.06.05)
&lt;br&gt;&lt;br&gt;It'd be good to enable these and silence any potential warnings.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-issues-f30599.html&quot; embed=&quot;fixTarget[30599]&quot; target=&quot;_top&quot; &gt;stdcxx-issues&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Created%3A-%28STDCXX-1014%29--HP-aCC-6--enable-performance-advice-and-security-warnings-tp19350866p19350866.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19350519</id>
	<title>Created: (STDCXX-1013) [HP aCC 6.16] +wsecurity warnings in setlocale.cpp</title>
	<published>2008-09-06T12:55:44Z</published>
	<updated>2008-09-06T12:55:44Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">[HP aCC 6.16] +wsecurity warnings in setlocale.cpp
&lt;br&gt;--------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: STDCXX-1013
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/STDCXX-1013&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/STDCXX-1013&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: C++ Standard Library
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: 22. Localization
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 4.2.1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Environment: HP aCC 6.16 with [+wsecurity|&lt;a href=&quot;http://docs.hp.com/en/10946/options.htm#opt+wsecurity&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.hp.com/en/10946/options.htm#opt+wsecurity&lt;/a&gt;]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Martin Sebor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Assignee: Martin Sebor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Priority: Minor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fix For: 4.2.2
&lt;br&gt;&lt;br&gt;&lt;br&gt;Compiling the library with HP aCC 6.16 with the [+wsecurity|&lt;a href=&quot;http://docs.hp.com/en/10946/options.htm#opt+wsecurity&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.hp.com/en/10946/options.htm#opt+wsecurity&lt;/a&gt;] option emits the following warnings:
&lt;br&gt;&lt;br&gt;{noformat}
&lt;br&gt;aCC -c -mt -I/amd/devco/sebor/stdcxx-4.2.x/include -I/build/sebor/stdcxx-4.2.x-aCC-6.16-12D-ipo/include \
&lt;br&gt;&amp;nbsp; &amp;nbsp; -AA &amp;nbsp;+O2 &amp;nbsp;+DD64 -ipo +tls=static +w +wsecurity +wendian +W392,655,684,818,819,849 \
&lt;br&gt;&amp;nbsp; &amp;nbsp; +W2193,2236,2261,2340,2401,2487 +W4227,4229,4231,4235,4237,4249 \
&lt;br&gt;&amp;nbsp; &amp;nbsp; +W4255,4272,4284,4285,4286,4296,4297 +W3348 &amp;nbsp;+Z \
&lt;br&gt;&amp;nbsp; &amp;nbsp; /amd/devco/sebor/stdcxx-4.2.x/src/setlocale.cpp
&lt;br&gt;&amp;quot;/amd/devco/sebor/stdcxx-4.2.x/src/setlocale.cpp&amp;quot;, line 168, procedure __rw::__rw_locale_name: warning #20119-D: 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (SECURITY) Unsafe API 'strcpy' is used. Buffer overflow is not
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; checked when copying to target buffer. Consider using 'strncpy'.
&lt;br&gt;&lt;br&gt;&amp;quot;/amd/devco/sebor/stdcxx-4.2.x/src/setlocale.cpp&amp;quot;, line 182, procedure __rw::__rw_locale_name: warning #20119-D: 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (SECURITY) Unsafe API 'strcpy' is used. Buffer overflow is not
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; checked when copying to target buffer. Consider using 'strncpy'.
&lt;br&gt;&lt;br&gt;&amp;quot;/amd/devco/sebor/stdcxx-4.2.x/src/setlocale.cpp&amp;quot;, line 193, procedure __rw::__rw_locale_name: warning #20119-D: 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (SECURITY) Unsafe API 'strcpy' is used. Buffer overflow is not
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; checked when copying to target buffer. Consider using 'strncpy'.
&lt;br&gt;{noformat}
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-issues-f30599.html&quot; embed=&quot;fixTarget[30599]&quot; target=&quot;_top&quot; &gt;stdcxx-issues&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Created%3A-%28STDCXX-1013%29--HP-aCC-6.16--%2Bwsecurity-warnings-in-setlocale.cpp-tp19350519p19350519.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19350454</id>
	<title>Closed: (STDCXX-1012)  [HP aCC 6.15] warning #20200-D: potential null pointer dereference in locale_combine.cpp</title>
	<published>2008-09-06T12:49:44Z</published>
	<updated>2008-09-06T12:49:44Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/STDCXX-1012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/STDCXX-1012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Martin Sebor closed STDCXX-1012.
&lt;br&gt;--------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Resolution: Fixed
&lt;br&gt;&lt;br&gt;Silenced bogus warnings in [r692714|&lt;a href=&quot;http://svn.apache.org/viewvc?rev=692714&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=692714&amp;view=rev&lt;/a&gt;].
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;nbsp;[HP aCC 6.15] warning #20200-D: potential null pointer dereference in locale_combine.cpp
&lt;br&gt;&amp;gt; -----------------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: STDCXX-1012
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/STDCXX-1012&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/STDCXX-1012&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: C++ Standard Library
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Sub-task
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: 22. Localization
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 4.2.1
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Environment: HP aCC 6.16 with [-ipo|&lt;a href=&quot;http://docs.hp.com/en/14487/options.htm#opt-ipo&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.hp.com/en/14487/options.htm#opt-ipo&lt;/a&gt;]
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Martin Sebor
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Martin Sebor
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: 4.2.2
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; Original Estimate: 1h
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Time Spent: 2h
&lt;br&gt;&amp;gt; &amp;nbsp;Remaining Estimate: 0h
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Here's another HP [cadvise|&lt;a href=&quot;http://www.hp.com/go/cadvise&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.hp.com/go/cadvise&lt;/a&gt;] warning that shows up with the [-ipo|&lt;a href=&quot;http://docs.hp.com/en/14487/options.htm#opt-ipo&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.hp.com/en/14487/options.htm#opt-ipo&lt;/a&gt;] option. This one looks bogus -- see STDCXX-764.
&lt;br&gt;&amp;gt; {noformat}
&lt;br&gt;&amp;gt; aCC -AA +nostl -Wl,+s &amp;nbsp;-mt +DD64 +O2 -ipo +tls=static +Z -b +DD64 assert.o ... locale_combine.o ... wctype.o -o libstd12D.sl.4.2.2 
&lt;br&gt;&amp;gt; ...
&lt;br&gt;&amp;gt; &amp;quot;/amd/devco/sebor/stdcxx-4.2.x/src/locale_combine.cpp&amp;quot;, line 511, procedure __rw::__rw_init_classic: warning #20200-D: Potential null pointer dereference through sep is detected (null definition:/amd/devco/sebor/stdcxx-4.2.x/src/locale_combine.cpp, line 505)
&lt;br&gt;&amp;gt; &amp;quot;/amd/devco/sebor/stdcxx-4.2.x/src/locale_combine.cpp&amp;quot;, line 533, procedure __rw::__rw_init_classic: warning #20200-D: Potential null pointer dereference through next is detected (null definition:/amd/devco/sebor/stdcxx-4.2.x/src/locale_combine.cpp, line 511)
&lt;br&gt;&amp;gt; {noformat}
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-issues-f30599.html&quot; embed=&quot;fixTarget[30599]&quot; target=&quot;_top&quot; &gt;stdcxx-issues&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Created%3A-%28STDCXX-1012%29---HP-aCC-6.15--warning--20200-D%3A-potential-null-pointer-dereference-in-locale_combine.cpp-tp19349534p19350454.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19350410</id>
	<title>svn commit: r692714 - /stdcxx/branches/4.2.x/src/locale_combine.cpp</title>
	<published>2008-09-06T12:46:09Z</published>
	<updated>2008-09-06T12:46:09Z</updated>
	<author>
		<name>sebor-2</name>
	</author>
	<content type="html">Author: sebor
&lt;br&gt;Date: Sat Sep &amp;nbsp;6 12:46:08 2008
&lt;br&gt;New Revision: 692714
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=692714&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=692714&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;2008-09-06 &amp;nbsp;Martin Sebor &amp;nbsp;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19350410&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;sebor@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; STDCXX-1012
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * src/locale_combine.cpp (_C_get_body): Shut up bogus HP aCC
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (cadvise) warnings #20200-D: Potential null pointer dereference.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; stdcxx/branches/4.2.x/src/locale_combine.cpp
&lt;br&gt;&lt;br&gt;Modified: stdcxx/branches/4.2.x/src/locale_combine.cpp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/locale_combine.cpp?rev=692714&amp;r1=692713&amp;r2=692714&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/locale_combine.cpp?rev=692714&amp;r1=692713&amp;r2=692714&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- stdcxx/branches/4.2.x/src/locale_combine.cpp (original)
&lt;br&gt;+++ stdcxx/branches/4.2.x/src/locale_combine.cpp Sat Sep &amp;nbsp;6 12:46:08 2008
&lt;br&gt;@@ -502,15 +502,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const char *pcatnames [__rw_n_cats] = { 0 };
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// try the libc &amp;quot;native&amp;quot; separator first, semicolon next
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const char *sep = strchr (locname, *_RWSTD_CAT_SEP);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!sep)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sep = &amp;quot;;&amp;quot;;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (const char *s = locname; *s; ) {
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const char *next = strchr (s, *sep);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!next)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;next = s + strlen (s);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const char* const psep = strchr (locname, *_RWSTD_CAT_SEP);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const char sep = psep ? *psep : ';';
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// redundant check for s being non-null shuts up a bogus
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// HP cadvise null pointer derefence warning #20200
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (const char *s = locname; s &amp;&amp; *s; ) {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const char* const endcat = strchr (s, '=');
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!endcat)
&lt;br&gt;@@ -530,7 +527,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;s = *next ? next + 1 : next;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// advance just past the next separator if one exists
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const char* const next = strchr (s, sep);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;s = next ? next + 1 : s + strlen (s);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// compose a normalized locale name out of category names
&lt;br&gt;@@ -542,7 +541,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pcatnames [i] = &amp;quot;C&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const char *endcat = strchr (pcatnames [i], *sep);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const char *endcat = strchr (pcatnames [i], sep);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!endcat)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;endcat = pcatnames [i] + strlen (pcatnames [i]);
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-commits-f30597.html&quot; embed=&quot;fixTarget[30597]&quot; target=&quot;_top&quot; &gt;stdcxx-commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/svn-commit%3A-r692714----stdcxx-branches-4.2.x-src-locale_combine.cpp-tp19350410p19350410.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19350322</id>
	<title>svn commit: r692712 - /stdcxx/branches/4.2.x/tests/localization/22.locale.name.cpp</title>
	<published>2008-09-06T12:38:04Z</published>
	<updated>2008-09-06T12:38:04Z</updated>
	<author>
		<name>sebor-2</name>
	</author>
	<content type="html">Author: sebor
&lt;br&gt;Date: Sat Sep &amp;nbsp;6 12:38:04 2008
&lt;br&gt;New Revision: 692712
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=692712&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=692712&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;2008-09-06 &amp;nbsp;Martin Sebor &amp;nbsp;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19350322&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;sebor@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * tests/locale/22.locale.name.cpp: New test (so far superficially)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; exercising the interaction of the std::locale(const char*) ctor and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; the std::locale::name() function.
&lt;br&gt;&lt;br&gt;Added:
&lt;br&gt;&amp;nbsp; &amp;nbsp; stdcxx/branches/4.2.x/tests/localization/22.locale.name.cpp &amp;nbsp; (with props)
&lt;br&gt;&lt;br&gt;Added: stdcxx/branches/4.2.x/tests/localization/22.locale.name.cpp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/tests/localization/22.locale.name.cpp?rev=692712&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/tests/localization/22.locale.name.cpp?rev=692712&amp;view=auto&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- stdcxx/branches/4.2.x/tests/localization/22.locale.name.cpp (added)
&lt;br&gt;+++ stdcxx/branches/4.2.x/tests/localization/22.locale.name.cpp Sat Sep &amp;nbsp;6 12:38:04 2008
&lt;br&gt;@@ -0,0 +1,149 @@
&lt;br&gt;+/***************************************************************************
&lt;br&gt;+ *
&lt;br&gt;+ * 22.locale.name.cpp - test exercising std::locale::name()
&lt;br&gt;+ *
&lt;br&gt;+ * $Id$
&lt;br&gt;+ *
&lt;br&gt;+ ***************************************************************************
&lt;br&gt;+ *
&lt;br&gt;+ * Licensed to the Apache Software &amp;nbsp;Foundation (ASF) under one or more
&lt;br&gt;+ * contributor &amp;nbsp;license agreements. &amp;nbsp;See &amp;nbsp;the NOTICE &amp;nbsp;file distributed
&lt;br&gt;+ * with &amp;nbsp;this &amp;nbsp;work &amp;nbsp;for &amp;nbsp;additional information &amp;nbsp;regarding &amp;nbsp;copyright
&lt;br&gt;+ * ownership. &amp;nbsp; The ASF &amp;nbsp;licenses this &amp;nbsp;file to &amp;nbsp;you under &amp;nbsp;the Apache
&lt;br&gt;+ * License, Version &amp;nbsp;2.0 (the &amp;nbsp;&amp;quot;License&amp;quot;); you may &amp;nbsp;not use &amp;nbsp;this file
&lt;br&gt;+ * except in &amp;nbsp;compliance with the License. &amp;nbsp; You may obtain &amp;nbsp;a copy of
&lt;br&gt;+ * the License at
&lt;br&gt;+ *
&lt;br&gt;+ * &lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/a&gt;&lt;br&gt;+ *
&lt;br&gt;+ * Unless required by applicable law or agreed to in writing, software
&lt;br&gt;+ * distributed under the &amp;nbsp;License is distributed on an &amp;nbsp;&amp;quot;AS IS&amp;quot; BASIS,
&lt;br&gt;+ * WITHOUT &amp;nbsp;WARRANTIES OR CONDITIONS &amp;nbsp;OF ANY &amp;nbsp;KIND, either &amp;nbsp;express or
&lt;br&gt;+ * implied. &amp;nbsp; See &amp;nbsp;the License &amp;nbsp;for &amp;nbsp;the &amp;nbsp;specific language &amp;nbsp;governing
&lt;br&gt;+ * permissions and limitations under the License.
&lt;br&gt;+ *
&lt;br&gt;+ **************************************************************************/
&lt;br&gt;+
&lt;br&gt;+#include &amp;lt;cstdio&amp;gt; &amp;nbsp; &amp;nbsp; // for printf()
&lt;br&gt;+#include &amp;lt;cstring&amp;gt; &amp;nbsp; &amp;nbsp;// for strcmp()
&lt;br&gt;+#include &amp;lt;locale&amp;gt; &amp;nbsp; &amp;nbsp; // for locale
&lt;br&gt;+
&lt;br&gt;+#include &amp;lt;rw_driver.h&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+void test_combined_name ()
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;const char name[] = {
&lt;br&gt;+#ifdef _AIX
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_TIME=EN_US.UTF-8;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_NUMERIC=C;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_MONETARY=en_US;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_MESSAGES=EN_US.UTF-8;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_CTYPE=C;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_COLLATE=en_US.ISO8859-1;&amp;quot;
&lt;br&gt;+#elif defined __hpux
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_TIME=en_US.utf8;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_NUMERIC=C;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_MONETARY=en_US.roman8;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_MESSAGES=en_US.utf8;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_CTYPE=C;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_COLLATE=en_US.iso88591;&amp;quot;
&lt;br&gt;+#elif defined __linux
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_TIME=en_US.utf8;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_NUMERIC=C;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_MONETARY=en_US;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_MESSAGES=en_US.utf8;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_CTYPE=C;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_COLLATE=en_US.iso88591;&amp;quot;
&lt;br&gt;+#elif defined __osf__
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;C&amp;quot;
&lt;br&gt;+#elif defined __sun
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_TIME=en_US.UTF-8;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_NUMERIC=C;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_MONETARY=en_US;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_MESSAGES=en_US.UTF-8;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_CTYPE=C;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_COLLATE=en_US.ISO8859-1;&amp;quot;
&lt;br&gt;+#elif defined _WIN32
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;C&amp;quot;
&lt;br&gt;+#else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;C&amp;quot;
&lt;br&gt;+#endif
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;};
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; const char expected_name[] = {
&lt;br&gt;+#ifdef _AIX
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;en_US.ISO8859-1 &amp;quot; &amp;nbsp; // LC_COLLATE
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;C &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // LC_CTYPE
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;en_US &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // LC_MONETARY
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;C &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // LC_NUMERIC
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;EN_US.UTF-8 &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; // LC_TIME
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;EN_US.UTF-8&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// LC_MESSAGES
&lt;br&gt;+#elif defined __hpux
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;en_US.iso88591 &amp;quot; &amp;nbsp; &amp;nbsp;// LC_COLLATE
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;C &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // LC_CTYPE
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;en_US.roman8 &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp;// LC_MONETARY
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;C &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // LC_NUMERIC
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;en_US.utf8 &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// LC_TIME
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;en_US.utf8&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // LC_MESSAGES
&lt;br&gt;+#elif defined __linux
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_CTYPE=C;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_NUMERIC=C;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_TIME=en_US.utf8;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_COLLATE=en_US.iso88591;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_MONETARY=en_US;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;LC_MESSAGES=en_US.utf8&amp;quot;
&lt;br&gt;+#elif defined __osf__
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;&amp;quot;
&lt;br&gt;+#elif defined __sun
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;/C&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // LC_COLLATE
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;/C&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // LC_CTYPE
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;/en_US.UTF-8&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; // LC_MONETARY
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;/en_US.ISO8859-1&amp;quot; &amp;nbsp; // LC_NUMERIC
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;/en_US&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // LC_TIME
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;/en_US.UTF-8&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; // LC_MESSAGES
&lt;br&gt;+#elif defined _WIN32
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;C&amp;quot; 
&lt;br&gt;+#else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;C&amp;quot;
&lt;br&gt;+#endif
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;};
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;std::locale loc;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// try to create the combined locale
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;loc = std::locale (name);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (...) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rw_error (0, 0, __LINE__,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;std::locale(%#s) threw an exception\n&amp;quot;, name);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// verify that the actual locale name matches the expected name
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;const int cmp = std::strcmp (loc.name ().c_str (), expected_name);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;rw_assert (0 == cmp, 0, __LINE__,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;std::locale(%#s).name() == %#s, got %#s&amp;quot;,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name, expected_name, loc.name ().c_str ());
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+static int
&lt;br&gt;+run_test (int, char**)
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;test_combined_name ();
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return 0;
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+int main (int argc, char *argv[])
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return rw_test (argc, argv, __FILE__,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;[lib.locale]&amp;quot;,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;name()&amp;quot;, &amp;nbsp; // comment
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;run_test, &amp;quot;&amp;quot;, 0);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;&lt;br&gt;Propchange: stdcxx/branches/4.2.x/tests/localization/22.locale.name.cpp
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&lt;br&gt;Propchange: stdcxx/branches/4.2.x/tests/localization/22.locale.name.cpp
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:keywords = Id
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-commits-f30597.html&quot; embed=&quot;fixTarget[30597]&quot; target=&quot;_top&quot; &gt;stdcxx-commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/svn-commit%3A-r692712----stdcxx-branches-4.2.x-tests-localization-22.locale.name.cpp-tp19350322p19350322.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19349534</id>
	<title>Created: (STDCXX-1012)  [HP aCC 6.15] warning #20200-D: potential null pointer dereference in locale_combine.cpp</title>
	<published>2008-09-06T11:15:44Z</published>
	<updated>2008-09-06T11:15:44Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&amp;nbsp;[HP aCC 6.15] warning #20200-D: potential null pointer dereference in locale_combine.cpp
&lt;br&gt;-----------------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: STDCXX-1012
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/STDCXX-1012&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/STDCXX-1012&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: C++ Standard Library
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Sub-task
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: 22. Localization
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 4.2.1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Environment: HP aCC 6.16 with [-ipo|&lt;a href=&quot;http://docs.hp.com/en/14487/options.htm#opt-ipo&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.hp.com/en/14487/options.htm#opt-ipo&lt;/a&gt;]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Martin Sebor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Assignee: Martin Sebor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fix For: 4.2.2
&lt;br&gt;&lt;br&gt;&lt;br&gt;Here's another HP [cadvise|&lt;a href=&quot;http://www.hp.com/go/cadvise&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.hp.com/go/cadvise&lt;/a&gt;] warning that shows up with the [-ipo|&lt;a href=&quot;http://docs.hp.com/en/14487/options.htm#opt-ipo&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.hp.com/en/14487/options.htm#opt-ipo&lt;/a&gt;] option. This one looks bogus -- see STDCXX-764.
&lt;br&gt;&lt;br&gt;{noformat}
&lt;br&gt;aCC -AA +nostl -Wl,+s &amp;nbsp;-mt +DD64 +O2 -ipo +tls=static +Z -b +DD64 assert.o ... locale_combine.o ... wctype.o -o libstd12D.sl.4.2.2 
&lt;br&gt;...
&lt;br&gt;&amp;quot;/amd/devco/sebor/stdcxx-4.2.x/src/locale_combine.cpp&amp;quot;, line 511, procedure __rw::__rw_init_classic: warning #20200-D: Potential null pointer dereference through sep is detected (null definition:/amd/devco/sebor/stdcxx-4.2.x/src/locale_combine.cpp, line 505)
&lt;br&gt;&lt;br&gt;&amp;quot;/amd/devco/sebor/stdcxx-4.2.x/src/locale_combine.cpp&amp;quot;, line 533, procedure __rw::__rw_init_classic: warning #20200-D: Potential null pointer dereference through next is detected (null definition:/amd/devco/sebor/stdcxx-4.2.x/src/locale_combine.cpp, line 511)
&lt;br&gt;{noformat}
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-issues-f30599.html&quot; embed=&quot;fixTarget[30599]&quot; target=&quot;_top&quot; &gt;stdcxx-issues&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Created%3A-%28STDCXX-1012%29---HP-aCC-6.15--warning--20200-D%3A-potential-null-pointer-dereference-in-locale_combine.cpp-tp19349534p19349534.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19349403</id>
	<title>Closed: (STDCXX-1011) [HP aCC 6.16] warning #20200-D: potential null pointer dereference in collate.cpp</title>
	<published>2008-09-06T11:03:44Z</published>
	<updated>2008-09-06T11:03:44Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/STDCXX-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/STDCXX-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Martin Sebor closed STDCXX-1011.
&lt;br&gt;--------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Resolution: Fixed
&lt;br&gt;&lt;br&gt;This was a real problem. Fixed in [r692697|&lt;a href=&quot;http://svn.apache.org/viewvc?rev=692697&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=692697&amp;view=rev&lt;/a&gt;].
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; [HP aCC 6.16] warning #20200-D: potential null pointer dereference in collate.cpp
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: STDCXX-1011
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/STDCXX-1011&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/STDCXX-1011&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: C++ Standard Library
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Sub-task
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: 22. Localization
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 4.2.1
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Environment: HP aCC 6.16
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Martin Sebor
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Martin Sebor
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: 4.2.2
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; Original Estimate: 1h
&lt;br&gt;&amp;gt; &amp;nbsp;Remaining Estimate: 1h
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The warning below shows up when linking with the [-ipo|&lt;a href=&quot;http://docs.hp.com/en/10946/options.htm#opt-ipo&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.hp.com/en/10946/options.htm#opt-ipo&lt;/a&gt;] option:
&lt;br&gt;&amp;gt; {noformat}
&lt;br&gt;&amp;gt; aCC -AA +nostl -Wl,+s &amp;nbsp;-mt +DD64 +O2 -ipo +tls=static &amp;nbsp;+Z -b +DD64 assert.o ... collate.o ... wctype.o -o libstd12D.sl.4.2.2 
&lt;br&gt;&amp;gt; &amp;quot;/amd/devco/sebor/stdcxx-4.2.x/src/collate.cpp&amp;quot;, line 471, procedure do_compare:
&lt;br&gt;&amp;gt; &amp;nbsp;warning #20200-D: Potential null pointer dereference through &amp;nbsp;return of call to __rw::__rw_get_facet_data is detected (null definition:/amd/devco/sebor/stdcxx-4.2.x/src/collate.cpp, line 987)
&lt;br&gt;&amp;gt; ...
&lt;br&gt;&amp;gt; {noformat}
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-issues-f30599.html&quot; embed=&quot;fixTarget[30599]&quot; target=&quot;_top&quot; &gt;stdcxx-issues&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Created%3A-%28STDCXX-1011%29--HP-aCC-6.16--warning--20200-D%3A-potential-null-pointer-dereference-in-collate.cpp-tp19349266p19349403.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19349355</id>
	<title>svn commit: r692697 - /stdcxx/branches/4.2.x/src/collate.cpp</title>
	<published>2008-09-06T10:59:18Z</published>
	<updated>2008-09-06T10:59:18Z</updated>
	<author>
		<name>sebor-2</name>
	</author>
	<content type="html">Author: sebor
&lt;br&gt;Date: Sat Sep &amp;nbsp;6 10:59:18 2008
&lt;br&gt;New Revision: 692697
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=692697&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=692697&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;2008-09-06 &amp;nbsp;Martin Sebor &amp;nbsp;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19349355&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;sebor@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; STDCXX-1011
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * src/collate.cpp (collate_byname::do_transform): Silenced HP aCC
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; warning #20200: Potential null pointer dereference through return
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; of call to __rw::__rw_get_facet_data().
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Optimized the initialization of the facet data so as to take place
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; only in the first iteration of the loop in which it's needed, and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; not each time.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; stdcxx/branches/4.2.x/src/collate.cpp
&lt;br&gt;&lt;br&gt;Modified: stdcxx/branches/4.2.x/src/collate.cpp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/collate.cpp?rev=692697&amp;r1=692696&amp;r2=692697&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/collate.cpp?rev=692697&amp;r1=692696&amp;r2=692697&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- stdcxx/branches/4.2.x/src/collate.cpp (original)
&lt;br&gt;+++ stdcxx/branches/4.2.x/src/collate.cpp Sat Sep &amp;nbsp;6 10:59:18 2008
&lt;br&gt;@@ -966,6 +966,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// each character, in the process check for collating elements.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;const char* tmp_lo = low;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// lazily initialized in the first iteration of the loop
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// in which the facet data is needed (possibly never)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;const _RW::__rw_codecvt_t* cvt = 0;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;for (; tmp_lo &amp;lt; high; tmp_lo++) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const char* tmp_lo2 = tmp_lo;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int ret = _RW::__rw_get_n_ce_offset (impl, &amp;tmp_lo2, high);
&lt;br&gt;@@ -983,18 +987,22 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (impl-&amp;gt;undefined_optimization) {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;size_t size;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (0 == cvt) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cvt = _RWSTD_STATIC_CAST (const _RW::__rw_codecvt_t*, 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RW::__rw_get_facet_data (
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ccvt_cat, size, _C_name, 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;impl-&amp;gt;codeset_name ()));
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const _RW::__rw_codecvt_t *cvt = 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RWSTD_STATIC_CAST (const _RW::__rw_codecvt_t*, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RW::__rw_get_facet_data (
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ccvt_cat, size, _C_name, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;impl-&amp;gt;codeset_name ()));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (0 == cvt)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return string_type (); &amp;nbsp; // error
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_RW::__rw_is_invalid (cvt-&amp;gt;n_to_w_tab(), tmp_lo2))
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return string_type (); &amp;nbsp; // error
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const unsigned int *pwt =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const unsigned int* const pwt =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;impl-&amp;gt;get_weight (impl-&amp;gt;undefined_weight_idx);
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;indexes.append (&amp;pwt, 1);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tmp_lo = tmp_lo2;
&lt;br&gt;@@ -1194,6 +1202,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// is high - low
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RW::__rw_pod_array&amp;lt;const unsigned int*, 1024&amp;gt; indexes;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// lazily initialized in the first iteration of the loop
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// in which the facet data is needed (possibly never)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const _RW::__rw_codecvt_t* cvt = 0;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// first go through the string getting a weight offset for
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// each character, in the process check for collating elements.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (const wchar_t* tmp_lo =low; tmp_lo &amp;lt; high; tmp_lo++) {
&lt;br&gt;@@ -1211,11 +1223,17 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// database to discover this information 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (impl-&amp;gt;undefined_optimization) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;size_t size;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const _RW::__rw_codecvt_t *cvt = 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RWSTD_STATIC_CAST (const _RW::__rw_codecvt_t*, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RW::__rw_get_facet_data (
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ccvt_cat, size, _C_name,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;impl-&amp;gt;codeset_name ()));
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (0 == cvt) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cvt = _RWSTD_STATIC_CAST(const _RW::__rw_codecvt_t*,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _RW::__rw_get_facet_data (
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ccvt_cat, size, _C_name,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;impl-&amp;gt;codeset_name ()));
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (0 == cvt)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return string_type (); &amp;nbsp; // error
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;char tmp [_RWSTD_MB_MAX];
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-commits-f30597.html&quot; embed=&quot;fixTarget[30597]&quot; target=&quot;_top&quot; &gt;stdcxx-commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/svn-commit%3A-r692697----stdcxx-branches-4.2.x-src-collate.cpp-tp19349355p19349355.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19349266</id>
	<title>Created: (STDCXX-1011) [HP aCC 6.16] warning #20200-D: potential null pointer dereference in collate.cpp</title>
	<published>2008-09-06T10:51:44Z</published>
	<updated>2008-09-06T10:51:44Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">[HP aCC 6.16] warning #20200-D: potential null pointer dereference in collate.cpp
&lt;br&gt;---------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: STDCXX-1011
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/STDCXX-1011&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/STDCXX-1011&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: C++ Standard Library
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Sub-task
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: 22. Localization
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 4.2.1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Environment: HP aCC 6.16
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Martin Sebor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Assignee: Martin Sebor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fix For: 4.2.2
&lt;br&gt;&lt;br&gt;&lt;br&gt;The warning below shows up when linking with the [-ipo|&lt;a href=&quot;http://docs.hp.com/en/10946/options.htm#opt-ipo&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.hp.com/en/10946/options.htm#opt-ipo&lt;/a&gt;] option:
&lt;br&gt;{noformat}
&lt;br&gt;aCC -AA +nostl -Wl,+s &amp;nbsp;-mt +DD64 +O2 -ipo +tls=static &amp;nbsp;+Z -b +DD64 assert.o ... collate.o ... wctype.o -o libstd12D.sl.4.2.2 
&lt;br&gt;&amp;quot;/amd/devco/sebor/stdcxx-4.2.x/src/collate.cpp&amp;quot;, line 471, procedure do_compare:
&lt;br&gt;&amp;nbsp;warning #20200-D: Potential null pointer dereference through &amp;nbsp;return of call to __rw::__rw_get_facet_data is detected (null definition:/amd/devco/sebor/stdcxx-4.2.x/src/collate.cpp, line 987)
&lt;br&gt;...
&lt;br&gt;{noformat}
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-issues-f30599.html&quot; embed=&quot;fixTarget[30599]&quot; target=&quot;_top&quot; &gt;stdcxx-issues&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Created%3A-%28STDCXX-1011%29--HP-aCC-6.16--warning--20200-D%3A-potential-null-pointer-dereference-in-collate.cpp-tp19349266p19349266.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19348804</id>
	<title>svn commit: r692684 - /stdcxx/branches/4.2.x/src/collate.cpp</title>
	<published>2008-09-06T10:09:52Z</published>
	<updated>2008-09-06T10:09:52Z</updated>
	<author>
		<name>sebor-2</name>
	</author>
	<content type="html">Author: sebor
&lt;br&gt;Date: Sat Sep &amp;nbsp;6 10:09:52 2008
&lt;br&gt;New Revision: 692684
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=692684&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=692684&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;2008-09-06 &amp;nbsp;Martin Sebor &amp;nbsp;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19348804&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;sebor@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * src/collate.cpp: Globally replaced all occurrences of
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; the _RWSTD_SIZE_T macro with the equivalent C typedef.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; stdcxx/branches/4.2.x/src/collate.cpp
&lt;br&gt;&lt;br&gt;Modified: stdcxx/branches/4.2.x/src/collate.cpp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/collate.cpp?rev=692684&amp;r1=692683&amp;r2=692684&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/collate.cpp?rev=692684&amp;r1=692683&amp;r2=692684&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- stdcxx/branches/4.2.x/src/collate.cpp (original)
&lt;br&gt;+++ stdcxx/branches/4.2.x/src/collate.cpp Sat Sep &amp;nbsp;6 10:09:52 2008
&lt;br&gt;@@ -43,7 +43,7 @@
&lt;br&gt;&amp;nbsp;#include &amp;lt;limits&amp;gt; &amp;nbsp; &amp;nbsp; // for numeric_limits
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#include &amp;lt;limits.h&amp;gt;
&lt;br&gt;-#include &amp;lt;stdlib.h&amp;gt; &amp;nbsp; // for wcstombs()
&lt;br&gt;+#include &amp;lt;stdlib.h&amp;gt; &amp;nbsp; // for size_t, wcstombs()
&lt;br&gt;&amp;nbsp;#include &amp;lt;string.h&amp;gt; &amp;nbsp; // for memchr(), memcpy()
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#ifndef _RWSTD_NO_WCHAR_H
&lt;br&gt;@@ -88,7 +88,7 @@
&lt;br&gt;&amp;nbsp;extern &amp;quot;C&amp;quot; {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;// declare if not declared in the system header(s)
&lt;br&gt;-_RWSTD_SIZE_T wcsxfrm (wchar_t*, const wchar_t*, _RWSTD_SIZE_T) _LIBC_THROWS ();
&lt;br&gt;+size_t wcsxfrm (wchar_t*, const wchar_t*, size_t) _LIBC_THROWS ();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;# &amp;nbsp; &amp;nbsp;define _RWSTD_WCSXFRM &amp;nbsp; wcsxfrm
&lt;br&gt;&amp;nbsp;# &amp;nbsp; &amp;nbsp;undef _RWSTD_NO_WCSXFRM
&lt;br&gt;@@ -108,8 +108,8 @@
&lt;br&gt;&amp;nbsp;extern &amp;quot;C&amp;quot; {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;// declare if not declared in the system header(s)
&lt;br&gt;-_RWSTD_DLLIMPORT _RWSTD_SIZE_T
&lt;br&gt;-wcstombs (char*, const wchar_t*, _RWSTD_SIZE_T) _LIBC_THROWS ();
&lt;br&gt;+_RWSTD_DLLIMPORT size_t
&lt;br&gt;+wcstombs (char*, const wchar_t*, size_t) _LIBC_THROWS ();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;# &amp;nbsp;undef _RWSTD_NO_WCSTOMBS
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -321,10 +321,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while (*cur_char &amp;lt; end) {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// convert the next wchar_t character to a utf8 encoded character
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T nbytes =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const size_t nbytes =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RW::__rw_itoutf8 (**cur_char, utf8_enc);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (_RWSTD_SIZE_T i = 0; i &amp;lt; nbytes; i++) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (size_t i = 0; i &amp;lt; nbytes; i++) {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const unsigned c1 = impl-&amp;gt;get_first_char_in_w_ce_tab (cur_tab);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const unsigned c2 = impl-&amp;gt;get_last_char_in_w_ce_tab (cur_tab);
&lt;br&gt;@@ -365,10 +365,10 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;while (*cur_char &amp;lt; end) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// convert the next wchar_t character to a utf8 encoded character
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T nbytes =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const size_t nbytes =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RW::__rw_itoutf8 (**cur_char, utf8_enc);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (_RWSTD_SIZE_T i = 0; i &amp;lt; nbytes; i++) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (size_t i = 0; i &amp;lt; nbytes; i++) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const unsigned c1 = impl-&amp;gt;get_first_char_in_w_tab (cur_tab);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (UChar (utf8_enc [i]) &amp;lt; c1)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return -1;
&lt;br&gt;@@ -476,14 +476,14 @@
&lt;br&gt;&amp;nbsp;// in an array that may contain embedded NULs; these are inserted
&lt;br&gt;&amp;nbsp;// into the transformed string
&lt;br&gt;&amp;nbsp;static _STD::string
&lt;br&gt;-__rw_strnxfrm (const char *src, _RWSTD_SIZE_T nchars)
&lt;br&gt;+__rw_strnxfrm (const char *src, size_t nchars)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;_STD::string res;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;char buf [256];
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;char *pbuf = buf;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;_RWSTD_SIZE_T bufsize = sizeof buf;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;size_t bufsize = sizeof buf;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;char *psrc = buf;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;while (nchars) {
&lt;br&gt;@@ -533,13 +533,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;char just_in_case_buf [8];
&lt;br&gt;&amp;nbsp;#endif
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T dst_size = strxfrm (just_in_case_buf, psrc, 0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const size_t dst_size = strxfrm (just_in_case_buf, psrc, 0);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// check for strxfrm() errors
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (0 == (dst_size &amp;lt;&amp;lt; 1))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _STD::string ();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RWSTD_SIZE_T res_size = res.size ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;size_t res_size = res.size ();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_TRY {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// resize the result string to fit itself plus the result
&lt;br&gt;@@ -554,7 +554,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// transfor the source string up to the terminating NUL
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RWSTD_SIZE_T xfrm_size =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;size_t xfrm_size =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;strxfrm (&amp;res [0] + res_size, psrc, dst_size + 1);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#if defined _MSC_VER &amp;&amp; _MSC_VER &amp;lt; 1400
&lt;br&gt;@@ -594,8 +594,8 @@
&lt;br&gt;&amp;nbsp;// implements wcsxfrm() using wcstombs() and strxfrm() on platforms
&lt;br&gt;&amp;nbsp;// such as some versions of BSD where the function isn't defined in
&lt;br&gt;&amp;nbsp;// the C Standard Library
&lt;br&gt;-static _RWSTD_SIZE_T
&lt;br&gt;-__rw_wcsxfrm (wchar_t *dst, const wchar_t *src, _RWSTD_SIZE_T dstsize)
&lt;br&gt;+static size_t
&lt;br&gt;+__rw_wcsxfrm (wchar_t *dst, const wchar_t *src, size_t dstsize)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// src must be non-null
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;_RWSTD_ASSERT (0 != src);
&lt;br&gt;@@ -608,20 +608,20 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// convert wide string to a multibyte string before tranforming it
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// using strxfrm() and widening the result into the destination buffer
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T srclen = _RWSTD_WCSLEN (src);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;const size_t srclen = _RWSTD_WCSLEN (src);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// compute the size of the temporary nearrow buffer where to narrow
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// the source wide string to
&lt;br&gt;- &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T needbytes =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;const size_t needbytes =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(dstsize ? dstsize : srclen) * MB_LEN_MAX;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;char narrow_buf [256];
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;char* const nbuf =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sizeof narrow_buf &amp;lt; needbytes ? new char [needbytes + 1] : narrow_buf;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;_RWSTD_SIZE_T result;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;size_t result;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T nmbchars = wcstombs (nbuf, src, needbytes);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;const size_t nmbchars = wcstombs (nbuf, src, needbytes);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (_RWSTD_SIZE_MAX == nmbchars)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;result = _RWSTD_SIZE_MAX;
&lt;br&gt;@@ -630,8 +630,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// buffer (where 8 is a guess at the maximum number of bytes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// needed to transform the longest multibyte character)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;char xfrm_buf [sizeof narrow_buf * 8];
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T xbufsize = sizeof xfrm_buf;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T xbufneed = needbytes * 8;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const size_t xbufsize = sizeof xfrm_buf;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const size_t xbufneed = needbytes * 8;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// allocate a larger buffer if the small statically buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// isn't big enough
&lt;br&gt;@@ -650,7 +650,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (result &amp;lt; dstsize)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dstsize = result;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (_RWSTD_SIZE_T i = 0; i != dstsize; ++i)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (size_t i = 0; i != dstsize; ++i)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dst [i] = wchar_t (UChar (xbuf [i]));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -686,14 +686,14 @@
&lt;br&gt;&amp;nbsp;// in an array that may contain embedded NULs; these are inserted
&lt;br&gt;&amp;nbsp;// into the transformed string
&lt;br&gt;&amp;nbsp;static _STD::wstring
&lt;br&gt;-__rw_wcsnxfrm (const wchar_t *src, _RWSTD_SIZE_T nchars)
&lt;br&gt;+__rw_wcsnxfrm (const wchar_t *src, size_t nchars)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;_STD::wstring res;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;wchar_t buf [256];
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;wchar_t *pbuf = buf;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;_RWSTD_SIZE_T bufsize = sizeof buf / sizeof *buf;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;size_t bufsize = sizeof buf / sizeof *buf;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;wchar_t *psrc = buf;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;while (nchars) {
&lt;br&gt;@@ -742,14 +742,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wchar_t just_in_case_buf [8];
&lt;br&gt;&amp;nbsp;#endif
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T dst_size =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const size_t dst_size =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RWSTD_WCSXFRM (just_in_case_buf, psrc, 0);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// check for wcsxfrm() errors
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_RWSTD_SIZE_MAX == dst_size)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _STD::wstring ();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RWSTD_SIZE_T res_size = res.size ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;size_t res_size = res.size ();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_TRY {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// resize the result string to fit itself plus the result
&lt;br&gt;@@ -764,7 +764,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// transfor the source string up to the terminating NUL
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RWSTD_SIZE_T xfrm_size =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;size_t xfrm_size =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RWSTD_WCSXFRM (&amp;res [0] + res_size, psrc, dst_size + 1);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;# &amp;nbsp;if defined _MSC_VER &amp;&amp; _MSC_VER &amp;lt; 1400
&lt;br&gt;@@ -871,8 +871,8 @@
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;_RWSTD_ASSERT (__lo1 &amp;lt;= __hi1 &amp;&amp; __lo2 &amp;lt;= __hi2);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T __len1 = __hi1 - __lo1;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T __len2 = __hi2 - __lo2;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;const size_t __len1 = __hi1 - __lo1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;const size_t __len2 = __hi2 - __lo2;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;const int cmp = memcmp (__lo1, __lo2, __len1 &amp;lt; __len2 ? __len1 : __len2);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -982,7 +982,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// database to discover this information
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (impl-&amp;gt;undefined_optimization) {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RWSTD_SIZE_T size;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;size_t size;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const _RW::__rw_codecvt_t *cvt = 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RWSTD_STATIC_CAST (const _RW::__rw_codecvt_t*, 
&lt;br&gt;@@ -1042,8 +1042,8 @@
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;_RWSTD_ASSERT (__lo1 &amp;lt;= __hi1 &amp;&amp; __lo2 &amp;lt;= __hi2);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T __len1 = __hi1 - __lo1;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T __len2 = __hi2 - __lo2;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;const size_t __len1 = __hi1 - __lo1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;const size_t __len2 = __hi2 - __lo2;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#ifndef _RWSTD_NO_WMEMCMP
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1054,7 +1054,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#else &amp;nbsp; // if defined (_RWSTD_NO_WMEMCMP)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;for (_RWSTD_SIZE_T __len = __len1 &amp;lt; __len2 ? __len1 : __len2;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (size_t __len = __len1 &amp;lt; __len2 ? __len1 : __len2;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __len--; ++__lo1, ++__lo2) {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;typedef string_type::traits_type _Traits;
&lt;br&gt;@@ -1129,13 +1129,13 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;_RW::__rw_setlocale clocale (this-&amp;gt;_C_name, _RWSTD_LC_COLLATE);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T len1 = high1 - low1;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T len2 = high2 - low2;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T len &amp;nbsp;= len1 + len2;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;const size_t len1 = high1 - low1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;const size_t len2 = high2 - low2;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;const size_t len &amp;nbsp;= len1 + len2;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// small local buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;wchar_t local_buffer [256];
&lt;br&gt;- &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T bufsize = sizeof local_buffer / sizeof *local_buffer;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;const size_t bufsize = sizeof local_buffer / sizeof *local_buffer;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// allocate only if local buffer is too small
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;wchar_t* const wbuf =
&lt;br&gt;@@ -1210,7 +1210,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// in the collate database we must use the codecvt 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// database to discover this information 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (impl-&amp;gt;undefined_optimization) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RWSTD_SIZE_T size;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;size_t size;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const _RW::__rw_codecvt_t *cvt = 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RWSTD_STATIC_CAST (const _RW::__rw_codecvt_t*, 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RW::__rw_get_facet_data (
&lt;br&gt;@@ -1219,7 +1219,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;char tmp [_RWSTD_MB_MAX];
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const _RWSTD_SIZE_T nbytes =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const size_t nbytes =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_RW::__rw_itoutf8 (*tmp_lo2, tmp);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tmp [nbytes] = '\0';
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-commits-f30597.html&quot; embed=&quot;fixTarget[30597]&quot; target=&quot;_top&quot; &gt;stdcxx-commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/svn-commit%3A-r692684----stdcxx-branches-4.2.x-src-collate.cpp-tp19348804p19348804.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19338558</id>
	<title>[Stdcxx Wiki] Update of &quot;OperatingSystems&quot; by MartinSebor</title>
	<published>2008-09-05T13:07:09Z</published>
	<updated>2008-09-05T13:07:09Z</updated>
	<author>
		<name>Apache Wiki</name>
	</author>
	<content type="html">Dear Wiki user,
&lt;br&gt;&lt;br&gt;You have subscribed to a wiki page or wiki category on &amp;quot;Stdcxx Wiki&amp;quot; for change notification.
&lt;br&gt;&lt;br&gt;The following page has been changed by MartinSebor:
&lt;br&gt;&lt;a href=&quot;http://wiki.apache.org/stdcxx/OperatingSystems&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.apache.org/stdcxx/OperatingSystems&lt;/a&gt;&lt;br&gt;&lt;br&gt;The comment on the change is:
&lt;br&gt;Added HP-UX/Integrity support document.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp;* [&lt;a href=&quot;http://docs.hp.com/en/8681/aas_white_paper.pdf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.hp.com/en/8681/aas_white_paper.pdf&lt;/a&gt;&amp;nbsp;Adaptive Address Space] white paper
&lt;br&gt;&amp;nbsp; &amp;nbsp;* [&lt;a href=&quot;http://h71028.www7.hp.com/ERC/downloads/c00563208.pdf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://h71028.www7.hp.com/ERC/downloads/c00563208.pdf&lt;/a&gt;&amp;nbsp;POSIX Threads on HP-UX 11i] white paper
&lt;br&gt;&amp;nbsp; &amp;nbsp;* [&lt;a href=&quot;http://h21007.www2.hp.com/portal/site/dspp/menuitem.863c3e4cbcdc3f3515b49c108973a801/?ciid=0008a22194f02110a22194f02110275d6e10RCRD&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://h21007.www2.hp.com/portal/site/dspp/menuitem.863c3e4cbcdc3f3515b49c108973a801/?ciid=0008a22194f02110a22194f02110275d6e10RCRD&lt;/a&gt;&amp;nbsp;HP-UX floating-point guide for HP Integrity servers]
&lt;br&gt;+ &amp;nbsp;* [&lt;a href=&quot;http://h20338.www2.hp.com/hpux11i/downloads/public_hp-ux_systems_support.pdf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://h20338.www2.hp.com/hpux11i/downloads/public_hp-ux_systems_support.pdf&lt;/a&gt;&amp;nbsp;HP-UX/Integrity Support Matrix] including dates
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; === Predefined Macros ===
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-commits-f30597.html&quot; embed=&quot;fixTarget[30597]&quot; target=&quot;_top&quot; &gt;stdcxx-commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-Stdcxx-Wiki--Update-of-%22OperatingSystems%22-by-MartinSebor-tp19338558p19338558.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19338397</id>
	<title>Re: std::string::{assign|append|insert|replace} ([iterator, iterator,] size_type, value_type) ambiguous</title>
	<published>2008-09-05T12:57:09Z</published>
	<updated>2008-09-05T12:57:09Z</updated>
	<author>
		<name>Martin Sebor-2</name>
	</author>
	<content type="html">Farid Zaripov wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; While testing boost the Performance.cpp test from statechart library fails to compile:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://beta.boost.org/development/tests/trunk/developer/output/msvc-9-0-x64-stdcxx-4-2-2-boost-bin-v2-libs-statechart-test-PerformanceExample-test-msvc-9-0_s-dbg-adrs-mdl-64-archt-x86-stdlb-stdcx-4-2-2-thrd-mlt.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://beta.boost.org/development/tests/trunk/developer/output/msvc-9-0-x64-stdcxx-4-2-2-boost-bin-v2-libs-statechart-test-PerformanceExample-test-msvc-9-0_s-dbg-adrs-mdl-64-archt-x86-stdlb-stdcx-4-2-2-thrd-mlt.html&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; On the other STL's that test compiled without errors.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; I've created an Improvement JIRA issue: STDCXX-1009 (&lt;a href=&quot;https://issues.apache.org/jira/browse/STDCXX-1009&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/STDCXX-1009&lt;/a&gt;).
&lt;br&gt;&lt;br&gt;I assume you set it to Improvement because you don't think the test
&lt;br&gt;case is well-formed? I would have expected the general container
&lt;br&gt;requirements to apply here, i.e.,
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;For every sequence container defined in this clause and in clause
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;21:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;-- If the constructor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; template &amp;lt;class InputIterator&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; X (InputIterator first, InputIterator last,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const allocator_type&amp; alloc = allocator_type())
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; is called with a type InputIterator that does not qualify as
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; an input iterator, then the constructor will behave as if the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; overloaded constructor:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; X (size_type, const value_type&amp; = value_type(),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const allocator_type&amp; = allocator_type())
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; were called instead, with the arguments
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; static_cast&amp;lt;size_type&amp;gt;(first), last and alloc, respectively.
&lt;br&gt;&lt;br&gt;Martin
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/stdcxx-dev-f26255.html&quot; embed=&quot;fixTarget[26255]&quot; target=&quot;_top&quot; &gt;stdcxx-dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/std%3A%3Astring%3A%3A%7Bassign%7Cappend%7Cinsert%7Creplace%7D-%28-iterator%2C-iterator%2C--size_type%2C-value_type%29-ambiguous-tp19333561p19338397.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19338309</id>
	<title>Issue Comment Edited: (STDCXX-1009) std::string::{assign|append|insert|replace} ([iterator, iterator,] size_type, value_type) ambiguous</title>
	<published>2008-09-05T12:52:44Z</published>
	<updated>2008-09-05T12:52:44Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; [ &lt;a href=&quot;https://issues.apache.org/jira/browse/STDCXX-1009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12628711#action_12628711&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/STDCXX-1009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12628711#action_12628711&lt;/a&gt;&amp;nbsp;] 
&lt;br&gt;&lt;br&gt;sebor edited comment on STDCXX-1009 at 9/5/08 12:50 PM:
&lt;br&gt;---------------------------------------------------------------
&lt;br&gt;&lt;br&gt;Similar errors with gcc 4.3:
&lt;br&gt;{noformat}
&lt;br&gt;$ make t
&lt;br&gt;gcc -c -I/amd/devco/sebor/stdcxx-4.2.x/include/ansi -D_RWSTDDEBUG &amp;nbsp; -pthread -I/amd/devco/sebor/stdcxx-4.2.x/include -I/build/sebor/stdcxx-4.2.x-gcc-4.3.0-15D/include -I/amd/devco/sebor/stdcxx-4.2.x/tests/include &amp;nbsp;-pedantic -nostdinc++ -g &amp;nbsp; -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align &amp;nbsp; t.cpp
&lt;br&gt;/amd/devco/sebor/stdcxx-4.2.x/include/string: In member function 'std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;&amp; std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;::replace(__rw::__rw_debug_iter&amp;lt;std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;, typename _Allocator::pointer, typename _Allocator::pointer&amp;gt;, __rw::__rw_debug_iter&amp;lt;std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;, typename _Allocator::pointer, typename _Allocator::pointer&amp;gt;, _InputIter, _InputIter) [with _InputIter = int, _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;, _Allocator = std::allocator&amp;lt;char&amp;gt;]':
&lt;br&gt;/amd/devco/sebor/stdcxx-4.2.x/include/string:190: &amp;nbsp; instantiated from 'std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;::basic_string(_InputIter, _InputIter, const _Allocator&amp;) [with _InputIter = int, _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;, _Allocator = std::allocator&amp;lt;char&amp;gt;]'
&lt;br&gt;t.cpp:6: &amp;nbsp; instantiated from here
&lt;br&gt;/amd/devco/sebor/stdcxx-4.2.x/include/string:616: error: call of overloaded 'replace(__rw::__rw_debug_iter&amp;lt;std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;, std::allocator&amp;lt;char&amp;gt; &amp;gt;, char*, char*&amp;gt;&amp;, __rw::__rw_debug_iter&amp;lt;std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;, std::allocator&amp;lt;char&amp;gt; &amp;gt;, char*, char*&amp;gt;&amp;, int&amp;, int&amp;, int)' is ambiguous
&lt;br&gt;/amd/devco/sebor/stdcxx-4.2.x/include/string.cc:494: note: candidates are: std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;&amp; std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;::replace(__rw::__rw_debug_iter&amp;lt;std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;, typename _Allocator::pointer, typename _Allocator::pointer&amp;gt;, __rw::__rw_debug_iter&amp;lt;std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;, typename _Allocator::pointer, typename _Allocator::pointer&amp;gt;, _InputIter, _InputIter, void*) [with _InputIter = int, _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;, _Allocator = std::allocator&amp;lt;char&amp;gt;]
&lt;br&gt;/amd/devco/sebor/stdcxx-4.2.x/include/string:606: note: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;&amp; std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;::replace(__rw::__rw_debug_iter&amp;lt;std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;, typename _Allocator::pointer, typename _Allocator::pointer&amp;gt;, __rw::__rw_debug_iter&amp;lt;std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;, typename _Allocator::pointer, typename _Allocator::pointer&amp;gt;, typename _Allocator::size_type, typename _Traits::char_type, int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;, _Allocator = std::allocator&amp;lt;char&amp;gt;]
&lt;br&gt;...
&lt;br&gt;{noformat}
&lt;br&gt;&lt;br&gt;Here's a simplified test case:
&lt;br&gt;&lt;br&gt;{noformat}
&lt;br&gt;#include &amp;lt;string&amp;gt;
&lt;br&gt;&lt;br&gt;int main ()
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; std::string s (4, int ('5'));
&lt;br&gt;&amp;nbsp; &amp;nbsp; s.assign (4, int ('5'));
&lt;br&gt;&amp;nbsp; &amp;nbsp; s.append (4, int ('5'));
&lt;br&gt;&amp;nbsp; &amp;nbsp; s.insert (s.begin (), 4, int ('5'));
&lt;br&gt;&amp;nbsp; &amp;nbsp; s.replace (s.begin (), s.end (), 4, int ('5'));
&lt;br&gt;}
&lt;br&gt;{noformat}
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; was (Author: sebor):
&lt;br&gt;&amp;nbsp; &amp;nbsp; Similar errors with gcc 4.3:
&lt;br&gt;{noformat}
&lt;br&gt;$ make t
&lt;br&gt;gcc -c -I/amd/devco/sebor/stdcxx-4.2.x/include/ansi -D_RWSTDDEBUG &amp;nbsp; -pthread -I/amd/devco/sebor/stdcxx-4.2.x/include -I/build/sebor/stdcxx-4.2.x-gcc-4.3.0-15D/include -I/amd/devco/sebor/stdcxx-4.2.x/tests/include &amp;nbsp;-pedantic -nostdinc++ -g &amp;nbsp; -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align &amp;nbsp; t.cpp
&lt;br&gt;/amd/devco/sebor/stdcxx-4.2.x/include/string: In member function 'std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;&amp; std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;::replace(__rw::__rw_debug_iter&amp;lt;std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;, typename _Allocator::pointer, typename _Allocator::pointer&amp;gt;, __rw::__rw_debug_iter&amp;lt;std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;, typename _Allocator::pointer, typename _Allocator::pointer&amp;gt;, _InputIter, _InputIter) [with _InputIter = int, _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;, _Allocator = std::allocator&amp;lt;char&amp;gt;]':
&lt;br&gt;/amd/devco/sebor/stdcxx-4.2.x/include/string:190: &amp;nbsp; instantiated from 'std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;::basic_string(_InputIter, _InputIter, const _Allocator&amp;) [with _InputIter = int, _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;, _Allocator = std::allocator&amp;lt;char&amp;gt;]'
&lt;br&gt;t.cpp:6: &amp;nbsp; instantiated from here
&lt;br&gt;/amd/devco/sebor/stdcxx-4.2.x/include/string:616: error: call of overloaded 'replace(__rw::__rw_debug_iter&amp;lt;std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;, std::allocator&amp;lt;char&amp;gt; &amp;gt;, char*, char*&amp;gt;&amp;, __rw::__rw_debug_iter&amp;lt;std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;, std::allocator&amp;lt;char&amp;gt; &amp;gt;, char*, char*&amp;gt;&amp;, int&amp;, int&amp;, int)' is ambiguous
&lt;br&gt;/amd/devco/sebor/stdcxx-4.2.x/include/string.cc:494: note: candidates are: std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;&amp; std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;::replace(__rw::__rw_debug_iter&amp;lt;std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;, typename _Allocator::pointer, typename _Allocator::pointer&amp;gt;, __rw::__rw_debug_iter&amp;lt;std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;, typename _Allocator::pointer, typename _Allocator::pointer&amp;gt;, _InputIter, _InputIter, void*) [with _InputIter = int, _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;, _Allocator = std::allocator&amp;lt;char&amp;gt;]
&lt;br&gt;/amd/devco/sebor/stdcxx-4.2.x/include/string:606: note: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;&amp; std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;::replace(__rw::__rw_debug_iter&amp;lt;std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;, typename _Allocator::pointer, typename _Allocator::pointer&amp;gt;, __rw::__rw_debug_iter&amp;lt;std::basic_string&amp;lt;_CharT, _Traits, _Allocator&amp;gt;, typename _Allocator::pointer, typename _Allocator::pointer&amp;gt;, typename _Allocator::size_type, typename _Traits::char_type, int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;, _Allocator = std::allocator&amp;lt;char&amp;gt;]
&lt;br&gt;...
&lt;br&gt;{noformat}
&lt;br&gt;&amp;nbsp; 
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; std::string::{assign|append|insert|replace} ([iterator, iterator,] size_type, value_type) ambiguous
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: STDCXX-1009
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/STDCXX-1009&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/STDCXX-1009&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: C++ Standard Library
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Improvement
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: 21. Strings
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 4.1.2, 4.1.3, 4.1.4, 4.2.0, 4.2.1
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Environment: All
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Farid Zaripov
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Farid Zaripov
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Priority: Minor
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: 4.3.0
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; Original Estimate: 1h
&lt;br&gt;&amp;gt; &amp;nbsp;Remaining Estimate: 1h
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The following test case fails to compile:
&lt;br&gt;&amp;gt; {code:title=test.cpp}
&lt;br&gt;&amp;gt; #include &amp;lt;string&amp;gt;
&lt;br&gt;&amp;gt; int main ()
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; char c = 5;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; std::string s (4, '0' + c);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; s.assign (4, '0' + c);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; s.append (4, '0' + c);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; s.insert (s.begin (), 4, '0' + c);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; s.replace (s.begin (), s.end (), 4, '0' + c);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; return 0;
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; {code}
&lt;br&gt;&amp;gt; {noformat}
&lt;br&gt;&amp;gt; test.cpp
&lt;br&gt;&amp;gt; D:\_Libs\stdcxx-4.2.2\include\string(370) : error C2666: 'std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::assign' : 2 overloads have similar conversions
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _CharT=char,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Traits=std::char_traits&amp;lt;char&amp;gt;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Allocator=std::allocator&amp;lt;char&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; D:\_Libs\stdcxx-4.2.2\include\string(381): could be 'std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt; &amp;std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::assign(std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::size_type,std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::value_type,int)'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _CharT=char,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Traits=std::char_traits&amp;lt;char&amp;gt;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Allocator=std::allocator&amp;lt;char&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; D:\_Libs\stdcxx-4.2.2\include\string(374): or &amp;nbsp; &amp;nbsp; &amp;nbsp; 'std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt; &amp;std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::assign&amp;lt;_InputIter&amp;gt;(_InputIter,_InputIter,void *)'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _CharT=char,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Traits=std::char_traits&amp;lt;char&amp;gt;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Allocator=std::allocator&amp;lt;char&amp;gt;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _InputIter=int
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while trying to match the argument list '(int, int, int)'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; test.cpp(7) : see reference to function template instantiation 'std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt; &amp;std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::assign&amp;lt;int&amp;gt;(_InputIter,_InputIter)' being compiled
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _CharT=char,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Traits=std::char_traits&amp;lt;char&amp;gt;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Allocator=std::allocator&amp;lt;char&amp;gt;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _InputIter=int
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]
&lt;br&gt;&amp;gt; D:\_Libs\stdcxx-4.2.2\include\string(320) : error C2666: 'std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::append' : 2 overloads have similar conversions
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _CharT=char,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Traits=std::char_traits&amp;lt;char&amp;gt;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Allocator=std::allocator&amp;lt;char&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; D:\_Libs\stdcxx-4.2.2\include\string(330): could be 'std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt; &amp;std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::append(std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::size_type,std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::value_type,int)'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _CharT=char,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Traits=std::char_traits&amp;lt;char&amp;gt;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Allocator=std::allocator&amp;lt;char&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; D:\_Libs\stdcxx-4.2.2\include\string(324): or &amp;nbsp; &amp;nbsp; &amp;nbsp; 'std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt; &amp;std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::append&amp;lt;_InputIter&amp;gt;(_InputIter,_InputIter,void *)'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _CharT=char,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Traits=std::char_traits&amp;lt;char&amp;gt;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Allocator=std::allocator&amp;lt;char&amp;gt;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _InputIter=int
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while trying to match the argument list '(int, int, int)'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; test.cpp(8) : see reference to function template instantiation 'std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt; &amp;std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::append&amp;lt;int&amp;gt;(_InputIter,_InputIter)' being compiled
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _CharT=char,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Traits=std::char_traits&amp;lt;char&amp;gt;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Allocator=std::allocator&amp;lt;char&amp;gt;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _InputIter=int
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]
&lt;br&gt;&amp;gt; D:\_Libs\stdcxx-4.2.2\include\string(422) : error C2666: 'std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::insert' : 2 overloads have similar conversions
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _CharT=char,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Traits=std::char_traits&amp;lt;char&amp;gt;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Allocator=std::allocator&amp;lt;char&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; D:\_Libs\stdcxx-4.2.2\include\string(432): could be 'void std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::insert(std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::iterator,std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::size_type,std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::value_type,int)'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _CharT=char,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Traits=std::char_traits&amp;lt;char&amp;gt;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Allocator=std::allocator&amp;lt;char&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; D:\_Libs\stdcxx-4.2.2\include\string(426): or &amp;nbsp; &amp;nbsp; &amp;nbsp; 'void std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::insert&amp;lt;_InputIter&amp;gt;(std::basic_string&amp;lt;_CharT,_Traits,_Allocator&amp;gt;::iterator,_InputIter,_InputIter,void *)'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _CharT=char,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Traits=std::char_traits&amp;lt;char&amp;gt;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _Allocator=std::allocator&amp;lt;char&amp;gt;,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _InputIter=int
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while trying to match the argument list '(std::basic_string&amp;lt;_CharT,_Traits,