(concat) [__GNUC__]: Declare with `__attribute__((noinline))'.
authorEli Zaretskii <eliz@gnu.org>
Sat, 2 Sep 2006 13:39:48 +0000 (13:39 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 2 Sep 2006 13:39:48 +0000 (13:39 +0000)
src/fns.c

index 228d480..f9f4b72 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -387,7 +387,12 @@ Symbols are also allowed; their print names are used instead. */)
   return i1 < SCHARS (s2) ? Qt : Qnil;
 }
 \f
-static Lisp_Object concat ();
+#if __GNUC__
+/* "gcc -O3" enables automatic function inlining, which optimizes out
+   the arguments for the invocations of this function, whereas it
+   expects these values on the stack.  */
+static Lisp_Object concat () __attribute__((noinline));
+#endif
 
 /* ARGSUSED */
 Lisp_Object