In <http://trac.webkit.org/r169407>, the RenderView pointer argument was removed from RenderStyle::getRoundedBorderFor(), but the code in computeRoundedRectForBoxShape() was never updated to remove the pointers. Newer versions of clang now warn about taking the address of a reference value (and the fact that it will never be NULL): Source/WebCore/rendering/shapes/BoxShape.cpp:74:117: error: reference cannot be bound to dereferenced null pointer in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion] RoundedRect::Radii radii = computeMarginBoxShapeRadii(style.getRoundedBorderFor(renderer.borderBoxRect(), &(renderer.view())).radii(), renderer); ~~~~~ ~^~~~~~~~~~~~~~~~ In file included from Source/WebCore/rendering/shapes/BoxShape.cpp:33: In file included from Source/WebCore/rendering/RenderBox.h:26: In file included from Source/WebCore/rendering/RenderBoxModelObject.h:28: In file included from Source/WebCore/rendering/RenderLayerModelObject.h:26: In file included from Source/WebCore/rendering/RenderElement.h:27: Source/WebCore/rendering/RenderObject.h:571:17: note: 'view' returns a reference RenderView& view() const { return *document().renderView(); }; ^ Source/WebCore/rendering/shapes/BoxShape.cpp:90:70: error: reference cannot be bound to dereferenced null pointer in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion] return style.getRoundedBorderFor(renderer.borderBoxRect(), &(renderer.view())); ~~~~~ ~^~~~~~~~~~~~~~~~ In file included from Source/WebCore/rendering/shapes/BoxShape.cpp:33: In file included from Source/WebCore/rendering/RenderBox.h:26: In file included from Source/WebCore/rendering/RenderBoxModelObject.h:28: In file included from Source/WebCore/rendering/RenderLayerModelObject.h:26: In file included from Source/WebCore/rendering/RenderElement.h:27: Source/WebCore/rendering/RenderObject.h:571:17: note: 'view' returns a reference RenderView& view() const { return *document().renderView(); }; ^ Source/WebCore/rendering/shapes/BoxShape.cpp:94:66: error: reference cannot be bound to dereferenced null pointer in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion] return style.getRoundedBorderFor(renderer.borderBoxRect(), &(renderer.view())); ~~~~~ ~^~~~~~~~~~~~~~~~ In file included from Source/WebCore/rendering/shapes/BoxShape.cpp:33: In file included from Source/WebCore/rendering/RenderBox.h:26: In file included from Source/WebCore/rendering/RenderBoxModelObject.h:28: In file included from Source/WebCore/rendering/RenderLayerModelObject.h:26: In file included from Source/WebCore/rendering/RenderElement.h:27: Source/WebCore/rendering/RenderObject.h:571:17: note: 'view' returns a reference RenderView& view() const { return *document().renderView(); }; ^ 3 errors generated.
<rdar://problem/18143731>
Created attachment 237724 [details] Patch v1
Comment on attachment 237724 [details] Patch v1 Clearing flags on attachment: 237724 Committed r173348: <http://trac.webkit.org/changeset/173348>
All reviewed patches have been landed. Closing bug.
This just shows us how dangerous arguments of type bool are!