gcc 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.48.1/Source/JavaScriptCore/dfg/DFGOperations.cpp.orig +++ webkitgtk-2.48.1/Source/JavaScriptCore/dfg/DFGOperations.cpp @@ -3964,7 +3964,7 @@ JSC_DEFINE_NOEXCEPT_JIT_OPERATION(operationFModOnInts, double, (int32_t a, int32_t b)) { - return fmod(a, b); + return fmod(float(a), float(b)); } #if USE(JSVALUE32_64) --- webkitgtk-2.48.1/Source/WebCore/rendering/shapes/BoxLayoutShape.cpp.orig +++ webkitgtk-2.48.1/Source/WebCore/rendering/shapes/BoxLayoutShape.cpp @@ -44,7 +44,7 @@ LayoutUnit ratio = radius / margin; if (ratio < 1) - return LayoutUnit(radius + (margin * (1 + pow(ratio - 1, 3.0)))); + return LayoutUnit(radius + (margin * (1 + pow(static_cast(ratio) - 1, 3.0)))); return radius + margin; } --- webkitgtk-2.48.1/Source/WebCore/rendering/shapes/RasterLayoutShape.cpp.orig +++ webkitgtk-2.48.1/Source/WebCore/rendering/shapes/RasterLayoutShape.cpp @@ -145,7 +145,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(2)); if (!m_marginIntervals) m_marginIntervals = m_intervals->computeShapeMarginIntervals(std::min(shapeMarginInt, maxShapeMarginInt)); --- webkitgtk-2.48.1/Source/JavaScriptCore/dfg/DFGStaticExecutionCountEstimationPhase.cpp.orig +++ webkitgtk-2.48.1/Source/JavaScriptCore/dfg/DFGStaticExecutionCountEstimationPhase.cpp @@ -52,7 +52,7 @@ if (!block) continue; - block->executionCount = pow(10, m_graph.m_cpsNaturalLoops->loopDepth(block)); + block->executionCount = powf(10, m_graph.m_cpsNaturalLoops->loopDepth(block)); } // Estimate branch weights based on execution counts. This isn't quite correct. It'll