[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