Commit 6cf38369d2

LemonBoy <thatlemon@gmail.com>
2019-02-17 14:07:14
Silence gcc8 class-memaccess warnings
Use an explicit cast to tell gcc we know what we're doing.
1 parent 8d2a902
Changed files (2)
src/translate_c.cpp
@@ -129,17 +129,17 @@ static AstNode *trans_bool_expr(Context *c, ResultUsed result_used, TransScope *
 
 static ZigClangSourceLocation bitcast(clang::SourceLocation src) {
     ZigClangSourceLocation dest;
-    memcpy(&dest, &src, sizeof(ZigClangSourceLocation));
+    memcpy(&dest, static_cast<void *>(&src), sizeof(ZigClangSourceLocation));
     return dest;
 }
 static ZigClangQualType bitcast(clang::QualType src) {
     ZigClangQualType dest;
-    memcpy(&dest, &src, sizeof(ZigClangQualType));
+    memcpy(&dest, static_cast<void *>(&src), sizeof(ZigClangQualType));
     return dest;
 }
 static clang::QualType bitcast(ZigClangQualType src) {
     clang::QualType dest;
-    memcpy(&dest, &src, sizeof(ZigClangQualType));
+    memcpy(&dest, static_cast<void *>(&src), sizeof(ZigClangQualType));
     return dest;
 }
 
src/zig_clang.cpp
@@ -140,24 +140,24 @@ static_assert((clang::UnaryOperatorKind)ZigClangUO_Real == clang::UO_Real, "");
 static_assert(sizeof(ZigClangSourceLocation) == sizeof(clang::SourceLocation), "");
 static ZigClangSourceLocation bitcast(clang::SourceLocation src) {
     ZigClangSourceLocation dest;
-    memcpy(&dest, &src, sizeof(ZigClangSourceLocation));
+    memcpy(&dest, static_cast<void *>(&src), sizeof(ZigClangSourceLocation));
     return dest;
 }
 static clang::SourceLocation bitcast(ZigClangSourceLocation src) {
     clang::SourceLocation dest;
-    memcpy(&dest, &src, sizeof(ZigClangSourceLocation));
+    memcpy(&dest, static_cast<void *>(&src), sizeof(ZigClangSourceLocation));
     return dest;
 }
 
 static_assert(sizeof(ZigClangQualType) == sizeof(clang::QualType), "");
 static ZigClangQualType bitcast(clang::QualType src) {
     ZigClangQualType dest;
-    memcpy(&dest, &src, sizeof(ZigClangQualType));
+    memcpy(&dest, static_cast<void *>(&src), sizeof(ZigClangQualType));
     return dest;
 }
 static clang::QualType bitcast(ZigClangQualType src) {
     clang::QualType dest;
-    memcpy(&dest, &src, sizeof(ZigClangQualType));
+    memcpy(&dest, static_cast<void *>(&src), sizeof(ZigClangQualType));
     return dest;
 }