libstdc++/4218: Compile fails due to std::min in basic_string.tcc

bjornw@planetarion.com bjornw@planetarion.com
Tue Sep 4 01:36:00 GMT 2001


>Number:         4218
>Category:       libstdc++
>Synopsis:       Compile fails due to std::min in basic_string.tcc
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Sep 04 01:36:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     bjornw@planetarion.com
>Release:        gcc version 3.1 20010901 (experimental)
>Organization:
>Environment:
redhat-6.2 (all pacthed up june 2001), kernel-2.4.9
>Description:
When compiling a program using string::rfind(), the following code from basic_string.tcc is is incorrect :          

basic_string.tcc:630: __pos = std::min(__size - __n ,__pos);
This is resolved into:
__pos = std::((__size - __n) < (__pos) ? (__size-n) : (__pos));

And the compiler choked on __size.
>How-To-Repeat:

>Fix:
__pos = min(__size - __n ,__pos);
Fixes the problem.
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-bugs mailing list