Bug 208844

Summary: graphics/gource: Fix build with libc++ 3.8.0
Product: Ports & Packages Reporter: Dimitry Andric <dim>
Component: Individual Port(s)Assignee: Dmitry Sivachenko <demon>
Status: Closed FIXED    
Severity: Affects Some People Flags: bugzilla: maintainer-feedback? (demon)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 208158    
Attachments:
Description Flags
Fix argument type for max() in graphics/gource none

Description Dimitry Andric freebsd_committer 2016-04-16 20:47:44 UTC

    
Comment 1 Dimitry Andric freebsd_committer 2016-04-16 20:49:37 UTC
Created attachment 169381 [details]
Fix argument type for max() in graphics/gource

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

src/dirnode.cpp:585:27: error: no matching function for call to 'max'
    this->parent_radius = std::max(1.0, sqrt(total_file_area) * gGourceDirPadding);
                          ^~~~~~~~

This is because max() is being called with two arguments of different type (double and float).  Fix this by using 0.0f instead (and casting the result of sqrt to float like two lines above, though this should strictly not be necessary).

[1] http://package18.nyi.freebsd.org/data/headamd64PR208158-default/2016-03-22_18h30m05s/logs/errors/gource-0.43_1.log
Comment 2 Dmitry Sivachenko freebsd_committer 2016-04-16 20:51:09 UTC
Please commit this.

(you may fix clang-3.8 errors for my ports without my approval in the future).

Thanks for your work!
Comment 3 commit-hook freebsd_committer 2016-04-16 21:31:19 UTC
A commit references this bug:

Author: dim
Date: Sat Apr 16 21:30:23 UTC 2016
New revision: 413481
URL: https://svnweb.freebsd.org/changeset/ports/413481

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

  src/dirnode.cpp:585:27: error: no matching function for call to 'max'
      this->parent_radius = std::max(1.0, sqrt(total_file_area) * gGourceDirPadding);
                            ^~~~~~~~

  This is because max() is being called with two arguments of different
  type (double and float).  Fix this by using 0.0f instead (and casting
  the result of sqrt to float like two lines above, though this should
  strictly not be necessary).

  Approved by:	demon (maintainer)
  PR:		208844
  MFH:		2016Q2

Changes:
  head/graphics/gource/files/
  head/graphics/gource/files/patch-src_dirnode.cpp
Comment 4 commit-hook freebsd_committer 2016-04-17 13:34:31 UTC
A commit references this bug:

Author: dim
Date: Sun Apr 17 13:33:39 UTC 2016
New revision: 413509
URL: https://svnweb.freebsd.org/changeset/ports/413509

Log:
  MFH: r413481

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

  src/dirnode.cpp:585:27: error: no matching function for call to 'max'
      this->parent_radius = std::max(1.0, sqrt(total_file_area) * gGourceDirPadding);
                            ^~~~~~~~

  This is because max() is being called with two arguments of different
  type (double and float).  Fix this by using 0.0f instead (and casting
  the result of sqrt to float like two lines above, though this should
  strictly not be necessary).

  Approved by:	portmgr (junovitch)
  PR:		208844

Changes:
_U  branches/2016Q2/
  branches/2016Q2/graphics/gource/files/