[Bug libstdc++/79980] New: Possible bug in codecvt.cpp bitmask setting code

2017-03-09 Thread thakis at chromium dot org
Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: thakis at chromium dot org Target Milestone: --- codecvt.cpp has this snippet: if (read_utf16_bom(from, mode) == little_endian) mode = codecvt_mode(mode & little_endian); That probably should

[Bug c++/64816] gcc claims that constructor is private when it should be accessible

2015-01-27 Thread thakis at chromium dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64816 --- Comment #1 from thakis at chromium dot org --- (Here's a patch with a libc++-side workaround: http://reviews.llvm.org/D7201 But it'd be good to fix this in the compiler too, of course.)

[Bug c++/64816] New: gcc claims that constructor is private when it should be accessible

2015-01-26 Thread thakis at chromium dot org
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: thakis at chromium dot org I came across this while trying to build chromium for android with libc++ and gcc. Here's an attempt at a reduction: $ cat repro2.cc namespace std

[Bug c++/63872] New: -Wunused-local-typedefs warns incorrectly on a typedef that's referenced from a template

2014-11-14 Thread thakis at chromium dot org
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: thakis at chromium dot org $ cat test2.cc typedef char YesType; struct NoType { YesType dummy[2]; }; template typename T struct ShouldAbortOnSelfReset

[Bug c++/63872] -Wunused-local-typedefs warns incorrectly on a typedef that's referenced from a template

2014-11-14 Thread thakis at chromium dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63872 --- Comment #2 from thakis at chromium dot org --- I think warning on unused typedefs in local classes is generally a useful feature, not a bug. The bug here is that it's warning on a typedef in a local class that is being used.

[Bug c++/61596] -Wunused-local-typedefs warns incorrectly on a typedef that's referenced indirectly

2014-07-27 Thread thakis at chromium dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61596 --- Comment #2 from thakis at chromium dot org --- Here's a similar example that doesn't need C++1y, regular C++11 is sufficient: thakis@ubu:~$ cat test.cc template class T void template_fun(T t) { typename T::Foo s3foo; // YYY (void)s3foo

[Bug c++/61596] New: -Wunused-local-typedefs warns incorrectly on a typedef that's referenced indirectly

2014-06-24 Thread thakis at chromium dot org
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: thakis at chromium dot org -Wunused-local-typedefs warns that the typedef in line XXX is unused, but it's used in line YYY: auto f() { struct S { typedef int t

[Bug preprocessor/60875] New: `_Pragma(message \foo\)` doesn't work in expression contexts.

2014-04-17 Thread thakis at chromium dot org
Priority: P3 Component: preprocessor Assignee: unassigned at gcc dot gnu.org Reporter: thakis at chromium dot org Actual: $ cat test.cc int main() { return _Pragma(message \hello\) 1234; } $ ~/gcc482prefix/bin/gcc -c test.cc -Wall test.cc: In function ‘int main

[Bug preprocessor/60875] `_Pragma(message \foo\)` doesn't work in expression contexts.

2014-04-17 Thread thakis at chromium dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60875 --- Comment #2 from thakis at chromium dot org --- That only works on declarations, not in an expression, right? (We do have a workaround that works with gcc. But pragma message matches the semantics of what we want to do, and it works with MSVC

[Bug c++/59165] New: gcc looks up begin(), end() for for-range loops for ints in namespace std

2013-11-17 Thread thakis at chromium dot org
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: thakis at chromium dot org This compiles, but shouldn't: $ cat gcc4.8bug.cc // builds with gcc4.8, but shouldn't namespace std { int* begin(int i) { return (int*)0; } int* end