[PATCH] Add missing explicit instantiation for std::lower_bound template
Dodji Seketeli
dodji@redhat.com
Wed Feb 6 08:34:00 GMT 2013
Paolo Carlini <paolo.carlini@oracle.com> writes:
>> Since commit r195676[1], it looks like
>> libstdc++-v3/src/c++11/hashtable_c++0x.cc is missing an explicit
>> instantiation for std::lower_bound. This leads to libstdc++.so having
>> the symbol for that (missing) instantiation be undefined, thus
>> preventing executables from being linked with libstdc++.
> Note that I can confirm this only if I build with less optimization
> than the default -O2, say -O. That may explain why nobody noticed
> earlier.
Ah, right. It's true that I build on my machine without optimization so
that I can debug problems that show up on my local machine. And I
always forget that I do that.
>> The patchlet below seems to fixed the issue for me.
>
> Indeed, I think we want something like that. Thanks. In terms of nits,
> formatting and types (who knows, maybe on some systems a std::size_t
> is an unsigned long long), I would write something like the
> attached. Please double check that it works for you and go ahead.
Great! Your amendments work well for me. I committed it to trunk.
Thank you.
--
Dodji
More information about the Gcc-patches
mailing list