[Bug c++/16168] -Weffc++ item 14 improvements
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16168 Oren Ben-Kiki changed: What|Removed |Added CC||gcc-o...@ben-kiki.org --- Comment #6 from Oren Ben-Kiki --- This still occurs in 4.8.2, and is an extremely annoying issue; it makes -Weffc++ very difficult to apply to a code base. This warning really should be restricted to cases where the base class has a virtual function. For extra credit, we could keep the warning for cases where the base class has no virtual functions, but the derived class adds data members with "non trivial" destructors. This is unrelated to the question of allowing finer grained control over the warnings of -Weffc++; emitting this warning for cases like `struct Foo{}; struct Bar : Foo{};` just makes no sense and clearly isn't what was intended by the effective C++ rule.
[Bug c++/16168] -Weffc++ item 14 improvements
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16168 --- Comment #10 from Oren Ben-Kiki --- All good points, which you could say about many opened bugs. The `-Weffc++` flag is a useful tool to keep large code bases working, even when written by less-than-guru C++ programmers. As someone tending a large framework used by such developers, this specific bug "has non-trivial impact on my code base", hence the original comment expressing the need for it to be fixed. I assume that the GCC maintainers keep an eye on the bug boards and fix bugs depending on their impact on people's code. I hope this matched reality :-) I suppose using the word "annoying", while concise, might have convey additional unintentional connotations; if so, consider this a clarification of the original intent.
[Bug c++/64117] New: warning control #pragmas in precompiled headers are not obeyed for template code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64117 Bug ID: 64117 Summary: warning control #pragmas in precompiled headers are not obeyed for template code Product: gcc Version: 4.8.4 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: gcc-o...@ben-kiki.org Created attachment 34140 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34140&action=edit A header file, a source file, and a RUNME script using them to demonstrate the problem. Temporarily disabling warnings surrounding template code works fine, except when included in a precompiled header. Then, the warnings remain in effect, and are triggered in any C++ code that uses the template. In my project, this means I just can't use precompiled headers. We are missing out on cutting down our build time as a result. BTW, speaking of precompiled headers, it sucks that `#pragma once` is not allowed when precompiling a header file ("#pragma once in main file"), but that's a minor annoyance - one can switch back to the bad old days of guard macros.
[Bug c++/64117] warning control #pragmas in precompiled headers are not obeyed for template code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64117 Oren Ben-Kiki changed: What|Removed |Added Version|4.8.2 |4.9.2 --- Comment #1 from Oren Ben-Kiki --- Originally detected in 4.8.2, the problem persists in 4.9.2
[Bug c++/64117] warning control #pragmas in precompiled headers are not obeyed for template code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64117 --- Comment #2 from Oren Ben-Kiki --- Problem persists in gcc 5.2. Sigh.