2017-04-30 02:27:19 +02:00
|
|
|
From: Jan Engelhardt <jengelh@inai.de>
|
|
|
|
Date: 2017-04-30 02:23:53.236493153 +0200
|
|
|
|
|
|
|
|
Stop punting the types pointers.
|
|
|
|
|
|
|
|
rsb_test_accuracy.c:117:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
|
|
|
|
RSB_NUMERICAL_TYPE_SET_ELEMENT_FROM_DOUBLE(eps,RSB_NORMWISE_BACKWARD_ERROR_TOLERANCE,typecode);
|
|
|
|
---
|
|
|
|
rsb_types.h | 8 ++++----
|
|
|
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
|
2023-02-06 16:57:25 +01:00
|
|
|
Index: librsb-1.3.0.2/rsb_types.h
|
2017-04-30 02:27:19 +02:00
|
|
|
===================================================================
|
2023-02-06 16:57:25 +01:00
|
|
|
--- librsb-1.3.0.2.orig/rsb_types.h
|
|
|
|
+++ librsb-1.3.0.2/rsb_types.h
|
|
|
|
@@ -379,10 +379,10 @@ extern "C" {
|
2017-04-30 02:27:19 +02:00
|
|
|
switch(TYPE) \
|
|
|
|
{ \
|
|
|
|
/* supported (double,float,float complex,double complex) */ \
|
|
|
|
- case RSB_NUMERICAL_TYPE_DOUBLE : *(double*)(DST)=(double)(DSRC); break; \
|
|
|
|
- case RSB_NUMERICAL_TYPE_FLOAT : *(float*)(DST)=(float)(DSRC); break; \
|
|
|
|
- case RSB_NUMERICAL_TYPE_FLOAT_COMPLEX : *(float complex*)(DST)=(float complex)(DSRC); break; \
|
|
|
|
- case RSB_NUMERICAL_TYPE_DOUBLE_COMPLEX : *(double complex*)(DST)=(double complex)(DSRC); break; \
|
|
|
|
+ case RSB_NUMERICAL_TYPE_DOUBLE : { double z = (DSRC); memcpy(DST, &z, sizeof(z)); break; } \
|
|
|
|
+ case RSB_NUMERICAL_TYPE_FLOAT : { float z = (DSRC); memcpy(DST, &z, sizeof(z)); break; } \
|
|
|
|
+ case RSB_NUMERICAL_TYPE_FLOAT_COMPLEX : { float complex z = (DSRC); memcpy(DST, &z, sizeof(z)); break; } \
|
|
|
|
+ case RSB_NUMERICAL_TYPE_DOUBLE_COMPLEX : { double complex z = (DSRC); memcpy(DST, &z, sizeof(z)); break; } \
|
|
|
|
/* unsupported type */ \
|
|
|
|
default : ; \
|
|
|
|
} \
|