std::wstring support in GCC/Cygwin?

What is the story on std::wstring support with GCC/Cygwin? How do you turn it on? I'm trying to test the Boost.Filesystem i18n branch with more compilers. It is working fine with last model Intel, Metrowerks, and Microsoft on Windows, and GCC on the Mac, but no luck with GCC/Cygwin. --Beman

Beman Dawes wrote:
What is the story on std::wstring support with GCC/Cygwin? How do you turn it on?
I'm trying to test the Boost.Filesystem i18n branch with more compilers. It is working fine with last model Intel, Metrowerks, and Microsoft on Windows, and GCC on the Mac, but no luck with GCC/Cygwin.
I believe std::codecvt is not supported on that platform. I've marked the Iostreams library wide stream and code conversion tests as expected failures with MinGW and Cygwin. I'd be happy to be proved wrong. Jonathan

Jonathan Turkanis wrote:
Beman Dawes wrote:
What is the story on std::wstring support with GCC/Cygwin? How do you turn it on?
I believe std::codecvt is not supported on that platform. I've marked the Iostreams library wide stream and code conversion tests as expected failures with MinGW and Cygwin. I'd be happy to be proved wrong.
I don't know about Cygwin, but codecvt is not supported yet on MinGW. Additionally, much of the miscellaneous wide character stuff does not yet work. Aaron W. LaFramboise

"John Maddock" <john@johnmaddock.co.uk> wrote in message news:013b01c55d20$6cce6750$75ee0352@fuji...
What is the story on std::wstring support with GCC/Cygwin? How do you turn it on?
You don't, cygwin has virtually no wide character support in either C or C++.
Ugh. I was afraid that was the answer. I kept hoping the config_info report was wrong somehow. Seems incredible - this otherwise wonderful package omits something that GCC supports out of the box on other platforms. Thanks for the info. --Beman

On 5/20/05, Beman Dawes <bdawes@acm.org> wrote:
Seems incredible - this otherwise wonderful package omits something that GCC supports out of the box on other platforms.
I believe Cygwin uses gcc 3.3, and I had a similar experience with wide character support (or lack thereof) in gcc 3.3.x on Solaris. Upgrading to 3.4.x fixed things. Perhaps you can get a gcc 3.4 package or build the compiler from source to see if this helps. Has anyone here tried this? -- Caleb Epstein caleb dot epstein at gmail dot com

Caleb Epstein wrote:
On 5/20/05, Beman Dawes <bdawes@acm.org> wrote:
Seems incredible - this otherwise wonderful package omits something that GCC supports out of the box on other platforms.
I believe Cygwin uses gcc 3.3, and I had a similar experience with wide character support (or lack thereof) in gcc 3.3.x on Solaris. Upgrading to 3.4.x fixed things. Perhaps you can get a gcc 3.4 package or build the compiler from source to see if this helps. Has anyone here tried this?
My current Cygwin installation uses gcc 3.4.1, and has no wide-character support. Jonathan

I believe Cygwin uses gcc 3.3, and I had a similar experience with wide character support (or lack thereof) in gcc 3.3.x on Solaris. Upgrading to 3.4.x fixed things. Perhaps you can get a gcc 3.4 package or build the compiler from source to see if this helps. Has anyone here tried this?
It's not going to help: the cygwin dll has no (or at least extremely limited) C language wide character support. Without that there's nothing for libstdc++ to build on. In contrast Solaris did have C language support for wide characters, it's just that libstdc++ wasn't taking advantage of it until 3.4. John.

"John Maddock" <john@johnmaddock.co.uk> wrote in message news:014a01c55deb$42f0eb30$3a1a0952@fuji...
I believe Cygwin uses gcc 3.3, and I had a similar experience with wide character support (or lack thereof) in gcc 3.3.x on Solaris. Upgrading to 3.4.x fixed things. Perhaps you can get a gcc 3.4 package or build the compiler from source to see if this helps. Has anyone here tried this?
It's not going to help: the cygwin dll has no (or at least extremely limited) C language wide character support. Without that there's nothing for libstdc++ to build on. In contrast Solaris did have C language support for wide characters, it's just that libstdc++ wasn't taking advantage of it until 3.4.
I wonder how much work it would be to fix the cygwin dll? Maybe we should either badger the Cygwin folks, or contribute patches. It certainly is a bother not to have wide character support. In the meantime, I've disabled i18n wide character support in Boost.Filesystem for older broken compilers, and any library without locale or wstring support. --Beman

-D_GLIBCPP_USE_WSTRING Beman Dawes wrote:
What is the story on std::wstring support with GCC/Cygwin? How do you turn it on?
I'm trying to test the Boost.Filesystem i18n branch with more compilers. It is working fine with last model Intel, Metrowerks, and Microsoft on Windows, and GCC on the Mac, but no luck with GCC/Cygwin.
--Beman
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

"Okko Willeboordse" <okko@willeboordse.demon.nl> wrote in message news:d7esom$8mo$1@sea.gmane.org...
-D_GLIBCPP_USE_WSTRING
That only takes care of the C++ library portion. The problem with Cygwin is lack of support for the C library portion. That is supplied by Newlib. I've been in contact with those developers, and some discussions are under way. No idea yet if it will amount to anything. Curiously, one of the people involved is Alex Stepanov. But not the one you think. Turns out there is more than one Alex Stepanov in the computer industry:-) --Beman
participants (6)
-
Aaron W. LaFramboise
-
Beman Dawes
-
Caleb Epstein
-
John Maddock
-
Jonathan Turkanis
-
Okko Willeboordse