[PATCH] msvcp120: Avoid type conversion warnings in test_tr2_sys__dir_operation.
Gerald Pfeifer
gerald at pfeifer.com
Thu Nov 19 16:39:55 CST 2020
This patch is obsolete now since a month later the essentially identical
commit d276cf7112aa15aac102b03e519cc133da8ec1c1
Author: Rémi Bernon <rbernon at codeweavers.com>
Date: Wed Jun 3 11:50:35 2020 +0200
msvcp120/tests: Fix signed integral cast warning.
First cast to int, then to enum file_type.
Reported by MinGW GCC 10 with -Woverflow.
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
Gerald
On Sun, 3 May 2020, Gerald Pfeifer wrote:
> 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);
More information about the wine-devel
mailing list