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 @@ -56,12 +56,11 @@ #elif defined(__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;