]> granicus.if.org Git - php/commitdiff
Fixed bug #69896 'asm' operand has impossible constraints
authorAnatol Belski <ab@php.net>
Sun, 2 Aug 2015 07:25:24 +0000 (09:25 +0200)
committerAnatol Belski <ab@php.net>
Sun, 2 Aug 2015 07:25:24 +0000 (09:25 +0200)
Given it's an issue with 32-bit gcc-4.8, asm is disabled for the
breaking parts.

Zend/zend_operators.h

index f46a72904534cca87e297dcea5bc1fb76f069f5c..ecba9cf4c6bcac864de617806284b5f109b0c68f 100644 (file)
@@ -510,7 +510,7 @@ static zend_always_inline void fast_long_decrement_function(zval *op1)
 
 static zend_always_inline void fast_long_add_function(zval *result, zval *op1, zval *op2)
 {
-#if defined(__GNUC__) && defined(__i386__)
+#if defined(__GNUC__) && defined(__i386__) && !(4 == __GNUC__ && 8 == __GNUC_MINOR__)
        __asm__(
                "movl   (%1), %%eax\n\t"
                "addl   (%2), %%eax\n\t"
@@ -596,7 +596,7 @@ static zend_always_inline int fast_add_function(zval *result, zval *op1, zval *o
 
 static zend_always_inline void fast_long_sub_function(zval *result, zval *op1, zval *op2)
 {
-#if defined(__GNUC__) && defined(__i386__)
+#if defined(__GNUC__) && defined(__i386__) && !(4 == __GNUC__ && 8 == __GNUC_MINOR__)
        __asm__(
                "movl   (%1), %%eax\n\t"
                "subl   (%2), %%eax\n\t"