Created attachment 170415 [details] Rename custom round() and use a define to minimize changes During the exp-run in bug 208158, it was found that editors/openoffice-4 [1] and editors/openoffice-devel [2] give errors with libc++ 3.8.0: /wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.1.2/main/vcl/source/glyphs/graphite_layout.cxx:297:21: error: call to 'round' is ambiguous long nXOffset = round(fMinX * fScaling); ^~~~~ This is because openoffice defines its own overloaded variant of round(), which is only different in return type from the 'real' round() from <math.h>, so it is ambiguous (in the C++ lookup sense). Fix this by renaming the custom round() to round_(), and using a define to minimize needed changes in the code. [1] http://package18.nyi.freebsd.org/data/headamd64PR208158-default/2016-05-01_10h29m48s/logs/errors/apache-openoffice-4.1.2_5.log [2] http://package18.nyi.freebsd.org/data/headamd64PR208158-default/2016-05-01_10h29m48s/logs/errors/apache-openoffice-devel-4.2.1735889_1,4.log
A commit references this bug: Author: truckman Date: Thu May 26 06:01:50 UTC 2016 New revision: 415875 URL: https://svnweb.freebsd.org/changeset/ports/415875 Log: Fix build of openoffice-4 and openoffice-devel with libc++ 3.8.0. Openffice defines its own overloaded variant of round(), which is only different in return type from the 'real' round() from <math.h>, so it is ambiguous (in the C++ lookup sense). Fix this by renaming the custom round() to round_(), and using a define to minimize needed changes in the code. PR: 209588 Submitted by: dim Changes: head/editors/openoffice-4/files/patch-vcl_source_glyphs_graphite__layout.cxx head/editors/openoffice-devel/files/patch-vcl_source_glyphs_graphite__layout.cxx