[Groonga-commit] groonga/groonga at 4e752e7 [master] test: copy bytes into an uint64_t for strict-aliasing rules

Back to archive index

Susumu Yata null+****@clear*****
Fri Feb 9 12:10:30 JST 2018


Susumu Yata	2018-02-09 12:10:30 +0900 (Fri, 09 Feb 2018)

  New Revision: 4e752e75e508932dcd37e09e6d02d00ad7e8b4f7
  https://github.com/groonga/groonga/commit/4e752e75e508932dcd37e09e6d02d00ad7e8b4f7

  Message:
    test: copy bytes into an uint64_t for strict-aliasing rules
    
    This change suppresses the following warning (gcc):
      test-table-patricia-trie-cursor.c: In function ‘geo_byte_parse’:
      test-table-patricia-trie-cursor.c:397:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
           grn_ntog((uint8_t *)(&geo_point), geo_byte, sizeof(grn_geo_point));
           ^

  Modified files:
    test/unit/core/test-table-patricia-trie-cursor.c

  Modified: test/unit/core/test-table-patricia-trie-cursor.c (+3 -1)
===================================================================
--- test/unit/core/test-table-patricia-trie-cursor.c    2018-02-09 08:47:26 +0900 (ab661b33c)
+++ test/unit/core/test-table-patricia-trie-cursor.c    2018-02-09 12:10:30 +0900 (388162fe8)
@@ -377,6 +377,7 @@ geo_byte_parse(const gchar *geo_byte_string)
 {
     gint i = 0;
     uint8_t geo_byte[sizeof(grn_geo_point)];
+    uint64_t geo_uint;
     grn_geo_point geo_point;
 
     while (geo_byte_string[0]) {
@@ -394,7 +395,8 @@ geo_byte_parse(const gchar *geo_byte_string)
       }
       geo_byte_string++;
     }
-    grn_ntog((uint8_t *)(&geo_point), geo_byte, sizeof(grn_geo_point));
+    grn_memcpy(&geo_uint, geo_byte, sizeof(grn_geo_point));
+    grn_ntog((uint8_t *)(&geo_point), &geo_uint, sizeof(grn_geo_point));
     return cut_take_printf("%dx%d",
                            geo_point.latitude,
                            geo_point.longitude);
-------------- next part --------------
HTML����������������������������...
URL: https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20180209/020e4cde/attachment.htm 



More information about the Groonga-commit mailing list
Back to archive index