Date: Tue, 08 Dec 2020 06:46:59 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 251674] libc++: std::wcout does not use global locale set via setlocale() Message-ID: <bug-251674-227-tXbYa5qbEX@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-251674-227@https.bugs.freebsd.org/bugzilla/> References: <bug-251674-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D251674 Yuri Pankov <yuripv@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dim@FreeBSD.org Summary|std::wcout doesn't print |libc++: std::wcout does not |unicode wide characters: |use global locale set via |std::wcout defaults to "C" |setlocale() |locale, not to user's | |locale | --- Comment #7 from Yuri Pankov <yuripv@FreeBSD.org> --- (In reply to Yuri Victorovich from comment #6) Everything (well, almost) defaults to C locale, including printf(), e.g. the following will fail without setlocale() call: printf("printf=3D%C\n", L'=E2=97=AF'); And it looks like the problem is that libc++'s wcout does NOT use the global locale set via that call, while libstdc++'s one does. Whether it is a bug = or deliberate choice, I have no idea. Dimitry, any thoughts? --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-251674-227-tXbYa5qbEX>