On Thu, Jul 09, 2015 at 12:00:29 +0200, Thomas Schwinge wrote:
> I noticed that -- at least with current versions of GCC -- there are
> several compiler diagnostics displayed during the build. It would be
> nice to get these addressed -- as applicable, presumably in the Intel
> upstream version, and then a new import be done into GCC? For example, I
> noticed the following changes in my build logs (not a complete list):
>
> {+[...]/source-gcc/liboffloadmic/runtime/emulator/coi_device.cpp:112:28:
> warning: invalid suffix on literal; C++11 requires a space between literal
> and string macro [-Wliteral-suffix]+}
> {+ sprintf (pipe_host_path, "%s"PIPE_HOST_PATH, mic_dir);+}
> {+ ^+}
> {+[...]/source-gcc/liboffloadmic/runtime/emulator/coi_device.cpp:113:30:
> warning: invalid suffix on literal; C++11 requires a space between literal
> and string macro [-Wliteral-suffix]+}
> {+ sprintf (pipe_target_path, "%s"PIPE_TARGET_PATH, mic_dir);+}
> {+ ^+}
>
> {+[...]/source-gcc/liboffloadmic/runtime/emulator/coi_host.cpp:892:24:
> warning: invalid suffix on literal; C++11 requires a space between literal
> and string macro [-Wliteral-suffix]+}
> {+ sprintf (pipes_path, "%s"PIPES_PATH, eng->dir);+}
> {+ ^+}
> {+[...]/source-gcc/liboffloadmic/runtime/emulator/coi_host.cpp:903:28:
> warning: invalid suffix on literal; C++11 requires a space between literal
> and string macro [-Wliteral-suffix]+}
> {+ sprintf (pipe_host_path, "%s"PIPE_HOST_PATH, eng->dir);+}
> {+ ^+}
> {+[...]/source-gcc/liboffloadmic/runtime/emulator/coi_host.cpp:904:30:
> warning: invalid suffix on literal; C++11 requires a space between literal
> and string macro [-Wliteral-suffix]+}
> {+ sprintf (pipe_target_path, "%s"PIPE_TARGET_PATH, eng->dir);+}
> {+ ^+}
>
> [...]/source-gcc/liboffloadmic/runtime/offload_host.cpp:107:30: warning:
> [-deprecated conversion from-]{+ISO C++ forbids converting a+} string
> constant to 'char*' [-Wwrite-strings]
> static char *timer_envname = "H_TIME";
> ^
>
> [...]/source-gcc/liboffloadmic/runtime/offload_myo_host.cpp: In function
> 'void __intel_cilk_for_32_offload(int, void (*)(void*, void*), int, void*,
> void*, unsigned int, unsigned int)':
> [...]/source-gcc/liboffloadmic/runtime/offload_myo_host.cpp:762:55:
> warning: [-deprecated conversion from-]{+ISO C++ forbids converting a+}
> string constant to 'char*' [-Wwrite-strings]
> args, target_number)
> ^
> [...]/source-gcc/liboffloadmic/runtime/offload_myo_host.cpp: In function
> 'void __intel_cilk_for_64_offload(int, void (*)(void*, void*), int, void*,
> void*, uint64_t, uint64_t)':
> [...]/source-gcc/liboffloadmic/runtime/offload_myo_host.cpp:815:49:
> warning: [-deprecated conversion from-]{+ISO C++ forbids converting a+}
> string constant to 'char*' [-Wwrite-strings]
> target_number)
> ^
>
> [...]/source-gcc/liboffloadmic/runtime/offload_orsl.cpp:39:33: warning:
> [-deprecated conversion from-]{+ISO C++ forbids converting a+} string
> constant to 'ORSLTag {aka char*}' [-Wwrite-strings]
> static const ORSLTag my_tag = "Offload";
Yeah, they are already fixed in the upstream version. I'll prepare an update
for GCC soon.
-- Ilya