[PATCH] msvcp120: Avoid type conversion warnings in test_tr2_sys__dir_operation.

Gerald Pfeifer gerald at pfeifer.com
Sun May 3 09:13:01 CDT 2020


GCC 10 warns

  msvcp120.c:1777:11: warning: overflow in conversion from 'enum file_type'
  to 'int' changes value from 'type = 3735928559' to '-559038737' 
  msvcp120.c:1807:11: warning: overflow in conversion from 'enum file_type'
  to 'int' changes value from 'type = 3735928559' to '-559038737' 
  msvcp120.c:1817:11: warning: overflow in conversion from 'enum file_type'
  to 'int' changes value from 'type = 3735928559' to '-559038737' 

where 3735928559 is 0xdeadbeef.

This happens since first this variable is assigned to an enum and
that then to an int, and GCC diagnoses the latter as an overflow
(from signed to unsigned).

Assigning a hex constant does not trigger, so simply break out those
two assignments.

Gerald

Signed-off-by: Gerald Pfeifer <gerald at pfeifer.com>
---
 dlls/msvcp120/tests/msvcp120.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/dlls/msvcp120/tests/msvcp120.c b/dlls/msvcp120/tests/msvcp120.c
index 7a382ac6fa..3cfabaa7ca 100644
--- a/dlls/msvcp120/tests/msvcp120.c
+++ b/dlls/msvcp120/tests/msvcp120.c
@@ -1774,7 +1774,8 @@ static void test_tr2_sys__dir_operation(void)
 
     memset(first_file_name, 0xff, MAX_PATH);
     memset(dest, 0, MAX_PATH);
-    err = type = 0xdeadbeef;
+    err = 0xdeadbeef;
+    type = 0xdeadbeef;
     result_handle = NULL;
     result_handle = p_tr2_sys__Open_dir(first_file_name, "tr2_test_dir", &err, &type);
     ok(result_handle != NULL, "tr2_sys__Open_dir(): expect: not NULL, got %p\n", result_handle);
@@ -1804,7 +1805,8 @@ static void test_tr2_sys__dir_operation(void)
     ok(num_of_other_files == 0, "found %d other files\n", num_of_other_files);
 
     memset(first_file_name, 0xff, MAX_PATH);
-    err = type = 0xdeadbeef;
+    err = 0xdeadbeef;
+    type = 0xdeadbeef;
     result_handle = file;
     result_handle = p_tr2_sys__Open_dir(first_file_name, "not_exist", &err, &type);
     ok(result_handle == NULL, "tr2_sys__Open_dir(): expect: NULL, got %p\n", result_handle);
@@ -1814,7 +1816,8 @@ static void test_tr2_sys__dir_operation(void)
 
     CreateDirectoryA("empty_dir", NULL);
     memset(first_file_name, 0xff, MAX_PATH);
-    err = type = 0xdeadbeef;
+    err = 0xdeadbeef;
+    type = 0xdeadbeef;
     result_handle = file;
     result_handle = p_tr2_sys__Open_dir(first_file_name, "empty_dir", &err, &type);
     ok(result_handle == NULL, "tr2_sys__Open_dir(): expect: NULL, got %p\n", result_handle);
-- 
2.25.0



More information about the wine-devel mailing list