https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#Extended-Asm says asm [volatile] ( AssemblerTemplate : [OutputOperands] [ : [InputOperands] [ : [Clobbers] ] ] ) which implies that Clobbers is optional even after the third colon, but the gcc used for b2g_try_emulator_dep builds says resample_neon.c: In function 'saturate_32bit_to_16bit': resample_neon.c:50: error: expected string literal before ')' token diff --git a/media/libspeex_resampler/src/resample_neon.c b/media/libspeex_resampler/src/resample_neon.c --- a/media/libspeex_resampler/src/resample_neon.c +++ b/media/libspeex_resampler/src/resample_neon.c @@ -41,18 +41,17 @@ #include <arm_neon.h> #ifdef FIXED_POINT #ifdef __thumb2__ static inline int32_t saturate_32bit_to_16bit(int32_t a) { int32_t ret; asm ("ssat %[ret], #16, %[a]" : [ret] "=&r" (ret) - : [a] "r" (a) - : ); + : [a] "r" (a)); return ret; } #else static inline int32_t saturate_32bit_to_16bit(int32_t a) { int32_t ret; asm ("vmov.s32 d0[0], %[a]\n" "vqmovn.s32 d0, q0\n" "vmov.s16 %[ret], d0[0]\n"