[geos-devel] Inlining

strk at refractions.net strk at refractions.net
Mon Apr 10 05:34:44 EDT 2006


On Mon, Apr 10, 2006 at 11:05:26AM +0200, Mateusz Å?oskot wrote:
> strk at refractions.net wrote:
> > The rational would be, for a default build, to
> > have inlines used by core library, but non-inlined
> 
> Why not to use compiler switches to achive this behaviour?

Is there such a switch for all compilers ?
Or should we make GCC a requirement ?

> > functions to be available for clients.
> > I dunno if there's any standard compiler switch for
> > this, but we might reproduce it with the custom mechanism.
> 
> I think it's much simplier to use compiler switches instead of custom
> mechanism. Here are two that should provide this behaviour:
> -fno-inline
> -fno-default-inline

It's surely simpler for developers, but we want a consistent
behaviour for builders.

Note that I'm not happy with shipping the .inl and to require
GEOS_INLINE to be defined... so I'm open to discussion.

> > For example, we might have an inline.cpp file including
> > all of the .inl files with GEOS_INLINE undefined.
> > I haven't tested this yet, though.
> 
> If I could comment this approach, I don't like it.
> This will scatter code too much, what make maintenance harder.
> It'll be hard to navigate, remember which class member is inlined and
> which is not, etc.

CLASS=geom/Coordinate
vi -o source/$CLASS.cpp source/headers/geos/$CLASS.{h,inl}

--strk;



More information about the geos-devel mailing list