This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libstdc++/82745] Fails to warn on narrowing conversion by std::forward (e.g. when calling make_unique)


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82745

--- Comment #9 from helge at penne dot no ---
I've tried compiling with -Wsystem-headers.  This results in a significant
number of warnings inside libstdc++ itself, due to conversions resulting in
potential sign changes and/or loss of precision, even when I compile the
example with an empty main().  So libstdc++ is simply not clean enough to
permit compiling with -Wsystem-headers along with -Werror.  Compiling with
-Wsystem-headers is thus not not a viable solution with the current libstdc++,
unless there are additional tweaks that I have not though of yet.

I think this all boils down to the following: I really do not think it is OK
that libstdc++ causes the compiler to suppress warnings for what is actually
problems in the user's code, not the library.

Suppressing system header warnings is perfectly reasonable for headers that
contain declarations for symbols in libraries, but perhaps not equally
acceptable in headers that define templates that get instantiated through
application code.  Such behaviour can evidently suppress important warnings for
issues caused by application source code, and that is a real problem.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]