summaryrefslogtreecommitdiff
path: root/Zend/zend.c
diff options
context:
space:
mode:
authorJakub Zelenka <bukka@php.net>2015-02-08 14:08:31 +0000
committerJakub Zelenka <bukka@php.net>2015-02-08 14:08:31 +0000
commitf2825042b4dd9aa941a080c027f15f41c1b9e4bc (patch)
tree2e7d97c1dfd4aeabb506ffdd206a612b82adea8d /Zend/zend.c
parent0a81f9a0bd36deac8707949acbcf92f612b60e8e (diff)
parentce9f52adcdfb19f70dc4274f3587e58ac07995bd (diff)
downloadphp-git-f2825042b4dd9aa941a080c027f15f41c1b9e4bc.tar.gz
Merge branch 'master' into jsond
Conflicts: ext/json/json.c
Diffstat (limited to 'Zend/zend.c')
-rw-r--r--Zend/zend.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/Zend/zend.c b/Zend/zend.c
index d28d8ef241..1bd70ab292 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -957,7 +957,7 @@ ZEND_API zval *zend_get_configuration_directive(zend_string *name) /* {{{ */
} \
} while (0)
-#if !defined(ZEND_WIN32) && !defined(DARWIN)
+#if !defined(HAVE_NORETURN) || defined(HAVE_NORETURN_ALIAS)
ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */
#else
static void zend_error_va_list(int type, const char *format, va_list args)
@@ -965,7 +965,7 @@ static void zend_error_va_list(int type, const char *format, va_list args)
{
char *str;
int len;
-#if !defined(ZEND_WIN32) && !defined(DARWIN)
+#if !defined(HAVE_NORETURN) || defined(HAVE_NORETURN_ALIAS)
va_list args;
#endif
va_list usr_copy;
@@ -1059,17 +1059,21 @@ static void zend_error_va_list(int type, const char *format, va_list args)
}
#ifdef HAVE_DTRACE
- if(DTRACE_ERROR_ENABLED()) {
+ if (DTRACE_ERROR_ENABLED()) {
char *dtrace_error_buffer;
+#if !defined(HAVE_NORETURN) || defined(HAVE_NORETURN_ALIAS)
va_start(args, format);
+#endif
zend_vspprintf(&dtrace_error_buffer, 0, format, args);
DTRACE_ERROR(dtrace_error_buffer, (char *)error_filename, error_lineno);
efree(dtrace_error_buffer);
+#if !defined(HAVE_NORETURN) || defined(HAVE_NORETURN_ALIAS)
va_end(args);
+#endif
}
#endif /* HAVE_DTRACE */
-#if !defined(ZEND_WIN32) && !defined(DARWIN)
+#if !defined(HAVE_NORETURN) || defined(HAVE_NORETURN_ALIAS)
va_start(args, format);
#endif
@@ -1182,7 +1186,7 @@ static void zend_error_va_list(int type, const char *format, va_list args)
break;
}
-#if !defined(ZEND_WIN32) && !defined(DARWIN)
+#if !defined(HAVE_NORETURN) || defined(HAVE_NORETURN_ALIAS)
va_end(args);
#endif
@@ -1199,9 +1203,10 @@ static void zend_error_va_list(int type, const char *format, va_list args)
}
/* }}} */
-#if (defined(__GNUC__) && __GNUC__ >= 3 && !defined(__INTEL_COMPILER) && !defined(DARWIN) && !defined(__hpux) && !defined(_AIX) && !defined(__osf__))
+#ifdef HAVE_NORETURN
+# ifdef HAVE_NORETURN_ALIAS
void zend_error_noreturn(int type, const char *format, ...) __attribute__ ((alias("zend_error"),noreturn));
-#elif defined(ZEND_WIN32) || defined(DARWIN)
+# else
ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */
{
va_list va;
@@ -1220,6 +1225,7 @@ ZEND_API ZEND_NORETURN void zend_error_noreturn(int type, const char *format, ..
va_end(va);
}
/* }}} */
+# endif
#endif
ZEND_API void zend_output_debug_string(zend_bool trigger_break, const char *format, ...) /* {{{ */