[MacPorts] #62022: php74-curl @7.4.13: error: expected '(' after 'asm'
MacPorts
noreply at macports.org
Thu Jun 10 12:41:47 UTC 2021
#62022: php74-curl @7.4.13: error: expected '(' after 'asm'
----------------------+------------------------
Reporter: jvmyers | Owner: ryandesign
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords: elcapitan
Port: php |
----------------------+------------------------
Comment (by ryandesign):
It looks like php73 and later are now using `__asm__ goto` in the
implementation of `zend_always_inline`.
[https://bugs.llvm.org/show_bug.cgi?id=14406 This old llvm bug report from
2012] says that at that time clang didn't support `__asm__ goto` and there
was no plan to add it. Support for `__asm__ goto` was finally
[https://github.com/llvm/llvm-
project/commit/784929d0454c4df6a98ef6fbbd1d30a6f71f9c16 added in 2019] and
included in llvm 9. I guess that explains why it fails to build with clang
from Xcode 8 on El Capitan, but doesn't explain why it succeeds when
building with earlier clangs from earlier Xcodes on earlier OS X versions.
`zend_always_inline` has several alternative implementations, only some of
which use `__asm__ goto`. I also see a define called `HAVE_ASM_GOTO`. In
our El Capitan binary build of php73 @7.3.28 I see that
/opt/local/include/php73/php/main/php_config.h contains `#define
HAVE_ASM_GOTO 1` and the configure output contains `checking for asm
goto... yes`. That would appear to be wrong. I don't see that in php74 so
maybe they fixed this already but didn't release a new version of php73
containing the fix.
--
Ticket URL: <https://trac.macports.org/ticket/62022#comment:4>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list