Bug 209372

Summary: deskutils/easystroke: Fix build with libc++ 3.8.0
Product: Ports & Packages Reporter: Dimitry Andric <dim>
Component: Individual Port(s)Assignee: freebsd-ports-bugs (Nobody) <ports-bugs>
Status: Closed FIXED    
Severity: Affects Some People CC: tobik
Priority: --- Flags: tobik: maintainer-feedback+
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 208158    
Attachments:
Description Flags
Remove hand-rolled abs function from deskutils/easystroke none

Description Dimitry Andric freebsd_committer freebsd_triage 2016-05-07 23:29:44 UTC
Created attachment 170106 [details]
Remove hand-rolled abs function from deskutils/easystroke

During the exp-run in bug 208158, it was found that deskutils/easystroke gives errors with libc++ 3.8.0 [1]:

handler.cc:536:21: error: static declaration of 'abs' follows non-static declaration
static inline float abs(float x) { return x > 0 ? x : -x; }
                    ^
/usr/include/c++/v1/math.h:646:1: note: previous definition is here
abs(float __lcpp_x) _NOEXCEPT {return fabsf(__lcpp_x);}
^

This is because easystroke tries to roll its own version of abs(), which is already defined in math.h.  Fix this by removing the custom abs().

[1] http://package18.nyi.freebsd.org/data/headamd64PR208158-default/2016-05-01_10h29m48s/logs/errors/easystroke-0.6.0_2.log
Comment 1 commit-hook freebsd_committer freebsd_triage 2016-05-08 12:06:53 UTC
A commit references this bug:

Author: dim
Date: Sun May  8 12:05:52 UTC 2016
New revision: 414807
URL: https://svnweb.freebsd.org/changeset/ports/414807

Log:
  During the exp-run in bug 208158, it was found that deskutils/easystroke
  gives errors with libc++ 3.8.0:

  handler.cc:536:21: error: static declaration of 'abs' follows non-static declaration
  static inline float abs(float x) { return x > 0 ? x : -x; }
                      ^
  /usr/include/c++/v1/math.h:646:1: note: previous definition is here
  abs(float __lcpp_x) _NOEXCEPT {return fabsf(__lcpp_x);}
  ^

  This is because easystroke tries to roll its own version of abs(), which
  is already defined in math.h.  Fix this by removing the custom abs().

  Approved by:	t@tobik.me (maintainer)
  PR:		209372
  MFH:		2016Q2

Changes:
  head/deskutils/easystroke/Makefile
  head/deskutils/easystroke/files/patch-handler.cc
Comment 2 commit-hook freebsd_committer freebsd_triage 2016-05-09 19:02:47 UTC
A commit references this bug:

Author: dim
Date: Mon May  9 19:02:08 UTC 2016
New revision: 414882
URL: https://svnweb.freebsd.org/changeset/ports/414882

Log:
  MFH: r414807

  During the exp-run in bug 208158, it was found that deskutils/easystroke
  gives errors with libc++ 3.8.0:

  handler.cc:536:21: error: static declaration of 'abs' follows non-static declaration
  static inline float abs(float x) { return x > 0 ? x : -x; }
                      ^
  /usr/include/c++/v1/math.h:646:1: note: previous definition is here
  abs(float __lcpp_x) _NOEXCEPT {return fabsf(__lcpp_x);}
  ^

  This is because easystroke tries to roll its own version of abs(), which
  is already defined in math.h.  Fix this by removing the custom abs().

  Approved by:	portmgr (feld)
  PR:		209372

Changes:
_U  branches/2016Q2/
  branches/2016Q2/deskutils/easystroke/Makefile
  branches/2016Q2/deskutils/easystroke/files/patch-handler.cc