Skip to content

GCC 14 build issue (c_atomic) #13215

Closed
Closed
@remicollet

Description

@remicollet

Description

Noticed during Fedora 40 mass rebuild using GCC 14

In file included from /builddir/build/BUILD/php-8.3.2/Zend/zend_globals.h:30,
                 from /builddir/build/BUILD/php-8.3.2/Zend/zend_compile.h:769,
                 from /builddir/build/BUILD/php-8.3.2/Zend/zend_modules.h:24,
                 from /builddir/build/BUILD/php-8.3.2/Zend/zend_API.h:25,
                 from /builddir/build/BUILD/php-8.3.2/main/php.h:35,
                 from /builddir/build/BUILD/php-8.3.2/ext/bcmath/bcmath.c:21:
/builddir/build/BUILD/php-8.3.2/Zend/zend_atomic.h: In function 'zend_atomic_bool_exchange_ex':
/builddir/build/BUILD/php-8.3.2/Zend/zend_atomic.h:88:16: error: implicit declaration of function '__c11_atomic_exchange'; did you mean '__atomic_exchange'? [-Wimplicit-function-declaration]
   88 |         return __c11_atomic_exchange(&obj->value, desired, __ATOMIC_SEQ_CST);
      |                ^~~~~~~~~~~~~~~~~~~~~
      |                __atomic_exchange
/builddir/build/BUILD/php-8.3.2/Zend/zend_atomic.h: In function 'zend_atomic_bool_load_ex':
/builddir/build/BUILD/php-8.3.2/Zend/zend_atomic.h:92:16: error: implicit declaration of function '__c11_atomic_load'; did you mean '__atomic_load'? [-Wimplicit-function-declaration]
   92 |         return __c11_atomic_load(&obj->value, __ATOMIC_SEQ_CST);
      |                ^~~~~~~~~~~~~~~~~
      |                __atomic_load
/builddir/build/BUILD/php-8.3.2/Zend/zend_atomic.h: In function 'zend_atomic_bool_store_ex':
/builddir/build/BUILD/php-8.3.2/Zend/zend_atomic.h:96:9: error: implicit declaration of function '__c11_atomic_store'; did you mean '__atomic_store'? [-Wimplicit-function-declaration]
   96 |         __c11_atomic_store(&obj->value, desired, __ATOMIC_SEQ_CST);
      |         ^~~~~~~~~~~~~~~~~~
      |         __atomic_store

Full build log
https://kojipkgs.fedoraproject.org//work/tasks/8789/112128789/build.log

Also breaks packages using PHP, ex: SWIG
See swig/swig#2765

PHP Version

N/A

Operating System

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions