[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Autoconf protype breaks GCC builtin inlining
From: |
Zack Weinberg |
Subject: |
Re: Autoconf protype breaks GCC builtin inlining |
Date: |
Wed, 24 Jan 2018 18:55:38 -0500 |
On Wed, Jan 24, 2018 at 4:36 PM, Ferenc Wágner <address@hidden> wrote:
> Hi,
>
> Since ceil() can be inlined when optimization is enabled, I use
>
> AC_SEARCH_LIBS([ceil], [m], , [AC_MSG_ERROR([ceil not found])])
> AC_SUBST([m_LIBS], [$LIBS])
>
> to link against libm only when necessary (that is, when ceil is not
> inlined). However, it does not work because GCC says in config.log:
>
> conftest.c:76:6: warning: conflicting types for built-in function 'ceil'
> char ceil ();
> ~~~~
>
> and inlining is disabled, thus ceil becomes an undefined reference
> without -lm. However, in the actual code where math.h is #included, the
> above warning does not happen, ceil is inlined and I unnecessarily link
> with -lm. How could I overcome this?
You could try setting -Wl,--as-needed (which really should be the
default) in your makefiles.
zw