On Fri, Aug 24, 2018 at 04:15:14PM +1200, Amos Jeffries wrote:
> For the record the specific autoconf macro:
> 
>  AC_SEARCH_LIBS([__atomic_load_8],[atomic], ...)
> 
> Produces this test code:
> 
> "
> | #ifdef __cplusplus
> | extern "C"
> | #endif
> | char __atomic_load_8 ();
> | int
> | main ()
> | {
> | return __atomic_load_8 ();
> |   ;
> |   return 0;
> | }
> "
> 
> Which produces this (on all buildd's including the working ones):
> 
> "
> conftest.cpp:56:6: error: new declaration 'char __atomic_load_8()'
> ambiguates built-in declaration 'long long unsigned int
> __atomic_load_8(const volatile void*, int)' [-fpermissive]
>  char __atomic_load_8 ();
>       ^~~~~~~~~~~~~~~
> conftest.cpp: In function 'int main()':
> conftest.cpp:60:25: error: too few arguments to function 'long long
> unsigned int __atomic_load_8(const volatile void*, int)'
>  return __atomic_load_8 ();
>                          ^
> "
> 
> "checking for library containing __atomic_load_8... no"

Thanks for this debugging.

I wrongly thought this was just a case of
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81358

But squid has this already workarounded upstream with -latomic.

I've opened #907277 for this regression with gcc 8.

> Amos

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

Reply via email to