From 650254065e7c6b5abab5e3d154f720753fe1e1cf Mon Sep 17 00:00:00 2001 From: Chih-Hung Hsieh Date: Thu, 11 Dec 2014 13:06:46 -0800 Subject: Trigger error only when a template is instantiated. Clang compiler will check defintions and trigger undefined template error of 'android::CompileTimeAssert' even when MixMul is not instantiated. Avoid such parse time error but trigger link error when the generic MixMul template is used. Change-Id: I84ef60a69fbfbeefc93b5654e4bdd54f9d530867 --- services/audioflinger/AudioMixerOps.h | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'services/audioflinger/AudioMixerOps.h') diff --git a/services/audioflinger/AudioMixerOps.h b/services/audioflinger/AudioMixerOps.h index f7376a8..2678857 100644 --- a/services/audioflinger/AudioMixerOps.h +++ b/services/audioflinger/AudioMixerOps.h @@ -52,15 +52,12 @@ struct is_same // partial specialization * * For high precision audio, only the = * needs to be accelerated. This is perhaps the easiest form to do quickly as well. + * + * A generic version is NOT defined to catch any mistake of using it. */ template -inline TO MixMul(TI value, TV volume) { - COMPILE_TIME_ASSERT_FUNCTION_SCOPE(false); - // should not be here :-). - // To avoid mistakes, this template is always specialized. - return value * volume; -} +TO MixMul(TI value, TV volume); template <> inline int32_t MixMul(int16_t value, int16_t volume) { -- cgit v1.1