Bug 197939 - Fix devel/p5-Async-Interrupt build with clang 3.6.0
Summary: Fix devel/p5-Async-Interrupt build with clang 3.6.0
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: freebsd-perl (Nobody)
URL:
Keywords:
Depends on:
Blocks: 197395
  Show dependency treegraph
 
Reported: 2015-02-22 23:35 UTC by Dimitry Andric
Modified: 2015-02-23 16:24 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (perl)


Attachments
Fix devel/p5-Async-Interrupt build with clang 3.6.0 (1.15 KB, patch)
2015-02-22 23:35 UTC, Dimitry Andric
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitry Andric freebsd_committer freebsd_triage 2015-02-22 23:35:50 UTC
Created attachment 153344 [details]
Fix devel/p5-Async-Interrupt build with clang 3.6.0

During the exp-run in bug 197395, it was found that devel/p5-Async-Interrupt gives errors with clang 3.6.0:

http://package18.nyi.freebsd.org/data/headamd64PR197395-default/2015-02-11_23h04m51s/logs/errors/p5-Async-Interrupt-1.20_1.log

This is because clang 3.6.0 defaults to C11, and libev puts its ecb_noreturn in the wrong place, at the end of a function declaration.

The placement was fixed by upstream here:

http://cvs.schmorp.de/libev/ev.c?r1=1.473&r2=1.474

but this also has a lot of other unneeded changes.  So I propose the following minimal fix, which changes just two lines.
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2015-02-22 23:35:50 UTC
Auto-assigned to maintainer perl@FreeBSD.org
Comment 2 Mathieu Arnold freebsd_committer freebsd_triage 2015-02-23 09:10:50 UTC
Does adding something like USE_STDC=c89 solves the problem without patching ?
Comment 3 Dimitry Andric freebsd_committer freebsd_triage 2015-02-23 09:37:35 UTC
(In reply to Mathieu Arnold from comment #2)
Yes, that should also solve it for now.  I would use USE_CSTD=c99 in that case.
Comment 4 Po-Chuan Hsieh freebsd_committer freebsd_triage 2015-02-23 16:24:38 UTC
Updated to 1.21 (in r379692) which upgrades ecb.h for C11 compatibility. It builds fine with Clang 3.6.0 now. Thanks!