Re: Patch: Remove gcc dependency in definition of inline functions
- From: Bruce Momjian <bruce(at)momjian(dot)us>
- To: Marko Kreen <markokr(at)gmail(dot)com>
- Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Kurt Harriman <harriman(at)acm(dot)org>, pgsql-hackers(at)postgresql(dot)org
- Subject: Re: Patch: Remove gcc dependency in definition of inline functions
- Date: Mon, 30 Nov 2009 07:06:18 -0500 (EST)
- Message-id: <200911301206.nAUC6IX28849@momjian.us> <text/plain>
Marko Kreen wrote:
> On 11/29/09, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> > Kurt Harriman <harriman(at)acm(dot)org> writes:
> > > (Does anybody still use a C compiler that doesn't support
> > > inline functions?)
>
> +1 for modern C.
>
> > The question isn't so much that, it's whether the compiler supports
> > inline functions with the same behavior as gcc. At minimum that
> > would require
> > * not generating extra copies of the function
> > * not whining about unreferenced static functions
> > How many compilers have you tested this patch against? Which ones
> > does it actually offer any benefit for?
>
> Those are not correctness problems. Compilers with non-optimal or
> missing 'inline' do belong together with compilers without working int64.
> We may spend some effort to be able to compile on them, but they
> should not affect our coding style.
>
> 'static inline' is superior to macros because of type-safety and
> side-effects avoidance. I'd suggest event removing any HAVE_INLINE
> ifdefs and let autoconf undef the 'inline' if needed. Less duplicated
> code to maintain. The existence of compilers in active use without
> working 'inline' seems quite hypothetical these days.
I thought one problem was that inline is a suggestion that the compiler
can ignore, while macros have to be implemented as specified.
--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
Home |
Main Index |
Thread Index