gcc 4.8 complains that these overloaded uses of pow and max are ambiguous.
Casts were used to for the selection of a specific version of the
overloaded function, but it is unclear whether they are correct or it is a
compiler bug.
file upstream bug to determine correct fix
--- webkitgtk-2.8.3/Source/WebCore/rendering/shapes/BoxShape.cpp 2015-04-08 23:54:01.000000000 -0700
+++ webkitgtk-2.8.3/Source/WebCore/rendering/shapes/BoxShape.cpp 2015-07-10 22:53:20.304109354 -0700
@@ -43,7 +43,7 @@
LayoutUnit ratio = radius / margin;
if (ratio < 1)
- return radius + (margin * (1 + pow(ratio - 1, 3)));
+ return radius + (margin * (1 + pow(static_cast<double>(ratio) - 1, static_cast<int>(3))));
return radius + margin;
}
--- webkitgtk-2.8.3/Source/WebCore/rendering/shapes/RasterShape.cpp 2015-04-08 23:54:01.000000000 -0700
+++ webkitgtk-2.8.3/Source/WebCore/rendering/shapes/RasterShape.cpp 2015-07-10 23:06:46.832444967 -0700
@@ -142,7 +142,7 @@
return *m_intervals;
int shapeMarginInt = clampToPositiveInteger(ceil(shapeMargin()));
- int maxShapeMarginInt = std::max(m_marginRectSize.width(), m_marginRectSize.height()) * sqrt(2);
+ int maxShapeMarginInt = std::max(m_marginRectSize.width(), m_marginRectSize.height()) * sqrt(static_cast<float>(2));
if (!m_marginIntervals)
m_marginIntervals = m_intervals->computeShapeMarginIntervals(std::min(shapeMarginInt, maxShapeMarginInt));