@@ -42,7 +42,10 @@ typedef struct ddtrace_error_handling ddtrace_error_handling;
4242
4343struct ddtrace_sandbox_backup {
4444 ddtrace_error_handling eh ;
45- zend_object * exception , * prev_exception ;
45+ zend_object * exception ;
46+ #if PHP_VERSION_ID < 80600
47+ zend_object * prev_exception ;
48+ #endif
4649};
4750typedef struct ddtrace_sandbox_backup ddtrace_sandbox_backup ;
4851
@@ -70,12 +73,19 @@ inline void ddtrace_maybe_clear_exception(void) {
7073}
7174
7275inline ddtrace_sandbox_backup ddtrace_sandbox_begin (void ) {
73- ddtrace_sandbox_backup backup = {.exception = NULL , .prev_exception = NULL };
76+ ddtrace_sandbox_backup backup = {
77+ .exception = NULL ,
78+ #if PHP_VERSION_ID < 80600
79+ .prev_exception = NULL ,
80+ #endif
81+ };
7482 if (EG (exception )) {
7583 backup .exception = EG (exception );
76- backup .prev_exception = EG (prev_exception );
7784 EG (exception ) = NULL ;
85+ #if PHP_VERSION_ID < 80600
86+ backup .prev_exception = EG (prev_exception );
7887 EG (prev_exception ) = NULL ;
88+ #endif
7989 }
8090 ddtrace_backup_error_handling (& backup .eh , EH_THROW );
8191 return backup ;
@@ -87,7 +97,9 @@ inline void ddtrace_sandbox_end(ddtrace_sandbox_backup *backup) {
8797
8898 if (backup -> exception ) {
8999 EG (exception ) = backup -> exception ;
100+ #if PHP_VERSION_ID < 80600
90101 EG (prev_exception ) = backup -> prev_exception ;
102+ #endif
91103 zend_throw_exception_internal (NULL );
92104 }
93105}
0 commit comments