[Bug libstdc++/56283] New: std::result_of does not gracefully SFINAE (not define ::type)

2013-02-10 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56283 Bug #: 56283 Summary: std::result_of does not gracefully SFINAE (not define ::type) Classification: Unclassified Product: gcc Version: 4.7.2 Status: UNCONFI

[Bug libstdc++/56283] std::result_of does not gracefully SFINAE (not define ::type)

2013-02-10 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56283 --- Comment #1 from David Krauss 2013-02-11 04:57:46 UTC --- Note, defining the trait with the expression declval()(declval()...) does work. Clang 3.1/libc++ behaves the same way.

[Bug c++/56317] New: inheriting constructor fails to move brace-initialized object

2013-02-14 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56317 Bug #: 56317 Summary: inheriting constructor fails to move brace-initialized object Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED

[Bug c++/56317] inheriting constructor fails to move brace-initialized object

2013-02-14 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56317 --- Comment #1 from David Krauss 2013-02-14 09:35:12 UTC --- (But, perfect forwarding equivalent to the inheriting constructor semantic does work around the issue.)

[Bug c++/56333] New: cannot use typedef name in inheriting constructor

2013-02-14 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56333 Bug #: 56333 Summary: cannot use typedef name in inheriting constructor Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal

[Bug c++/56333] cannot use typedef name in inheriting constructor

2013-02-15 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56333 --- Comment #2 from David Krauss 2013-02-15 15:43:07 UTC --- Also fixed within a day of updating my sources. Thanks guys!

[Bug c++/55576] Fails to compile a call to template member function

2013-02-25 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55576 David Krauss changed: What|Removed |Added CC||potswa at mac dot com

[Bug c++/49122] [C++0x] initializer_list is broken

2013-03-07 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49122 David Krauss changed: What|Removed |Added CC||potswa at mac dot com

[Bug c++/49122] [C++0x] initializer_list is broken

2013-03-07 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49122 --- Comment #8 from David Krauss 2013-03-08 07:57:03 UTC --- Oops, I didn't read the original code closely enough. To be OK by the above interpretation, the local initializer_list variable would need to be eliminated from main() and the lo

[Bug c++/56567] New: ICE with lambda return type deduction and braced-init-list

2013-03-08 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56567 Bug #: 56567 Summary: ICE with lambda return type deduction and braced-init-list Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED

[Bug c++/56568] New: std::initializer_list return value contents lost prematurely

2013-03-08 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56568 Bug #: 56568 Summary: std::initializer_list return value contents lost prematurely Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIR

[Bug c++/56567] [4.8 Regression] ICE with lambda return type deduction and braced-init-list

2013-03-09 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56567 --- Comment #4 from David Krauss 2013-03-10 02:18:18 UTC --- Note, there is nothing in the Standard to prohibit return of an initializer_list value, so this rejects programs which are conformant. Unless/until #56568 is resolved, doing so

[Bug c++/56567] [4.8 Regression] ICE with lambda return type deduction and braced-init-list

2013-03-11 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56567 --- Comment #7 from David Krauss 2013-03-11 22:42:46 UTC --- Created attachment 29647 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29647 alternative fix Yes. However, the above fix doesn't catch all instances of doing so; for ex

[Bug c++/56567] [4.8 Regression] ICE with lambda return type deduction and braced-init-list

2013-03-11 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56567 --- Comment #8 from David Krauss 2013-03-11 22:51:12 UTC --- Oops, I didn't see the preceding comment & checkin before submitting that. Maybe that's a better place to check, but we might keep the extra test cases. Make sure that the remain

[Bug libstdc++/41351] New: std::rotate on RAI does not conform to ISO complexity requirement

2009-09-13 Thread potswa at mac dot com
nu dot org ReportedBy: potswa at mac dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41351

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-09-14 Thread potswa at mac dot com
--- Comment #4 from potswa at mac dot com 2009-09-14 16:35 --- I doubt that stable_partition can't be implemented with std::swap. If I understand you the problem lies in the temporary_buffer, which is uninitialized memory and hence un-swappable. One solution would be simp

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-09-14 Thread potswa at mac dot com
--- Comment #6 from potswa at mac dot com 2009-09-14 18:00 --- If the alternative stable_partition is faster, maybe it should be used anyway. For large blocks, virtual memory allocation time may dominate computation, so it should certainly be faster sometimes. Back to rotate, I was

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-09-14 Thread potswa at mac dot com
--- Comment #8 from potswa at mac dot com 2009-09-14 21:36 --- Well, if fast is good, maybe you will consider this: const _Distance __d = __gcd(__n, __k), __r = __n / __d; for ( _Distance __i = 0; __i < __d; ++ __i ) { _ValueType __tmp = *__fi

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-09-14 Thread potswa at mac dot com
--- Comment #10 from potswa at mac dot com 2009-09-14 23:59 --- I'll look into it. That's a long list to do and learn ;v) . I think the general idea here is that the compiler is good at optimizing out the useless moves generated by swap. It turns out that my code has less of

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-09-15 Thread potswa at mac dot com
--- Comment #12 from potswa at mac dot com 2009-09-15 08:55 --- Just for safekeeping, here's the body of the final code. It's much faster than the current revision on my machine, 2.2 sec for 100 iterations rotating a 10 million int vector 5 places left or right, vs 10.5 sec

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-09-15 Thread potswa at mac dot com
--- Comment #17 from potswa at mac dot com 2009-09-15 14:33 --- Hmm, on my Core2 my impl still beats the present one on many cases of shift by 1, but the margin is narrower. Shift by 1 is the only case where the temporary can really help, and I eliminated it completely. I suppose I

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-09-15 Thread potswa at mac dot com
--- Comment #21 from potswa at mac dot com 2009-09-15 14:56 --- Just to be clear that "working properly" in this context means "working faster" ;v) . I just coded up a special case for k = ± 1 that uses std::copy, which should map to memmove for std::vector::iterat

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-09-15 Thread potswa at mac dot com
--- Comment #23 from potswa at mac dot com 2009-09-15 15:29 --- With the new special case, I get 3x faster than current for n = 100, k = 99. Now it weighs in at 45 lines in my style, before conversion to official style, and not coincidentally I don't really feel like posting it

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-09-23 Thread potswa at mac dot com
--- Comment #25 from potswa at mac dot com 2009-09-23 21:07 --- Hello Donald, A week has passed. Do the papers usually take this long? - thanks, D On Sep 15, 2009, at 1:45 PM, ass...@gnu.org via RT wrote: Hello David, Thank you for contributing to GNU software

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-10-04 Thread potswa at mac dot com
--- Comment #28 from potswa at mac dot com 2009-10-05 05:01 --- I'm still waiting for the IP assignment papers. This is kinda disappointing. Hopefully I'll get a reply this time… -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41351

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-10-07 Thread potswa at mac dot com
--- Comment #30 from potswa at mac dot com 2009-10-07 19:57 --- The FSF receptionist says that the lawyer seems to have taken an unannounced vacation this week. It's now three weeks since I requested the forms (and since he confirmed my request). What is the timeframe we're sh

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-10-09 Thread potswa at mac dot com
--- Comment #32 from potswa at mac dot com 2009-10-10 01:15 --- I have little experience in this field, so you would probably be a better judge of the best alternative to complete revision. My suggested code is a complete rewrite, based on creating a new algorithm from first principles

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-10-17 Thread potswa at mac dot com
--- Comment #33 from potswa at mac dot com 2009-10-17 20:45 --- I returned the copyright forms today, so now the wheels are turning :vD . -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41351

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-10-29 Thread potswa at mac dot com
--- Comment #35 from potswa at mac dot com 2009-10-30 02:47 --- I got PDF's of the completed forms. What now? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41351

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-10-29 Thread potswa at mac dot com
--- Comment #37 from potswa at mac dot com 2009-10-30 03:55 --- It seems like the goals are changing. Is this due to an approaching deadline? The "super" algorithm is the product of making every case faster. Removing any part of it (i.e. calls to std::copy) will regress perf

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-10-29 Thread potswa at mac dot com
--- Comment #38 from potswa at mac dot com 2009-10-30 03:56 --- Created an attachment (id=18932) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18932&action=view) C++ snippet containing example function template improved algorithm with forward/backward and std::cop

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-10-30 Thread potswa at mac dot com
--- Comment #41 from potswa at mac dot com 2009-10-30 19:07 --- Created an attachment (id=18934) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18934&action=view) table of benchmarks comparing various algorithms and parameters As the Euclidean ring division algorithm swe

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-10-30 Thread potswa at mac dot com
--- Comment #42 from potswa at mac dot com 2009-10-30 19:14 --- Sorry, "once per ring" doesn't guarantee more than one pass for k=2 and n odd, or the test case I presented. Better to say there are k passes, although performance should improve for n/k on the order of cach

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-11-02 Thread potswa at mac dot com
--- Comment #44 from potswa at mac dot com 2009-11-03 03:56 --- When does _GLIBCXX_MOVE3 do the wrong thing? I can see only doing the k=1 optimization #ifdef __GXX_EXPERIMENTAL_CXX0X__ — after all, copying is the misbehavior this bug is filed against in the first place! But std::move

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-11-03 Thread potswa at mac dot com
--- Comment #47 from potswa at mac dot com 2009-11-03 17:21 --- What is the function of the helper class? I suppose the user could get improved performance by specializing __is_scalar, but that could have unintended consequences (resulting from the class not being scalar), not to

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-11-03 Thread potswa at mac dot com
--- Comment #50 from potswa at mac dot com 2009-11-03 17:53 --- The current RAI algo uses a temporary regardless of size or class. We could put in a "&& sizeof(_ValueType) < __MAX_TEMP_SIZE" or something… but stack overflow from a single temporary doesn't se

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-11-03 Thread potswa at mac dot com
--- Comment #54 from potswa at mac dot com 2009-11-03 20:43 --- Created an attachment (id=18959) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18959&action=view) A couple benchmarks for 32-bit mode and updated fwd+copy Yikes. Just a second: yesterday I played around w

[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement

2009-11-03 Thread potswa at mac dot com
--- Comment #56 from potswa at mac dot com 2009-11-03 21:01 --- Okay… I'm doing my best, anyway. I'll be holding off on other contributions until I get a compiler capable of testing my code. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41351

[Bug libstdc++/57350] New: std::align missing

2013-05-21 Thread potswa at mac dot com
: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com C++11 §20.6.5 [ptr.align] remains unimplemented. Several years ago I published what now appears to be a compliant implementation, but it was under the MIT license. Does that disqualify that code, or me, from submitting a patch

[Bug libstdc++/57350] std::align missing

2013-05-21 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57350 --- Comment #1 from David Krauss --- Oh, here's a link to my version: http://code.google.com/p/c-plus/source/browse/src/util.h#50

[Bug c++/57419] New: Access control doesn't stop referring to a deleted function

2013-05-26 Thread potswa at mac dot com
ormal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com Using reference-to-member syntax on a private, deleted function in a SFINAE context fails as a hard error as a use of a deleted function. But it can't be acces

[Bug c++/57429] New: Dependent function call with one visible declaration, deleted

2013-05-27 Thread potswa at mac dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com A dependent function call can't be resolved until instantiation time, but if there's only one candidate visible from the template definition, that candidate i

[Bug c++/57433] New: Local classes have an associated namespace

2013-05-27 Thread potswa at mac dot com
++ Assignee: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com The example below should fail with access to a deleted function, but is accepted by GCC 4.9. Clang correctly rejects it. The issue is that [basic.lookup.argdep] §3.4.2/2 is defined in terms of namespace

[Bug c++/57419] Access control doesn't stop referring to a deleted function

2013-05-29 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57419 --- Comment #2 from David Krauss --- I guess the proper terminology would be taking its pointer. Nonstatic members don't really have addresses. Anyway what I was doing was determining the argument of a functor with one operator() overload using &f

[Bug c++/57419] Access control doesn't stop referring to a deleted function

2013-06-03 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57419 --- Comment #5 from David Krauss --- Does this also fix #57429?

[Bug c++/57429] Dependent function call with one visible declaration, deleted

2013-06-03 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57429 --- Comment #1 from David Krauss --- To clarify the example, it's failing at definition time. There are two separate failures illustrated, a function template and a class template.

[Bug c++/57593] New: Friendship not extended into friend member-declaration

2013-06-11 Thread potswa at mac dot com
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com The access granted by friendship extends into the "member declarations of the befriended class" (11.3/2). Friend declarations are member-declarations but not member declarations per

[Bug c++/57593] Friendship not extended into friend member-declaration

2013-06-14 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57593 --- Comment #2 from David Krauss --- The maintainer (Mike Miller at EDG) said simply that he will add it to the list, but as far as I know a number isn't assigned until the new list is drafted. The title is "access granted by friendship to class-s

[Bug c++/57673] New: pack sizeof ... groups ellipsis with preceding expression

2013-06-22 Thread potswa at mac dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com In this example, template g compiles without issue but each member in d chokes the parser. The only difference is grouping parentheses, which shouldn't be significant.

[Bug c++/57673] pack sizeof ... groups ellipsis with preceding expression

2013-06-22 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57673 --- Comment #1 from David Krauss --- Oops, g::m does not need to be static constexpr to produce an error; the specifiers should be removed to produce a minimal test.

[Bug preprocessor/57714] New: Newline rendered incorrectly in output

2013-06-25 Thread potswa at mac dot com
: preprocessor Assignee: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com main(){\ return 0; } preprocesses to main(){return 0; } The problem only appears in output from the -E option; observing the newline within the program as with #define main(){\ return 0; } main

[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-25 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714 --- Comment #2 from David Krauss --- Andrew, are you sure? The zero should remain on the same line as the "return" token.

[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-25 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714 --- Comment #3 from David Krauss --- See section 9 of the manual: http://gcc.gnu.org/onlinedocs/gcc-4.8.1/cpp/Preprocessor-Output.html#Preprocessor-Output The output from the C preprocessor looks much like the input, except that all preprocessing

[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-25 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714 --- Comment #5 from David Krauss --- What? That makes even less sense. Are you guys familiar with the concept of line splicing? See "phases of translation" in the Standard, namely phase 2.

[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-25 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714 --- Comment #6 from David Krauss --- Just to clarify the last comments, the input main(){\ return 0; } translates via cpp to main(){ return 0; } i.e. no splicing is apparent in the output.

[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-25 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714 --- Comment #7 from David Krauss --- Oh, OK, now I followed that link. Splicing is supposed to be transparent unless you specify -P. This still qualifies as a bug.

[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-25 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714 --- Comment #8 from David Krauss --- Probably what happened: 1. In preserving visual appearance, tokens not separated by spaces are kept together. 2. Line splicing happens before spaces are identified for the above. 3. The { and return tokens are

[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-26 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714 --- Comment #10 from David Krauss --- I don't plan on fixing this in GCC, but I did implement the feature today in my own preprocessor, http://code.google.com/p/c-plus/source/list . It does require a handshake between phases 2 and 3, because a tok

[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-29 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714 --- Comment #14 from David Krauss --- Harald's comment #10 is almost accurate, but for two things: 1. Actually the C standard does care whether whitespace is added. Whitespace is visible in the result of stringizing, and when comparing duplicate

[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-29 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714 --- Comment #15 from David Krauss --- Corrections to previous: Harald's comment is #11, and I meant to refer to the commits in my repo from http://code.google.com/p/c-plus/source/detail?r=d462b650c355b606545158f4da7365180b699752 up through http://

[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-29 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714 --- Comment #17 from David Krauss --- Yes, my preprocessor classifies the backslash-after-preprocessing as a whitespace token. I simply don't intend to make textual preprocessing output. With raw strings, UCNs, and user-defined literals, there's j

[Bug c++/57857] New: argument of decltype used by no return value warning

2013-07-08 Thread potswa at mac dot com
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com The following program complains that "declval() must not be used!" in a static assertion if -Wall is passed. But declval() is only present in the unevaluated context of a decltype speci

[Bug c++/57857] argument of decltype used by no return value warning

2013-07-08 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57857 --- Comment #1 from David Krauss --- Narrowing down the cause, the statement { 0; } silences the error but { void(0); } does not.

[Bug libstdc++/57898] New: std::bind incompatible with ref-qualified ptmf

2013-07-15 Thread potswa at mac dot com
: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com #include struct s { void f() &; }; s *p; auto b = std::bind( &s::f, p ); Resulting error: error: forming reference to qualified function type ‘void() &’ The original case produced

[Bug c++/57905] New: braced-init-list allowed in default template-argument

2013-07-16 Thread potswa at mac dot com
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com [dcl.fct.default] 8.3.6/3 says A default argument shall be specified … in a template-parameter (14.1); in the latter case, the initializer-clause shall be an assignment-expression. So a default

[Bug c++/58147] New: Template template parameter

2013-08-13 Thread potswa at mac dot com
++ Assignee: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com Although the usage is a bit dubious, name lookup of the identifier after a nested-name-specifier should not find a template parameter name. But it does, seemingly only for a template template parameter. template< typen

[Bug c++/58147] Template template parameter name found after nested-name-specifier

2013-08-13 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58147 David Krauss changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug c++/53251] New: template keyword ignored between -> and member under name collision with non-member

2012-05-05 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53251 Bug #: 53251 Summary: template keyword ignored between -> and member under name collision with non-member Classification: Unclassified Product: gcc Version: 4.7.0 Sta

[Bug c++/53618] New: segfault on self-referential class partial specialization argument

2012-06-08 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53618 Bug #: 53618 Summary: segfault on self-referential class partial specialization argument Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED

[Bug c++/53618] segfault on self-referential class partial specialization argument

2012-06-08 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53618 David Krauss changed: What|Removed |Added Severity|normal |minor --- Comment #1 from David Krauss 20

[Bug c++/53660] New: function pointer conversion function template with nested-name-specifier ignored

2012-06-13 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53660 Bug #: 53660 Summary: function pointer conversion function template with nested-name-specifier ignored Classification: Unclassified Product: gcc Version: 4.7.0 Status

[Bug c++/53815] New: Explicit specialization of member enumeration of a class template

2012-06-29 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53815 Bug #: 53815 Summary: Explicit specialization of member enumeration of a class template Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED

[Bug c/51437] GCC should warn on the use of reserved identifier/macro names

2012-02-19 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51437 --- Comment #11 from David Krauss 2012-02-19 11:09:28 UTC --- (In reply to comment #10) > (In reply to comment #9) > > However, note that the standards also reserve various other classes of > > names, > > such as types ending in _t, for which GC

[Bug c++/52809] New: Template non-dependent static_assert diagnostics may confuse

2012-03-31 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52809 Bug #: 52809 Summary: Template non-dependent static_assert diagnostics may confuse Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED

[Bug c++/57520] alias template substitution/deduction failure

2013-11-06 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57520 David Krauss changed: What|Removed |Added CC||potswa at mac dot com --- Comment #3 from

[Bug c++/59186] New: decltype(this) treated specially in trailing-return-specifier

2013-11-18 Thread potswa at mac dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com In the following TU, GCC 4.9 accepts the "error" line and rejects the "Same as previous" line. The "this" keyword is well-defined inside

[Bug c++/59186] decltype(this) treated specially in trailing-return-specifier

2013-11-18 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59186 --- Comment #1 from David Krauss --- Just to clarify, in the last paragraph, decltype(this) has the same meaning in both cases according to the standard but the bug causes it to refer to the inner type instead of the outer type.

[Bug c++/59186] decltype(this) treated specially in trailing-return-specifier

2013-11-19 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59186 David Krauss changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug c/51437] GCC should warn on the use of reserved identifier/macro names

2011-12-16 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51437 David Krauss changed: What|Removed |Added CC||potswa at mac dot com --- Comment #4 from

[Bug libstdc++/52040] New: TR1 is not accessible using compiler flags alone

2012-01-29 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52040 Bug #: 52040 Summary: TR1 is not accessible using compiler flags alone Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal P

[Bug c++/55986] New: RHS of logical operators may render LHS unevaluated in constant-expression

2013-01-14 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55986 Bug #: 55986 Summary: RHS of logical operators may render LHS unevaluated in constant-expression Classification: Unclassified Product: gcc Version: unknown

[Bug c++/55986] RHS of logical operators may render LHS unevaluated in constant-expression

2013-01-14 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55986 --- Comment #1 from David Krauss 2013-01-15 04:47:53 UTC --- Passing `-O2` additionally causes it to skip a condition like `(i == 0 || i != 0)`, so it looks like a general issue with expression simplification bypassing ODR-use.

[Bug c++/55986] RHS of logical operators may render LHS unevaluated in constant-expression

2013-01-14 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55986 --- Comment #2 from David Krauss 2013-01-15 04:48:47 UTC --- Passing `-O2` additionally causes it to skip a condition like `(i == 0 || i != 0)`, so it looks like a general issue with expression simplification bypassing use.

[Bug c++/55986] RHS of logical operators may render LHS unevaluated in constant-expression

2013-01-15 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55986 --- Comment #3 from David Krauss 2013-01-15 08:02:55 UTC --- Likewise this is allowed: switch( 0 ) case i-i: ; I think this is a purposeful language extension, which could use a switch to disable. It would be nice if static_assert we

[Bug c++/70608] New: Braced initializer in default argument misses friendship

2016-04-09 Thread potswa at mac dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com Target Milestone: --- A braced-init-list in a default function argument does not receive friendship as it should. class A { A() {} friend int ok(A); friend int

[Bug libstdc++/66284] std::reference_wrapper is transparent to std::function::target_type

2016-10-13 Thread potswa at mac dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66284 --- Comment #2 from David Krauss --- The converting constructor requirements also say more explicitly, shall not throw exceptions when f is a function pointer or a reference_wrapper for some T. Probably the copy constructor should be worded

[Bug libstdc++/66284] std::reference_wrapper is transparent to std::function::target_type

2016-10-13 Thread potswa at mac dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66284 --- Comment #3 from David Krauss --- … Woops, that f is the function parameter, not the target. So it's not a conflicting requirement, but it could be a template for fixing the the copy constructor constraint.

[Bug c++/60859] New: Value-initialization of scalar in aggregate yields "braces around scalar initializer"

2014-04-16 Thread potswa at mac dot com
NCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com GCC incorrectly rejects this value-initialization of an array element: int a[] = { {} }; // error: braces around scalar initializer for

[Bug c++/61492] New: Nested-name-specifier lookup finds function

2014-06-12 Thread potswa at mac dot com
++ Assignee: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com Name lookup of a nested-name-specifier should only find entities with associated scopes: namespaces, classes, and enumerators. GCC allows a function name to hide an enumerator. (Classes and namespaces are

[Bug c++/61492] Nested-name-specifier lookup finds function

2014-06-12 Thread potswa at mac dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61492 --- Comment #1 from David Krauss --- Oops, objects hide enumerations in this context too. enum e { m } e = e::m; // Same error I neglected to check this because I thought I'd used it a while ago, but it turns out I'd worked around the problem.

[Bug c++/61584] New: What defines std::underlying_type?

2014-06-23 Thread potswa at mac dot com
++ Assignee: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com This is not a library bug because std::underlying_type simply wraps the __underlying_type() intrinsic. enum x {}; static_assert( std::is_same< std::underlying_type< x >::type, int >::value,

[Bug c++/61584] What defines std::underlying_type?

2014-06-23 Thread potswa at mac dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61584 --- Comment #2 from David Krauss --- C "compatible type" determines integer conversion rank (C11 §6.3.1.1). C++ fixes the rank by a heuristic which the implementation cannot decide (C++11 §4.5/3). Currently, enum promotions are incompatible betw

[Bug c++/29615] Class can't be friends of itself?

2010-03-26 Thread potswa at mac dot com
--- Comment #4 from potswa at mac dot com 2010-03-26 21:08 --- The error doesn't occur if the friend is a template instance, so it really doesn't hurt anyone. But it's weird. template< int z > class F { friend class F<0>; // error only if <0&g

[Bug libstdc++/43595] New: std::unique incorrectly assumes transitive property on functor, operator==

2010-03-30 Thread potswa at mac dot com
Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: potswa at mac dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43595

[Bug c++/65159] Linker forgets definition of type_info::__is_pointer_p

2015-03-15 Thread potswa at mac dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65159 --- Comment #8 from David Krauss --- It was an updated tree. I'm not sure what revision it was updated from, but it was probably late January. Sorry for the delay, my machine got completely hosed by a bad RAM chip. Took the filesystem with it. S

[Bug c++/65159] Linker forgets definition of type_info::__is_pointer_p

2015-03-16 Thread potswa at mac dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65159 --- Comment #10 from David Krauss --- I made a clean build of r220825, and it succeeded. Then I downgraded to r22, and it produced similar link errors, although not in type_info.

[Bug c++/65159] Linker forgets definition of type_info::__is_pointer_p

2015-03-16 Thread potswa at mac dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65159 --- Comment #12 from David Krauss --- I did exactly the steps that I mentioned: cleanly build r220825, update to r22, and build again without cleaning first. The object being to roughly replicate the conditions when the bug was originally obs

[Bug c++/59766] c++1y: declaring friend function with 'auto' return type deduction is rejected with bogus reason

2015-04-09 Thread potswa at mac dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59766 --- Comment #9 from David Krauss --- I didn't send it to gcc-patches. It's never been necessary for me before. I suppose I can collect the examples here into a testcase file. In the meantime, anyone else is free to take charge and submit it on th

[Bug c++/66001] New: [5.1/6 regression] ICE when NSDMI in a literal class uses a destructor

2015-05-03 Thread potswa at mac dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: potswa at mac dot com Target Milestone: --- Works in 4.9.2, broken in 5.1. Not sure about 5. struct x { struct dt { ~ dt() {} } const & m = {}; } cx; in const

[Bug c++/66001] [5.1/6 regression] ICE when NSDMI in a literal class uses a destructor

2015-05-03 Thread potswa at mac dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66001 --- Comment #1 from David Krauss --- If a non-constexpr constructor is addend to struct dt, the behavior is different, and inconsistent between a bound temporary and an initializer_list sequence. #include struct dt { dt() {} ~ dt() {} };

  1   2   >