File tree Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change 2828#include  <stdint.h> 
2929
3030#ifdef  HAVE_IEEEFP_H 
31- #include  <ieeefp.h> 
31+ /** 
32+  * On FreeBSD with ubsan/clang we get the following: 
33+  * `/usr/include/machine/ieeefp.h:161:17: runtime error: left shift of negative value -1` 
34+  * `SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /usr/include/machine/ieeefp.h:161:17` 
35+  * ... 
36+  * `_newcw |= (~_m << FP_MSKS_OFF) & FP_MSKS_FLD;` 
37+ **/ 
38+ # if  __has_feature (undefined_behavior_sanitizer ) &&  defined(__FreeBSD__ ) &&  defined(__clang__ )
39+ #  pragma  clang attribute push (__attribute__((no_sanitize("undefined"))), apply_to=function)
40+ # endif 
41+ # include  <ieeefp.h> 
42+ # if  __has_feature (undefined_behavior_sanitizer ) &&  defined(__FreeBSD__ ) &&  defined(__clang__ )
43+ #  pragma  clang attribute pop
44+ # endif 
3245#endif 
3346
3447#include  "zend_portability.h" 
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments