|
|
Home » Community » U++ community news and announcements » 32 bit wchar - for now in branch
|
|
|
Re: 32 bit wchar - for now in branch [message #57663 is a reply to message #57648] |
Mon, 15 November 2021 11:59 |
Tom1
Messages: 1212 Registered: March 2007
|
Senior Contributor |
|
|
Hi Mirek,
Before merge... It seems there are issues with MSBT19x64 compilation here:
C:\upp-16111\ultimatepp-wchar\uppsrc\Draw\FontWin32.cpp(157): error C2446: ':': no conversion from 'int' to 'Upp::Vector<Upp::char16>'
C:\upp-16111\ultimatepp-wchar\uppsrc\Draw\FontWin32.cpp(157): note: Constructor for class 'Upp::Vector<Upp::char16>' is declared 'explicit'
C:\upp-16111\ultimatepp-wchar\uppsrc\Draw\FontWin32.cpp(157): error C2660: 'EnumFontFamiliesW': function does not take 3 arguments
And here:
C:\upp-16111\ultimatepp-wchar\uppsrc\Core\LocalProcess.cpp(85): error C2446: ':': no conversion from 'int' to 'Upp::Vector<Upp::char16>'
C:\upp-16111\ultimatepp-wchar\uppsrc\Core\LocalProcess.cpp(85): note: Constructor for class 'Upp::Vector<Upp::char16>' is declared 'explicit'
C:\upp-16111\ultimatepp-wchar\uppsrc\Core\LocalProcess.cpp(85): error C2660: 'CreateProcessW': function does not take 9 arguments
Additionally, there are a whole bunch of warnings on MSBT19x64. I did not try MSBT19x32 yet...
Best regards,
Tom
EDIT: PS. I updated to current git source today before testing.
[Updated on: Mon, 15 November 2021 12:01] Report message to a moderator
|
|
|
|
Re: 32 bit wchar - for now in branch [message #57665 is a reply to message #57664] |
Mon, 15 November 2021 15:55 |
Tom1
Messages: 1212 Registered: March 2007
|
Senior Contributor |
|
|
Hi Mirek,
Thanks! Now it compiles without any errors. Just some warnings left with MSBT19x64 and MSBT19:
Utf.cpp
C:\upp-16111\ultimatepp-wchar\uppsrc\Core\Utf.cpp(136): warning C4927: illegal conversion; more than one user-defined conversion has been implicitly applied
C:\upp-16111\ultimatepp-wchar\uppsrc\Core\Utf.cpp(136): note: while calling the constructor 'Upp::WString::WString(const Upp::wchar *)'
C:\upp-16111\ultimatepp-wchar\uppsrc\Core\String.h(831): note: see declaration of 'Upp::WString::WString'
C:\upp-16111\ultimatepp-wchar\uppsrc\Core\Utf.cpp(156): warning C4927: illegal conversion; more than one user-defined conversion has been implicitly applied
C:\upp-16111\ultimatepp-wchar\uppsrc\Core\Utf.cpp(156): note: while calling the constructor 'Upp::WString::WString(const Upp::wchar *)'
C:\upp-16111\ultimatepp-wchar\uppsrc\Core\String.h(831): note: see declaration of 'Upp::WString::WString'
I will run some more tests tomorrow.
Best regards,
Tom
|
|
|
|
Re: 32 bit wchar - for now in branch [message #57668 is a reply to message #57666] |
Tue, 16 November 2021 08:28 |
Tom1
Messages: 1212 Registered: March 2007
|
Senior Contributor |
|
|
Hi Mirek,
Success there: Now MSBT19x64 and MSBT19 compile without errors and warnings. (The difference between our compiler environments may be that I just updated my MSBT yesterday to its latest version.)
Is MSBT17x64 and MSBT17 still relevant? If so, there are errors.
The 32-bit CLANG compilation on Windows fails with this error:
----- ide/Java ( GUI CLANG BLITZ WIN32 ) (17 / 42)
BLITZ: JavaVersion.cpp Java.cpp Jdk.cpp
In file included from C:/upp-16111/out/uppsrc/ide/Debuggers/CLANG.Blitz.Gui\ide/Debuggers$blitz.cpp:84:
c:\upp-16111\ultimatepp-wchar\uppsrc\ide\Debuggers\Sym.cpp:446:3: error: no matching function for call to 'SymEnumTypes'
SymEnumTypes(hProcess, current_modbase, [](PSYMBOL_INFO pSym, ULONG SymbolSize, PVOID UserContext)->int {
^~~~~~~~~~~~
C:\upp-16111\bin\clang\include\psdk_inc/_dbg_common.h:1005:20: note: candidate function not viable: no known conversion from '(lambda at c:\upp-16111\ultimatepp-wchar\uppsrc\ide\Debuggers\Sym.cpp:446:43)' to 'PSYM_ENUMERATESYMBOLS_CALLBACK' (
aka 'int (*)(_SYMBOL_INFO *, unsigned long, void *) __attribute__((stdcall))') for 3rd argument
WINBOOL IMAGEAPI SymEnumTypes(HANDLE hProcess,ULONG64 BaseOfDll,PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,PVOID UserContext);
^
Best regards,
Tom
|
|
|
Re: 32 bit wchar - for now in branch [message #57669 is a reply to message #57668] |
Tue, 16 November 2021 08:35 |
Tom1
Messages: 1212 Registered: March 2007
|
Senior Contributor |
|
|
In more detail, MSBT17 builds OK but MSBT17x64 fails on:
c:\upp-16111\ultimatepp-wchar\uppsrc\core\SIMD_SSE2.h(8): error C2668: 'Upp::_mm_storeu_ps': ambiguous call to overloaded function
c:/program files (x86)/microsoft visual studio/2017/buildtools/vc/tools/msvc/14.16.27023/include\intrin.h(853): note: could be 'void Upp::_mm_storeu_ps(float *,__m128)'
c:/program files (x86)/microsoft visual studio/2017/buildtools/vc/tools/msvc/14.16.27023/include\xmmintrin.h(345): note: or 'void _mm_storeu_ps(float *,__m128)' [found using argument-dependent lookup]
c:\upp-16111\ultimatepp-wchar\uppsrc\core\SIMD_SSE2.h(8): note: while trying to match the argument list '(float *, __m128)'
c:\upp-16111\ultimatepp-wchar\uppsrc\core\SIMD_SSE2.h(9): error C2668: 'Upp::_mm_store_sd': ambiguous call to overloaded function
c:/program files (x86)/microsoft visual studio/2017/buildtools/vc/tools/msvc/14.16.27023/include\intrin.h(842): note: could be 'void Upp::_mm_store_sd(double *,__m128d)'
c:/program files (x86)/microsoft visual studio/2017/buildtools/vc/tools/msvc/14.16.27023/include\emmintrin.h(203): note: or 'void _mm_store_sd(double *,__m128d)' [found using argument-dependent lookup]
c:\upp-16111\ultimatepp-wchar\uppsrc\core\SIMD_SSE2.h(9): note: while trying to match the argument list '(double *, __m128d)'
...
And there are quite a few of these places in SIMD_SSE2.h with MSBT17x64. The same issue was present with MSBT19x64 until I updated the compiler, so this must be a compiler bug that needs bypassing.
Best regards,
Tom
|
|
|
Re: 32 bit wchar - for now in branch [message #57670 is a reply to message #57669] |
Tue, 16 November 2021 09:05 |
Tom1
Messages: 1212 Registered: March 2007
|
Senior Contributor |
|
|
Another strange thing happened: OpenGL has stopped working. E.g. reference/OpenGL no longer works with this, while at 16111 it was still fine.
Best regards,
Tom
EDIT: The current git version works too. It's just this wchar version that does not show OpenGL content.
[Updated on: Tue, 16 November 2021 09:25] Report message to a moderator
|
|
|
|
|
|
|
|
|
|
Re: 32 bit wchar - for now in branch [message #57688 is a reply to message #57687] |
Fri, 19 November 2021 10:48 |
Tom1
Messages: 1212 Registered: March 2007
|
Senior Contributor |
|
|
Hi Mirek,
I have (mostly) tested my programs here. Everything compiles and everything at least seems to work just like they did before on Windows side.
However, on Linux Mint I just tried to compile reference/OpenGL and it failed with the following error:1 error generated.
In file included from /home/tom/ultimatepp-wchar/uppsrc/CtrlCore/CtrlCoreInit.cpp:1:
In file included from /home/tom/ultimatepp-wchar/uppsrc/CtrlCore/CtrlCore.h:4:
In file included from /home/tom/ultimatepp-wchar/uppsrc/RichText/RichText.h:4:
In file included from /home/tom/ultimatepp-wchar/uppsrc/Draw/Draw.h:6:
In file included from /home/tom/ultimatepp-wchar/uppsrc/Core/Core.h:66:
/usr/lib/llvm-10/lib/clang/10.0.0/include/intrin.h:12:15: fatal error: 'intrin.h' file not found
#include_next <intrin.h>
^~~~~~~~~~
Best regards,
Tom
|
|
|
|
|
Goto Forum:
Current Time: Sat May 04 16:12:02 CEST 2024
Total time taken to generate the page: 0.01996 seconds
|
|
|