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