media/libspeex_resampler/remove-empty-asm-clobber.patch
author Ralph Giles <giles@mozilla.com>
Fri, 27 Mar 2015 14:56:04 -0700
changeset 269557 7cfa6632f4cef96133012ca2c9746ec776a18d79
parent 219262 a2404857df4479501d422be6895758ae2d96cf93
permissions -rw-r--r--
Bug 1148639 - Update libvpx. r=kinetik From b40321d9379faaa62fa16d6d412098fca115042d Mon Sep 17 00:00:00 2001 Result of running ./update.py --ndk ~/android/android-ndk-r9 --commit afad1a84c15b9af8298a37c0fa449e0af40931fd

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"