From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28528 invoked by alias); 21 Nov 2005 16:01:24 -0000 Received: (qmail 28520 invoked by uid 48); 21 Nov 2005 16:01:22 -0000 Date: Mon, 21 Nov 2005 16:01:00 -0000 Message-ID: <20051121160122.28519.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/24947] -Os should maximize inlining --param values. In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "msharov at hotmail dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2005-11/txt/msg02990.txt.bz2 List-Id: ------- Comment #7 from msharov at hotmail dot com 2005-11-21 16:01 ------- (In reply to comment #6) > This is not something that should cause -Werror to refuse compilation. Well, according to the manpage, -Werror treats _all_ warnings as fatal, no matter what they are about. Since -Winline is an optional parameter that most normal people don't use, and one that is not enabled by either -Wall or -Wextra, I have no problem with the current behaviour. > Regardless of whether or not you think the limits are too low, > others may disagree and not want to change them. Speaking of that, can anyone give me an example of when the limits would be considered too high? Or at all necessary? I can understand the need for them once the -finline-functions has been enabled, since it may end up inlining everything I own, but I don't think it is unreasonable to expect everything explicitly declared inline to be inlined in an optimized build. I did actually file a bug about that before, http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21587, which was resolved WONTFIX, saying that "inline is always been just a hint to the compiler". It seems that this is the root of the problem right there: the refusal to distinguish explicitly inline functions from those that become inline due to -finline-functions. I'm pretty sure that if you run a poll of all the C++ programmers, they'll tell you that they expect the former to always be inlined in an optimized build, while the latter ought to depend on some specific command-line parameters. Perhaps it would be prudent to rethink 21587? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24947