]> granicus.if.org Git - php/commitdiff
Support for XLC compiler
authorDmitry Stogov <dmitry@zend.com>
Mon, 10 Aug 2015 16:12:11 +0000 (19:12 +0300)
committerDmitry Stogov <dmitry@zend.com>
Mon, 10 Aug 2015 16:12:11 +0000 (19:12 +0300)
Zend/Zend.m4
Zend/zend_execute.c

index 6104dc0bc963c110de3abca118891edc7b706ada..bdeac672b403014b3d6b2adfc93683b0933ee154 100644 (file)
@@ -421,7 +421,6 @@ AC_ARG_ENABLE(gcc-global-regs,
 AC_MSG_CHECKING(for global register variables support)
 if test "$ZEND_GCC_GLOBAL_REGS" != "no"; then
   AC_TRY_COMPILE([
-  ],[
 #if defined(__GNUC__)
 # define ZEND_GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
 #else
@@ -436,6 +435,9 @@ if test "$ZEND_GCC_GLOBAL_REGS" != "no"; then
 #elif defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(__powerpc64__)
 # define ZEND_VM_FP_GLOBAL_REG "r28"
 # define ZEND_VM_IP_GLOBAL_REG "r29"
+#elif defined(__IBMC__) && ZEND_GCC_VERSION >= 4002 && defined(__powerpc64__)
+# define ZEND_VM_FP_GLOBAL_REG "r28"
+# define ZEND_VM_IP_GLOBAL_REG "r29"
 #else
 # error "global register variables are not supported"
 #endif
@@ -451,6 +453,7 @@ int emu(const opcode_handler_t *ip, void *fp) {
        FP = orig_fp;
        IP = orig_ip;
 }
+  ], [
   ], [
     ZEND_GCC_GLOBAL_REGS=yes
   ], [
index 090965611cc0ca5c32aa7d5817e9ab432545d2b3..ad94634a4502976363c67fb96f86bf996d96f0d3 100644 (file)
@@ -2553,6 +2553,9 @@ void zend_cleanup_unfinished_execution(zend_execute_data *execute_data, uint32_t
 # elif defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(__powerpc64__)
 #  define ZEND_VM_FP_GLOBAL_REG "r28"
 #  define ZEND_VM_IP_GLOBAL_REG "r29"
+# elif defined(__IBMC__) && ZEND_GCC_VERSION >= 4002 && defined(__powerpc64__)
+#  define ZEND_VM_FP_GLOBAL_REG "r28"
+#  define ZEND_VM_IP_GLOBAL_REG "r29"
 # endif
 #endif