[Bug c++/16168] -Weffc++ item 14 improvements

2014-01-10 Thread gcc-o...@ben-kiki.org
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

2014-01-10 Thread gcc-o...@ben-kiki.org
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

2014-11-29 Thread gcc-o...@ben-kiki.org
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

2014-12-19 Thread gcc-o...@ben-kiki.org
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

2015-08-23 Thread gcc-o...@ben-kiki.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64117

--- Comment #2 from Oren Ben-Kiki  ---
Problem persists in gcc 5.2. Sigh.