Everyone gets a namespace {}.
authormtklein <mtklein@chromium.org>
Sat, 23 May 2015 00:18:21 +0000 (17:18 -0700)
committerCommit bot <commit-bot@chromium.org>
Sat, 23 May 2015 00:18:21 +0000 (17:18 -0700)
commitaa999cb952753d373c03befa7fce8c4700ef9308
tree187820613cb390da6f4ce7aca7e4da08eab31f69
parentd23a395d519835f78630aaea3f2a2c30ecdffe87
Everyone gets a namespace {}.

If we include Sk4px.h, SkPMFloat.h, or SkNx.h into files with different
SIMD flags, that could cause different definitions of the same method.

Normally that's moot, because all the code inlines, but in Debug it tends not
to.  So in Debug, the linker picks one definition for us.  That breaks _someone_.

Wrapping everything in a namespace {} keeps the definitions separate.

Tested locally, it fixes this bug.
BUG=skia:3861

This code is not yet enabled in Chrome, so shouldn't affect the roll.
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/1154523004
12 files changed:
src/core/Sk4px.h
src/core/SkNx.h
src/core/SkPMFloat.h
src/opts/Sk4px_NEON.h
src/opts/Sk4px_SSE2.h
src/opts/Sk4px_none.h
src/opts/SkNx_neon.h
src/opts/SkNx_sse.h
src/opts/SkPMFloat_SSE2.h
src/opts/SkPMFloat_SSSE3.h
src/opts/SkPMFloat_neon.h
src/opts/SkPMFloat_none.h