Allegro backend build fail without -fpermissive #5281

Closed
opened 2022-05-04 00:56:30 +00:00 by Alessandro-Barbieri · 3 comments
Alessandro-Barbieri commented 2022-05-04 00:56:30 +00:00 (Migrated from github.com)

Version/Branch of Dear ImGui:

Version: 1.87

Back-end/Renderer/Compiler/OS

Back-ends: imgui_impl_allegro5.cpp + imgui_freetype.cpp
Compiler: gcc (Gentoo Hardened 11.2.1_p20220115 p4) 11.2.1 20220115
Operating System: Gentoo

My Issue/Question:

Build fail without -fpermissive with

FAILED: imgui/CMakeFiles/imgui_objects.dir/backends/imgui_impl_allegro5.cpp.o
/usr/bin/x86_64-pc-linux-gnu-g++ -DCIMGUI_FREETYPE=1 -I/var/tmp/portage/media-libs/imgui-1.87-r5/work/cimgui-1.87/imgui -I/var/tmp/portage/media-libs/imgui-1.87-r5/work/cimgui-1.87/imgui/backends -I/var/tmp/portage/media-libs/imgui-1.87-r5/work/cimgui-1.87/imgui/misc/freetype -I/usr/include/freetype2 -I/usr/include/SDL2 -D_GLIBCXX_ASSERTIONS -Os -pipe -march=native -fdiagnostics-color=always -frecord-gcc-switches -fexceptions -fstack-clash-protection -fcf-protection=full -fasynchronous-unwind-tables -ftree-vectorize -fplugin=annobin -Waddress -Waggressive-loop-optimizations -Warray-bounds -Wclobbered -Wdate-time -Wformat -Wformat-security -Wfree-nonheap-object -Wnonnull -Wparentheses -Wpointer-arith -Wreturn-local-addr -Wsizeof-pointer-memaccess -Wstrict-aliasing -Wuninitialized -Wunused-value -Wvolatile-register-var -Wconversion-null -DIMGUI_USE_WCHAR32 -DIMGUI_ENABLE_FREETYPE -DIMGUI_ENABLE_STB_TRUETYPE -DImTextureID=ImU64 -fPIC -MD -MT imgui/CMakeFiles/imgui_objects.dir/backends/imgui_impl_allegro5.cpp.o -MF imgui/CMakeFiles/imgui_objects.dir/backends/imgui_impl_allegro5.cpp.o.d -o imgui/CMakeFiles/imgui_objects.dir/backends/imgui_impl_allegro5.cpp.o -c /var/tmp/portage/media-libs/imgui-1.87-r5/work/cimgui-1.87/imgui/backends/imgui_impl_allegro5.cpp
/var/tmp/portage/media-libs/imgui-1.87-r5/work/cimgui-1.87/imgui/backends/imgui_impl_allegro5.cpp: In function ‘bool ImGui_ImplAllegro5_CreateDeviceObjects()’:
/var/tmp/portage/media-libs/imgui-1.87-r5/work/cimgui-1.87/imgui/backends/imgui_impl_allegro5.cpp:236:24: error: invalid conversion from ‘void*’ to ‘ImU64’ {aka ‘long long unsigned int’} [-fpermissive]
  236 |     io.Fonts->SetTexID((void*)cloned_img);
      |                        ^~~~~~~~~~~~~~~~~
      |                        |
      |                        void*
In file included from /var/tmp/portage/media-libs/imgui-1.87-r5/work/cimgui-1.87/imgui/backends/imgui_impl_allegro5.cpp:48:
**Version/Branch of Dear ImGui:** Version: 1.87 **Back-end/Renderer/Compiler/OS** Back-ends: imgui_impl_allegro5.cpp + imgui_freetype.cpp Compiler: gcc (Gentoo Hardened 11.2.1_p20220115 p4) 11.2.1 20220115 Operating System: Gentoo **My Issue/Question:** Build fail without `-fpermissive` with ``` FAILED: imgui/CMakeFiles/imgui_objects.dir/backends/imgui_impl_allegro5.cpp.o /usr/bin/x86_64-pc-linux-gnu-g++ -DCIMGUI_FREETYPE=1 -I/var/tmp/portage/media-libs/imgui-1.87-r5/work/cimgui-1.87/imgui -I/var/tmp/portage/media-libs/imgui-1.87-r5/work/cimgui-1.87/imgui/backends -I/var/tmp/portage/media-libs/imgui-1.87-r5/work/cimgui-1.87/imgui/misc/freetype -I/usr/include/freetype2 -I/usr/include/SDL2 -D_GLIBCXX_ASSERTIONS -Os -pipe -march=native -fdiagnostics-color=always -frecord-gcc-switches -fexceptions -fstack-clash-protection -fcf-protection=full -fasynchronous-unwind-tables -ftree-vectorize -fplugin=annobin -Waddress -Waggressive-loop-optimizations -Warray-bounds -Wclobbered -Wdate-time -Wformat -Wformat-security -Wfree-nonheap-object -Wnonnull -Wparentheses -Wpointer-arith -Wreturn-local-addr -Wsizeof-pointer-memaccess -Wstrict-aliasing -Wuninitialized -Wunused-value -Wvolatile-register-var -Wconversion-null -DIMGUI_USE_WCHAR32 -DIMGUI_ENABLE_FREETYPE -DIMGUI_ENABLE_STB_TRUETYPE -DImTextureID=ImU64 -fPIC -MD -MT imgui/CMakeFiles/imgui_objects.dir/backends/imgui_impl_allegro5.cpp.o -MF imgui/CMakeFiles/imgui_objects.dir/backends/imgui_impl_allegro5.cpp.o.d -o imgui/CMakeFiles/imgui_objects.dir/backends/imgui_impl_allegro5.cpp.o -c /var/tmp/portage/media-libs/imgui-1.87-r5/work/cimgui-1.87/imgui/backends/imgui_impl_allegro5.cpp /var/tmp/portage/media-libs/imgui-1.87-r5/work/cimgui-1.87/imgui/backends/imgui_impl_allegro5.cpp: In function ‘bool ImGui_ImplAllegro5_CreateDeviceObjects()’: /var/tmp/portage/media-libs/imgui-1.87-r5/work/cimgui-1.87/imgui/backends/imgui_impl_allegro5.cpp:236:24: error: invalid conversion from ‘void*’ to ‘ImU64’ {aka ‘long long unsigned int’} [-fpermissive] 236 | io.Fonts->SetTexID((void*)cloned_img); | ^~~~~~~~~~~~~~~~~ | | | void* In file included from /var/tmp/portage/media-libs/imgui-1.87-r5/work/cimgui-1.87/imgui/backends/imgui_impl_allegro5.cpp:48: ```
ocornut commented 2022-05-04 10:15:33 +00:00 (Migrated from github.com)

Could you confirm that io.Fonts->SetTexID((ImTextureID)(intptr_t)cloned_img); would fix it for you?

Could you confirm that `io.Fonts->SetTexID((ImTextureID)(intptr_t)cloned_img);` would fix it for you?
Alessandro-Barbieri commented 2022-05-04 11:29:29 +00:00 (Migrated from github.com)

Yes it worked

Yes it worked
ocornut commented 2022-05-04 13:18:51 +00:00 (Migrated from github.com)

Pushed the fix, thank you!

Pushed the fix, thank you!
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ocornut/imgui#5281
No description provided.