diff options
author | Jakub Zelenka <bukka@php.net> | 2015-02-08 14:08:31 +0000 |
---|---|---|
committer | Jakub Zelenka <bukka@php.net> | 2015-02-08 14:08:31 +0000 |
commit | f2825042b4dd9aa941a080c027f15f41c1b9e4bc (patch) | |
tree | 2e7d97c1dfd4aeabb506ffdd206a612b82adea8d /Zend/zend.c | |
parent | 0a81f9a0bd36deac8707949acbcf92f612b60e8e (diff) | |
parent | ce9f52adcdfb19f70dc4274f3587e58ac07995bd (diff) | |
download | php-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.c | 20 |
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, ...) /* {{{ */ |