public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* -fno-default-inline
@ 2001-06-29 10:35 Mike Harrold
  2001-06-29 21:31 ` -fno-default-inline Alexandre Oliva
  0 siblings, 1 reply; 3+ messages in thread
From: Mike Harrold @ 2001-06-29 10:35 UTC (permalink / raw)
  To: gcc-help

Hi,

I use the -fno-default-inline a lot, sometimes for debugging purposes and
othertimes (with pragma interface/implementation) for class containment.
I specifically mark as inline those functions that I want inlined.

However, the C++ library headers do not contain inline specifiers, thus
using -fno-default-inline causes all standard library functions to be
external, something that is pointless for the more trivial functions
(such as list::begin, etc.).

Would it be possible to differentiate between system headers and userspace
headers for -fno-default-inline, or perhaps to add a different pair of
options that exclude system headers?

Or is this a case of pleading with the libstdc++ folks to mark functions
as inline where appropriate?

Thanks,

/Mike

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: -fno-default-inline
  2001-06-29 10:35 -fno-default-inline Mike Harrold
@ 2001-06-29 21:31 ` Alexandre Oliva
  2001-06-29 21:47   ` -fno-default-inline Mike Harrold
  0 siblings, 1 reply; 3+ messages in thread
From: Alexandre Oliva @ 2001-06-29 21:31 UTC (permalink / raw)
  To: Mike Harrold; +Cc: gcc-help

On Jun 29, 2001, Mike Harrold <mharrold@cas.org> wrote:

> Or is this a case of pleading with the libstdc++ folks to mark functions
> as inline where appropriate?

I'm not sure we should add redundant keywords to libstdc++ code to
make room for a non-standard extension.  Is it really too hard for you
to move the member function definitions out of the class body, so that
the implicit inline Standard rule doesn't apply to them?

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist    *Please* write to mailing lists, not to me

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: -fno-default-inline
  2001-06-29 21:31 ` -fno-default-inline Alexandre Oliva
@ 2001-06-29 21:47   ` Mike Harrold
  0 siblings, 0 replies; 3+ messages in thread
From: Mike Harrold @ 2001-06-29 21:47 UTC (permalink / raw)
  To: Alexandre Oliva; +Cc: Mike Harrold, gcc-help

> 
> On Jun 29, 2001, Mike Harrold <mharrold@cas.org> wrote:
> 
> > Or is this a case of pleading with the libstdc++ folks to mark functions
> > as inline where appropriate?
> 
> I'm not sure we should add redundant keywords to libstdc++ code to
> make room for a non-standard extension.  Is it really too hard for you
> to move the member function definitions out of the class body, so that
> the implicit inline Standard rule doesn't apply to them?

I could, yes, but then that defeats the purpose of using pragma interface
and pragma implementation.

From the info page:

   "C++ object definitions can be quite complex.  In principle, your
source code will need two kinds of things for each object that you use
across more than one source file.  First, you need an "interface"
specification, describing its structure with type declarations and
function prototypes.  Second, you need the "implementation" itself.  It
can be tedious to maintain a separate interface description in a header
file, in parallel to the actual implementation.  It is also dangerous,
since separate interface and implementation definitions may not remain
parallel."

Not to mention maintaining consistant documentation in both the header
and source files is next to impossible. Hence why I chose to follow this
path.

I agree; inserting "inline" all over the standard library headers is
probably not the way to go. So would it be possible to refine the
-fno-default-inline option in some way to exclude them from non-inlining?

Regards,

/Mike

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2001-06-29 21:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-29 10:35 -fno-default-inline Mike Harrold
2001-06-29 21:31 ` -fno-default-inline Alexandre Oliva
2001-06-29 21:47   ` -fno-default-inline Mike Harrold

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).