[Bug libstdc++/36211] __iconv_adaptor chooses char** where const char** is required
-- billingd at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.4.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36211
[Bug libstdc++/36211] __iconv_adaptor chooses char** where const char** is required
--- Comment #13 from billingd at gcc dot gnu dot org 2009-05-21 11:32 --- Fixed in 4.4 and trunk. -- billingd at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36211
[Bug libstdc++/36211] __iconv_adaptor chooses char** where const char** is required
--- Comment #12 from billingd at gcc dot gnu dot org 2009-05-21 11:31 --- Subject: Bug 36211 Author: billingd Date: Thu May 21 11:30:55 2009 New Revision: 147762 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147762 Log: 2009-05-21 David Billinghurst Backport from mainline: PR libstdc++/36211 * testsuite/lib/libstdc++.exp(v3_target_compile): Add cxxldflags to additional_flags rather than cxx_final. Modified: branches/gcc-4_4-branch/libstdc++-v3/ChangeLog branches/gcc-4_4-branch/libstdc++-v3/testsuite/lib/libstdc++.exp -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36211
[Bug libstdc++/36211] __iconv_adaptor chooses char** where const char** is required
--- Comment #11 from billingd at gcc dot gnu dot org 2009-05-15 09:24 --- Subject: Bug 36211 Author: billingd Date: Fri May 15 09:23:58 2009 New Revision: 147565 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147565 Log: 2009-05-15 David Billinghurst PR libstdc++/36211 * testsuite/lib/libstdc++.exp(v3_target_compile): Add cxxldflags to additional_flags rather than cxx_final. Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/testsuite/lib/libstdc++.exp -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36211
[Bug libstdc++/36211] __iconv_adaptor chooses char** where const char** is required
--- Comment #10 from billingd at gcc dot gnu dot org 2009-05-14 21:51 --- Patch is approved - http://gcc.gnu.org/ml/libstdc++/2009-05/msg00098.html -- billingd at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |billingd at gcc dot gnu dot |dot org |org Status|WAITING |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-05-14 21:51:26 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36211
[Bug libstdc++/36211] __iconv_adaptor chooses char** where const char** is required
--- Comment #9 from billingd at gcc dot gnu dot org 2009-05-14 03:24 --- Draft patch http://gcc.gnu.org/ml/libstdc++/2009-05/msg00090.html -- billingd at gcc dot gnu dot org changed: What|Removed |Added CC||billingd at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36211
[Bug libstdc++/36211] __iconv_adaptor chooses char** where const char** is required
--- Comment #8 from tprince at computer dot org 2008-05-12 01:58 --- Yes, -liconv precedes the source file, where it must follow: Executing on host: /cygdrive/c/gnu/gcc-4.4-20080509/xp/./gcc/g++ -shared-libgcc -B/cygdrive/c/gnu/gcc-4.4-20080509/xp/./gcc -nostdinc++ -L/cygdrive/c/gnu/gcc-4. 4-20080509/xp/i686-pc-cygwin/libstdc++-v3/src -L/cygdrive/c/gnu/gcc-4.4-20080509 /xp/i686-pc-cygwin/libstdc++-v3/src/.libs -B/usr/local/gcc44/i686-pc-cygwin/bin/ -B/usr/local/gcc44/i686-pc-cygwin/lib/ -isystem /usr/local/gcc44/i686-pc-cygwin /include -isystem /usr/local/gcc44/i686-pc-cygwin/sys-include -g -O2 -D_GLIBCXX_ ASSERT -fmessage-length=0 -ffunction-sections -fdata-sections -g -O2 -g -O2 -D LOCALEDIR="." -nostdinc++ -I/cygdrive/c/gnu/gcc-4.4-20080509/xp/i686-pc-cygwin/l ibstdc++-v3/include/i686-pc-cygwin -I/cygdrive/c/gnu/gcc-4.4-20080509/xp/i686-pc -cygwin/libstdc++-v3/include -I/cygdrive/c/gnu/gcc-4.4-20080509/libstdc++-v3/lib supc++ -I/cygdrive/c/gnu/gcc-4.4-20080509/libstdc++-v3/include/backward -I/cygdr ive/c/gnu/gcc-4.4-20080509/libstdc++-v3/testsuite/util -Wl,--gc-sections -liconv /cygdrive/c/gnu/gcc-4.4-20080509/libstdc++-v3/testsuite/22_locale/locale/cons/u nicode.cc-include bits/stdc++.h ./libtestc++.a -o ./unicode.exe (time -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36211
[Bug libstdc++/36211] __iconv_adaptor chooses char** where const char** is required
--- Comment #7 from dannysmith at users dot sourceforge dot net 2008-05-11 22:46 --- Following is with mingw but it applies to cygwin as well This is the command line from log for FAILing 22_locale/locale/cons/unicode.cc Executing on host: /develop/svn/trunk/build/./gcc/g++ -shared-libgcc -B/develop/svn/trunk/build/./gcc -nostdinc++ -L/develop/svn/trunk/build/mingw32/libstdc++-v3/src -L/develop/svn/trunk/build/mingw32/libstdc++-v3/src/.libs -L/develop/svn/trunk/build/mingw32/winsup/mingw -L/develop/svn/trunk/build/mingw32/winsup/w32api/lib -isystem /develop/svn/trunk/src/winsup/mingw/include -isystem /develop/svn/trunk/src/winsup/w32api/include -B/mingw/mingw32/bin/ -B/mingw/mingw32/lib/ -isystem /mingw/mingw32/include -isystem /mingw/mingw32/sys-include -g -O2 -D_GLIBCXX_ASSERT -fmessage-length=0 -ffunction-sections -fdata-sections -g -O2 -g -O2 -DLOCALEDIR="." -nostdinc++ -I/develop/svn/trunk/build/mingw32/libstdc++-v3/include/mingw32 -I/develop/svn/trunk/build/mingw32/libstdc++-v3/include -I/develop/svn/trunk/src/libstdc++-v3/libsupc++ -I/develop/svn/trunk/src/libstdc++-v3/include/backward -I/develop/svn/trunk/src/libstdc++-v3/testsuite/util -Wl,--gc-sections /mingw/lib/libiconv.a /develop/svn/trunk/src/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc -include bits/stdc++.h ./libtestc++.a -lm -o ./unicode.exe(timeout = 600) Note that although the correct libiconv "/mingw/lib/libiconv.a" is passed to linker, it is passed *before* the objects and libraries that reference libiconv symbols. With PE-COFF, the order of objects really does matter and since the libiconv symbols have not yet been referenced when the linker looks at the lib, the symbols are not resolved. They are not resolved lazily as is possible in ELF Danny -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36211
[Bug libstdc++/36211] __iconv_adaptor chooses char** where const char** is required
--- Comment #6 from paolo dot carlini at oracle dot com 2008-05-11 18:13 --- Frankly, we badly need more details and/or the help of a cygwin maintainer, because by looking statically at the code I don't see how possibly __iconv_adaptor can be wrong and most (all?) the active libstdc++ maintainers do not have a cygwin machine available. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36211
[Bug libstdc++/36211] __iconv_adaptor chooses char** where const char** is required
--- Comment #5 from tprince at computer dot org 2008-05-11 18:04 --- Only the gcc-testresults reports where others report the same thing are clearly relevant: http://gcc.gnu.org/ml/gcc-testresults/2008-03/msg01444.html http://gcc.gnu.org/ml/gcc-testresults/2007-05/msg01528.html In other cases, the poster did not provide sufficient information to establish conclusively it was the same problem. It is generally not reported in testresults whether libstdc++ tests were run with libiconv installed. If libiconv is not installed, none of these tests are attempted. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36211
[Bug libstdc++/36211] __iconv_adaptor chooses char** where const char** is required
--- Comment #4 from paolo dot carlini at oracle dot com 2008-05-11 17:31 --- Please add pointers to the discussions on those mailing lists. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36211
[Bug libstdc++/36211] __iconv_adaptor chooses char** where const char** is required
--- Comment #3 from tprince at computer dot org 2008-05-11 17:26 --- I see that the failing case is looking for a libiconv in the library to match the char ** prototype, and failing to find one, while the one in the actual library is set up for the const char ** version. The comment in codecvt_specializations.h indicates this should be taken care of by __iconv_adaptor, yet the link failure shows this is not working. I don't understand the usage well enough to know what to conclude, why some cases (do they also exercise __iconv_adaptor ?) work, while the unicode.cc cases fail to link at that point. This problem has been brought up by others in mail lists, but as far as I know no one wrote up a PR. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36211
[Bug libstdc++/36211] __iconv_adaptor chooses char** where const char** is required
-- pcarlini at suse dot de changed: What|Removed |Added Status|UNCONFIRMED |WAITING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36211
[Bug libstdc++/36211] __iconv_adaptor chooses char** where const char** is required
--- Comment #2 from paolo dot carlini at oracle dot com 2008-05-11 17:13 --- Why, exactly, do you believe the problem is with the const? The code and the comment in codecvt_specializations.h appear to indicate that we are already dealing correctly with the issue and indeed you are reporting that other tests link fine... -- paolo dot carlini at oracle dot com changed: What|Removed |Added CC||dannysmith at users dot ||sourceforge dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36211
[Bug libstdc++/36211] __iconv_adaptor chooses char** where const char** is required
--- Comment #1 from tprince at computer dot org 2008-05-11 15:57 --- 2 unicode.cc tests fail. Several other tests with -liconv pass. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36211