U++ framework
Do not panic. Ask here before giving up.

Home » Community » U++ community news and announcements » Gearing up for 2022.1 release...
Gearing up for 2022.1 release... [message #58145] Thu, 03 March 2022 09:29 Go to next message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
IME support took longer than expected, but with that done, I think it is time for another release.

Current list of major changes:

- sizeof(wchar) is changed to 4 (32 bits) to support non BMP unicode characters

  This might bring some incompatibilities in the code that expects wchar to be 16 bit, which
  escpecially involves dealing with Win32 (and to lesser extend MacOS) APIs, so if your application
  is doing that, please check all instances of WCHAR (UniChar on MacOS) or even wchar
  especially type casts.

  To support host APIs, char16 is introduced (but there is no 16-bit String varian).

  Use ToSystemCharsetW, FromSystemCharsetW to convert texts to Win32 API. 

- Support of drawing non-BMP characters in GUI
- Vastly improved character font replacement code (when drawing characters missing with requested font, replacement font is used)
- Last instances of Win32 ANSI calls (those ending with A) are removed
- UTF handling routines are refactored and their's naming is unified
- RTF is now being able to handle non-BMP characters (RTF is used as clipboard format for RichText)
- Improved input method (aka preedit in Linux, aka marked text in MacOS) support

Other minor changes:

- fixed TryRealloc issue
- improved MemoryCheck
- Removed MemoryAlloc48/MemoryFree48
- In theide Background parsing should less often cause delays in the main thread

Win32 release:

- updated clang to actual version (llvm14)
- zlib updated to 1.2.12
- openssl updated to 1.1.1n
- jpeg updated to 9e


If you have any issue to fix before the release, please post it here.

[Updated on: Tue, 05 April 2022 17:53]

Report message to a moderator

Re: Gearing up for 2022.1 release... [message #58147 is a reply to message #58145] Thu, 03 March 2022 11:07 Go to previous messageGo to next message
pvictor is currently offline  pvictor
Messages: 75
Registered: December 2015
Member
Hello,

Is it possible to add ExecuteSelectDir() method to FileSelNative class?

Best regards,
Victor
Re: Gearing up for 2022.1 release... [message #58148 is a reply to message #58147] Thu, 03 March 2022 11:13 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
pvictor wrote on Thu, 03 March 2022 11:07
Hello,

Is it possible to add ExecuteSelectDir() method to FileSelNative class?

Best regards,
Victor


Probably, do we have implementation for all 3 platforms?

Mirek
Re: Gearing up for 2022.1 release... [message #58149 is a reply to message #58148] Thu, 03 March 2022 11:21 Go to previous messageGo to next message
pvictor is currently offline  pvictor
Messages: 75
Registered: December 2015
Member
mirek wrote on Thu, 03 March 2022 15:13
pvictor wrote on Thu, 03 March 2022 11:07
Hello,

Is it possible to add ExecuteSelectDir() method to FileSelNative class?

Best regards,
Victor


Probably, do we have implementation for all 3 platforms?

Mirek


But it is implemented somehow in FileSel for all platforms.

Victor
Re: Gearing up for 2022.1 release... [message #58153 is a reply to message #58149] Thu, 03 March 2022 16:11 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
pvictor wrote on Thu, 03 March 2022 11:21
mirek wrote on Thu, 03 March 2022 15:13
pvictor wrote on Thu, 03 March 2022 11:07
Hello,

Is it possible to add ExecuteSelectDir() method to FileSelNative class?

Best regards,
Victor


Probably, do we have implementation for all 3 platforms?

Mirek


But it is implemented somehow in FileSel for all platforms.

Victor


How is that supposed to help? Smile

Mirek
Re: Gearing up for 2022.1 release... [message #58157 is a reply to message #58153] Fri, 04 March 2022 05:34 Go to previous messageGo to next message
pvictor is currently offline  pvictor
Messages: 75
Registered: December 2015
Member
mirek wrote on Thu, 03 March 2022 20:11


How is that supposed to help? Smile

Mirek


It doesn't help, you are right.

Directory selection must be in all native APIs:
Linux: gtk_file_chooser_dialog_new(..., GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, ...);
Windows: SHBrowseForFolderA(...);
Mac: NSOpenPanel can choose a directory.

Victor
Re: Gearing up for 2022.1 release... [message #58160 is a reply to message #58145] Fri, 04 March 2022 21:09 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 1118
Registered: September 2012
Location: Poland, Kraków
Senior Contributor
Hello Mirek,

We need this (GitHub PR) UppHub improvements. It checks for git and adds git dependency.

Klugier


U++ - one framework to rule them all.
Re: Gearing up for 2022.1 release... [message #58164 is a reply to message #58157] Sun, 06 March 2022 16:13 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
pvictor wrote on Fri, 04 March 2022 05:34
mirek wrote on Thu, 03 March 2022 20:11


How is that supposed to help? Smile

Mirek


It doesn't help, you are right.

Directory selection must be in all native APIs:
Linux: gtk_file_chooser_dialog_new(..., GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, ...);
Windows: SHBrowseForFolderA(...);
Mac: NSOpenPanel can choose a directory.

Victor


OK, not too much happy about this late new feature, but done... Pls check.
Re: Gearing up for 2022.1 release... [message #58166 is a reply to message #58160] Sun, 06 March 2022 20:51 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
Klugier wrote on Fri, 04 March 2022 21:09
Hello Mirek,

We need this (GitHub PR) UppHub improvements. It checks for git and adds git dependency.

Klugier


OK; I have fixed English in that Excalamtion...

Mirek
Re: Gearing up for 2022.1 release... [message #58167 is a reply to message #58166] Sun, 06 March 2022 21:02 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 1118
Registered: September 2012
Location: Poland, Kraków
Senior Contributor
Hello Mirek,

Sure. Thanks for applying!

Klugier


U++ - one framework to rule them all.
Re: Gearing up for 2022.1 release... [message #58173 is a reply to message #58164] Mon, 07 March 2022 14:08 Go to previous messageGo to next message
pvictor is currently offline  pvictor
Messages: 75
Registered: December 2015
Member
mirek wrote on Sun, 06 March 2022 20:13

OK, not too much happy about this late new feature, but done... Pls check.


I've checked it on Linux.
It works OK.
Thank you.

Victor
Re: Gearing up for 2022.1 release... [message #58181 is a reply to message #58173] Wed, 09 March 2022 10:18 Go to previous messageGo to next message
pvictor is currently offline  pvictor
Messages: 75
Registered: December 2015
Member
pvictor wrote on Mon, 07 March 2022 18:08
mirek wrote on Sun, 06 March 2022 20:13

OK, not too much happy about this late new feature, but done... Pls check.


I've checked it on Linux.
It works OK.
Thank you.

Victor


FileSelNative works fine both in Linux and Windows.
However the public interfaces aren't the same:
           Windows                                                Linux

void Serialize(Stream& s);                              
void New();                                             
bool IsNew() const;                                     

bool Execute(bool open, const char *title = NULL);      bool Execute(bool open, const char *title = NULL);
bool ExecuteOpen(const char *title = NULL);             bool ExecuteOpen(const char *title = NULL);
bool ExecuteSaveAs(const char *title = NULL);           bool ExecuteSaveAs(const char *title = NULL);
bool ExecuteSelectDir(const char *title = NULL);        bool ExecuteSelectDir(const char *title = NULL);
String Get() const;                                     String Get() const;
void Set(const String& s);                              void Set(const String& s);
operator String() const;                                operator String() const;
void operator=(const String& s);                        void operator=(const String& s);
String operator~() const;                               String operator~() const;
void operator<<=(const String& s);                      void operator<<=(const String& s);
int GetCount() const;                                   int GetCount() const;
const String& operator[](int i) const;                  const String& operator[](int i) const;

bool GetReadOnly() const;                              
String GetActiveDir() const;                            

FileSelNative& Type(const char *name, const char *ext); FileSelNative& Type(const char *name, const char *ext);
FileSelNative& AllFilesType();                          FileSelNative& AllFilesType();
FileSelNative& ActiveDir(const String& dir);            FileSelNative& ActiveDir(const String& dir);
FileSelNative& ActiveType(int i);                       FileSelNative& ActiveType(int i);

FileSelNative& DefaultExt(const char *ext);             

FileSelNative& Multi(bool b = true);                    FileSelNative& Multi(bool b = true);

FileSelNative& ReadOnlyOption(bool b = true);           

FileSelNative& Asking(bool b = true);                   FileSelNative& Asking(bool b = true);
FileSelNative& NoAsking();                              FileSelNative& NoAsking();

                                                        FileSelNative& ShowHidden(bool b = true);



Best regards,
Victor
Re: Gearing up for 2022.1 release... [message #58182 is a reply to message #58145] Fri, 11 March 2022 12:35 Go to previous messageGo to next message
Tom1
Messages: 1319
Registered: March 2007
Ultimate Contributor
Hi,

I just tried to do a fresh install of the current nightly on a clean Raspberry Pi 4 system. I cannot seem to get the dependencies right. First it was package 'fontconfig' but I seem to end up in a complicated dependency mess that cannot be solved.

The OS is the latest Raspbian OS (11 bullseye) updated to date.

Does anybody have a similar setup to test this and possibly solve the issue.

Thanks and best regards,

Tom
Re: Gearing up for 2022.1 release... [message #58183 is a reply to message #58182] Fri, 11 March 2022 12:42 Go to previous messageGo to next message
Tom1
Messages: 1319
Registered: March 2007
Ultimate Contributor
Hi,

Under Windows, compiling with 'MSBT22x64 Release' I get:
C:\upp-git\upp.src\uppsrc\Draw\FontCR.cpp(440): warning C4244: 'argument': conversion from 'T' to 'int', possible loss of data
        with
        [
            T=double
        ]


Best regards,

Tom
Re: Gearing up for 2022.1 release... [message #58188 is a reply to message #58183] Thu, 17 March 2022 13:23 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
Tom1 wrote on Fri, 11 March 2022 12:42
Hi,

Under Windows, compiling with 'MSBT22x64 Release' I get:
C:\upp-git\upp.src\uppsrc\Draw\FontCR.cpp(440): warning C4244: 'argument': conversion from 'T' to 'int', possible loss of data
        with
        [
            T=double
        ]


Best regards,

Tom


Hopefully fixed.
Re: Gearing up for 2022.1 release... [message #58189 is a reply to message #58188] Thu, 17 March 2022 14:32 Go to previous messageGo to next message
Tom1
Messages: 1319
Registered: March 2007
Ultimate Contributor
Hi Mirek,

Thanks!

Best regards,

Tom
Re: Gearing up for 2022.1 release... [message #58197 is a reply to message #58182] Sat, 19 March 2022 10:39 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
Tom1 wrote on Fri, 11 March 2022 12:35
Hi,

I just tried to do a fresh install of the current nightly on a clean Raspberry Pi 4 system. I cannot seem to get the dependencies right. First it was package 'fontconfig' but I seem to end up in a complicated dependency mess that cannot be solved.

The OS is the latest Raspbian OS (11 bullseye) updated to date.



Can you give me download link? (Just to be 100% sure I am testing the same thing).

Mirek
Re: Gearing up for 2022.1 release... [message #58198 is a reply to message #58197] Sat, 19 March 2022 11:38 Go to previous messageGo to next message
Tom1
Messages: 1319
Registered: March 2007
Ultimate Contributor
Hi,

I just upgraded a buster to bullseye by switching the sources to point to bullseye instead of buster, and then did a full distupgrade. After that I downloaded latest upp nightly and tried to proceed as normal with ./install.

Best regards,

Tom

EDIT: UPDATE: I booted my RPi 4 system to look for proper version info for you, but now I discovered additional issues with my OS. I may in fact need to do a fresh OS re-install from this link and see if it helps:

https://downloads.raspberrypi.org/raspios_arm64/images/raspi os_arm64-2022-01-28/2022-01-28-raspios-bullseye-arm64.zip

Anyway, this is the one I'm supposed to be running.

[Updated on: Sat, 19 March 2022 14:59]

Report message to a moderator

Re: Gearing up for 2022.1 release... [message #58199 is a reply to message #58198] Sat, 19 March 2022 17:52 Go to previous messageGo to next message
Tom1
Messages: 1319
Registered: March 2007
Ultimate Contributor
Hi Mirek,

Now I'm on the freshly installed Raspberry OS 64-bit, the same as I linked for you. Here the ./install works for setting up the dependencies and starts compilation as expected.

However, the compilation fails with error:

./uppsrc/Core/Ops.h: In function 'Upp::byte Upp::addc64(Upp::uint64&, const uint64&, Upp::byte)':
./uppsrc/Core/Ops.h:223:9: error: '_addcarry_u64' was not declared in this scope
  223 |  return _addcarry_u64(carry, result, value, &result);


I do not know if there are more issues as the compilation stops to this error.

Best regards,

Tom
Re: Gearing up for 2022.1 release... [message #58200 is a reply to message #58199] Sat, 19 March 2022 18:42 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 1118
Registered: September 2012
Location: Poland, Kraków
Senior Contributor
Hello Tom,

I have the same problem on M1 Mac when compiling application for native executable. _addcarry_u64 is not compatible with ARM architecture, so I think there must be a problem with #ifdefs.

Klugier


U++ - one framework to rule them all.

[Updated on: Sat, 19 March 2022 18:42]

Report message to a moderator

Re: Gearing up for 2022.1 release... [message #58201 is a reply to message #58200] Sun, 20 March 2022 08:47 Go to previous messageGo to next message
Tom1
Messages: 1319
Registered: March 2007
Ultimate Contributor
Hi Klugier and Mirek,

I agree. Tried to change the #if on line 219 of Ops.h:
#if defined(__SIZEOF_INT128__) && (__GNUC__ > 5 || __clang_major__ >= 5) && !defined(CPU_ARM)

Adding "&& !defined(CPU_ARM)", in the end of the line, enabled successful compilation on current Raspberry OS (64-bit). However, I do not know if this change would cause issues on some other platform.

Best regards,

Tom
Re: Gearing up for 2022.1 release... [message #58202 is a reply to message #58201] Sun, 20 March 2022 09:35 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
Tom1 wrote on Sun, 20 March 2022 08:47
Hi Klugier and Mirek,

I agree. Tried to change the #if on line 219 of Ops.h:
#if defined(__SIZEOF_INT128__) && (__GNUC__ > 5 || __clang_major__ >= 5) && !defined(CPU_ARM)

Adding "&& !defined(CPU_ARM)", in the end of the line, enabled successful compilation on current Raspberry OS (64-bit). However, I do not know if this change would cause issues on some other platform.

Best regards,

Tom


Well, but that would bring in ugly mul64. I have tried better approach in the trunk... (but it is worth checking whether addc64 is compiled into something reasonable. It probably should get optimised out...)

Mirek
Re: Gearing up for 2022.1 release... [message #58203 is a reply to message #58202] Sun, 20 March 2022 10:00 Go to previous messageGo to next message
Tom1
Messages: 1319
Registered: March 2007
Ultimate Contributor
Hi Mirek,

Good point. Your code compiles and seems to work fine on Raspberry. I'm just wondering if CPU_X86 is defined for 64-bit AMD architecture, or should you include CPU_AMD64 flag too?

Best regards,

Tom
Re: Gearing up for 2022.1 release... [message #58204 is a reply to message #58203] Sun, 20 March 2022 10:16 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
Tom1 wrote on Sun, 20 March 2022 10:00
Hi Mirek,

Good point. Your code compiles and seems to work fine on Raspberry. I'm just wondering if CPU_X86 is defined for 64-bit AMD architecture, or should you include CPU_AMD64 flag too?

Best regards,

Tom


It is. (Check config.h)
Re: Gearing up for 2022.1 release... [message #58205 is a reply to message #58204] Sun, 20 March 2022 10:24 Go to previous messageGo to next message
Tom1
Messages: 1319
Registered: March 2007
Ultimate Contributor
OK, thanks! So, it's all good now.

Best regards,

Tom
Re: Gearing up for 2022.1 release... [message #58206 is a reply to message #58145] Sun, 20 March 2022 10:33 Go to previous messageGo to next message
coolman is currently offline  coolman
Messages: 119
Registered: April 2006
Location: Czech Republic
Experienced Member
Hi Mirek,

With the commit d3ef160f104a181eba9aed10173762382838f39f (TabBar: ConfirmCloseSome) I'm not able to compile TheIde. I got error
/Develop/upp/./uppsrc/Core/Function.h:17:50: error: no matching function for call to object of type '(lambda at /Develop/upp/uppsrc/TabBar/TabBar.cpp:334:21)'
                virtual Res Execute(ArgTypes... args) { return fn(args...); }
                                                               ^~
/Develop/upp/./uppsrc/Core/Function.h:19:3: note: in instantiation of member function 'Upp::Function<bool (Upp::ValueArray)>::Wrapper<(lambda at /Develop/upp/uppsrc/TabBar/TabBar.cpp:334:21)>::Execute' requested here
                Wrapper(F&& fn) : fn(pick(fn)) {}
                ^
/Develop/upp/./uppsrc/Core/Function.h:56:57: note: in instantiation of member function 'Upp::Function<bool (Upp::ValueArray)>::Wrapper<(lambda at Develop/upp/uppsrc/TabBar/TabBar.cpp:334:21)>::Wrapper' requested here
        template <class F> Function(F fn)          { ptr = new Wrapper<F>(pick(fn)); }
                                                               ^
/Develop/upp/uppsrc/TabBar/TabBar.cpp:334:21: note: in instantiation of function template specialization 'Upp::Function<bool (Upp::ValueArray)>::Function<(lambda at /Develop/upp/uppsrc/TabBar/TabBar.cpp:334:21)>' requested here
        ConfirmCloseSome = []() { return true; };
                           ^
Develop/upp/uppsrc/TabBar/TabBar.cpp:334:21: note: candidate function not viable: requires 0 arguments, but 1 was provided
Develop/upp/uppsrc/TabBar/TabBar.cpp:334:21: note: conversion candidate of type 'bool (*)()'


clang -v
Ubuntu clang version 12.0.1-++20211029101322+fed41342a82f-1~exp1~20211029221816.4
Target: x86_64-pc-linux-gnu
Thread model: posix

uname -a
Linux 5.13.0-35-generic #40~20.04.1-Ubuntu SMP Mon Mar 7 09:18:32 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

BR, Radek
Re: Gearing up for 2022.1 release... [message #58207 is a reply to message #58206] Sun, 20 March 2022 13:31 Go to previous messageGo to next message
Tom1
Messages: 1319
Registered: March 2007
Ultimate Contributor
Hi,

I can confirm this issue on Raspberry when building theide. (Previously I did not notice it when working with nightly and then UWord for testing.)

Best regards,

Tom
Re: Gearing up for 2022.1 release... [message #58208 is a reply to message #58206] Sun, 20 March 2022 14:26 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
coolman wrote on Sun, 20 March 2022 10:33
Hi Mirek,

With the commit d3ef160f104a181eba9aed10173762382838f39f (TabBar: ConfirmCloseSome) I'm not able to compile TheIde. I got error
/Develop/upp/./uppsrc/Core/Function.h:17:50: error: no matching function for call to object of type '(lambda at /Develop/upp/uppsrc/TabBar/TabBar.cpp:334:21)'
                virtual Res Execute(ArgTypes... args) { return fn(args...); }
                                                               ^~
/Develop/upp/./uppsrc/Core/Function.h:19:3: note: in instantiation of member function 'Upp::Function<bool (Upp::ValueArray)>::Wrapper<(lambda at /Develop/upp/uppsrc/TabBar/TabBar.cpp:334:21)>::Execute' requested here
                Wrapper(F&& fn) : fn(pick(fn)) {}
                ^
/Develop/upp/./uppsrc/Core/Function.h:56:57: note: in instantiation of member function 'Upp::Function<bool (Upp::ValueArray)>::Wrapper<(lambda at Develop/upp/uppsrc/TabBar/TabBar.cpp:334:21)>::Wrapper' requested here
        template <class F> Function(F fn)          { ptr = new Wrapper<F>(pick(fn)); }
                                                               ^
/Develop/upp/uppsrc/TabBar/TabBar.cpp:334:21: note: in instantiation of function template specialization 'Upp::Function<bool (Upp::ValueArray)>::Function<(lambda at /Develop/upp/uppsrc/TabBar/TabBar.cpp:334:21)>' requested here
        ConfirmCloseSome = []() { return true; };
                           ^
Develop/upp/uppsrc/TabBar/TabBar.cpp:334:21: note: candidate function not viable: requires 0 arguments, but 1 was provided
Develop/upp/uppsrc/TabBar/TabBar.cpp:334:21: note: conversion candidate of type 'bool (*)()'


clang -v
Ubuntu clang version 12.0.1-++20211029101322+fed41342a82f-1~exp1~20211029221816.4
Target: x86_64-pc-linux-gnu
Thread model: posix

uname -a
Linux 5.13.0-35-generic #40~20.04.1-Ubuntu SMP Mon Mar 7 09:18:32 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

BR, Radek


Hopefully fixed.
Re: Gearing up for 2022.1 release... [message #58209 is a reply to message #58181] Sun, 20 March 2022 14:42 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
pvictor wrote on Wed, 09 March 2022 10:18
pvictor wrote on Mon, 07 March 2022 18:08
mirek wrote on Sun, 06 March 2022 20:13

OK, not too much happy about this late new feature, but done... Pls check.


I've checked it on Linux.
It works OK.
Thank you.

Victor


FileSelNative works fine both in Linux and Windows.
However the public interfaces aren't the same:
           Windows                                                Linux

void Serialize(Stream& s);                              
void New();                                             
bool IsNew() const;                                     

bool Execute(bool open, const char *title = NULL);      bool Execute(bool open, const char *title = NULL);
bool ExecuteOpen(const char *title = NULL);             bool ExecuteOpen(const char *title = NULL);
bool ExecuteSaveAs(const char *title = NULL);           bool ExecuteSaveAs(const char *title = NULL);
bool ExecuteSelectDir(const char *title = NULL);        bool ExecuteSelectDir(const char *title = NULL);
String Get() const;                                     String Get() const;
void Set(const String& s);                              void Set(const String& s);
operator String() const;                                operator String() const;
void operator=(const String& s);                        void operator=(const String& s);
String operator~() const;                               String operator~() const;
void operator<<=(const String& s);                      void operator<<=(const String& s);
int GetCount() const;                                   int GetCount() const;
const String& operator[](int i) const;                  const String& operator[](int i) const;

bool GetReadOnly() const;                              
String GetActiveDir() const;                            

FileSelNative& Type(const char *name, const char *ext); FileSelNative& Type(const char *name, const char *ext);
FileSelNative& AllFilesType();                          FileSelNative& AllFilesType();
FileSelNative& ActiveDir(const String& dir);            FileSelNative& ActiveDir(const String& dir);
FileSelNative& ActiveType(int i);                       FileSelNative& ActiveType(int i);

FileSelNative& DefaultExt(const char *ext);             

FileSelNative& Multi(bool b = true);                    FileSelNative& Multi(bool b = true);

FileSelNative& ReadOnlyOption(bool b = true);           

FileSelNative& Asking(bool b = true);                   FileSelNative& Asking(bool b = true);
FileSelNative& NoAsking();                              FileSelNative& NoAsking();

                                                        FileSelNative& ShowHidden(bool b = true);



Best regards,
Victor


Should be now improved (but 100% is impossible).
Re: Gearing up for 2022.1 release... [message #58210 is a reply to message #58145] Sun, 20 March 2022 20:04 Go to previous messageGo to next message
coolman is currently offline  coolman
Messages: 119
Registered: April 2006
Location: Czech Republic
Experienced Member
Hi,

I can confirm, that your TabBar fix is OK. I can sucessfully build TheIde.

BR, Radek
Re: Gearing up for 2022.1 release... [message #58223 is a reply to message #58209] Tue, 29 March 2022 13:30 Go to previous messageGo to next message
Tom1
Messages: 1319
Registered: March 2007
Ultimate Contributor
Hi Mirek,

Any status update for 2022.1 release schedule? Smile

Best regards,

Tom
Re: Gearing up for 2022.1 release... [message #58225 is a reply to message #58145] Thu, 31 March 2022 04:10 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1431
Registered: December 2006
Ultimate Contributor
LLVM 14.0.0 was released several days ago.
IMHO, it makes sense to ship UPP with llvm-mingw compiler based on LLVM 14.


Regards,
Novo
Re: Gearing up for 2022.1 release... [message #58243 is a reply to message #58225] Sun, 03 April 2022 15:43 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 1118
Registered: September 2012
Location: Poland, Kraków
Senior Contributor
Hello Mirek,

I also proposed bumping C++ standard from c++14 to c++17. However, this could be done in the next release. There are a lot of risks here in context of compilation on various platforms.

Even if we do not have any features that particularly targets c++17 we should compile with that standard and our users should have access to it by default. Also, maybe this is a bug, but for MSVC we do not force any standard. It is always latest. I think it should change and we should target exactly the same standard as for GCC and CLANG.

Klugier


U++ - one framework to rule them all.
Re: Gearing up for 2022.1 release... [message #58244 is a reply to message #58225] Sun, 03 April 2022 19:33 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
Novo wrote on Thu, 31 March 2022 04:10
LLVM 14.0.0 was released several days ago.
IMHO, it makes sense to ship UPP with llvm-mingw compiler based on LLVM 14.


Unfortunately:

https://github.com/mstorsjo/llvm-mingw/issues/271
Re: Gearing up for 2022.1 release... [message #58245 is a reply to message #58243] Sun, 03 April 2022 19:36 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
Klugier wrote on Sun, 03 April 2022 15:43
Hello Mirek,

I also proposed bumping C++ standard from c++14 to c++17. However, this could be done in the next release. There are a lot of risks here in context of compilation on various platforms.

Even if we do not have any features that particularly targets c++17 we should compile with that standard and our users should have access to it by default. Also, maybe this is a bug, but for MSVC we do not force any standard. It is always latest. I think it should change and we should target exactly the same standard as for GCC and CLANG.

Klugier


Yeeah, I was thinking about it a lot, problem is we have so far universal package for Posixes and we are not 100% sure c++17 compliant compiler is there. I think we would need to add detection code before adding -std=c++17 to options, which is sort of complicated and quirky.
Re: Gearing up for 2022.1 release... [message #58246 is a reply to message #58244] Mon, 04 April 2022 00:48 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1431
Registered: December 2006
Ultimate Contributor
mirek wrote on Sun, 03 April 2022 13:33
Novo wrote on Thu, 31 March 2022 04:10
LLVM 14.0.0 was released several days ago.
IMHO, it makes sense to ship UPP with llvm-mingw compiler based on LLVM 14.


Unfortunately:

https://github.com/mstorsjo/llvm-mingw/issues/271

I just double-checked that (added -fno-limit-debug-info to "Debug options").
Everything compiles just fine ...
The only "problem" that I see is a lot of "clang-14: warning: argument unused during compilation: '-mthreads' [-Wunused-command-line-argument]"...

P.S. I checked that on Linux.


Regards,
Novo

[Updated on: Mon, 04 April 2022 01:45]

Report message to a moderator

Re: Gearing up for 2022.1 release... [message #58247 is a reply to message #58246] Mon, 04 April 2022 17:38 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
Novo wrote on Mon, 04 April 2022 00:48
mirek wrote on Sun, 03 April 2022 13:33
Novo wrote on Thu, 31 March 2022 04:10
LLVM 14.0.0 was released several days ago.
IMHO, it makes sense to ship UPP with llvm-mingw compiler based on LLVM 14.


Unfortunately:

https://github.com/mstorsjo/llvm-mingw/issues/271

I just double-checked that (added -fno-limit-debug-info to "Debug options").
Everything compiles just fine ...
The only "problem" that I see is a lot of "clang-14: warning: argument unused during compilation: '-mthreads' [-Wunused-command-line-argument]"...

P.S. I checked that on Linux.


You are right, it was my fault. Tomorrow nightly should be clang-14 (pls check)
Re: Gearing up for 2022.1 release... [message #58249 is a reply to message #58247] Tue, 05 April 2022 06:46 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1431
Registered: December 2006
Ultimate Contributor
mirek wrote on Mon, 04 April 2022 11:38

You are right, it was my fault. Tomorrow nightly should be clang-14 (pls check)

Compilation is fine (at least on Linux).
I do see a weird problem with Md5Stream. I'll check it tomorrow.


Regards,
Novo
Re: Gearing up for 2022.1 release... [message #58251 is a reply to message #58245] Tue, 05 April 2022 12:21 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 1118
Registered: September 2012
Location: Poland, Kraków
Senior Contributor
mirek wrote on Sun, 03 April 2022 19:36
Klugier wrote on Sun, 03 April 2022 15:43
Hello Mirek,

I also proposed bumping C++ standard from c++14 to c++17. However, this could be done in the next release. There are a lot of risks here in context of compilation on various platforms.

Even if we do not have any features that particularly targets c++17 we should compile with that standard and our users should have access to it by default. Also, maybe this is a bug, but for MSVC we do not force any standard. It is always latest. I think it should change and we should target exactly the same standard as for GCC and CLANG.

Klugier


Yeeah, I was thinking about it a lot, problem is we have so far universal package for Posixes and we are not 100% sure c++17 compliant compiler is there. I think we would need to add detection code before adding -std=c++17 to options, which is sort of complicated and quirky.


Hello Mirek,

What about chaning approch? If it doesn't compile you could always back to older stable release of Upp. The old systems shouldn't hold us back and keep with old standard. We could make 2022.1 last official release with c++14 and the next one will be c++17.

The C++14 was introduced in 2017 in our code base. 3 years after official standard announcement. Right now we are 5 years after c++17. There is no consistency here.

Klugier



U++ - one framework to rule them all.

[Updated on: Tue, 05 April 2022 12:23]

Report message to a moderator

Re: Gearing up for 2022.1 release... [message #58252 is a reply to message #58247] Tue, 05 April 2022 15:00 Go to previous messageGo to previous message
Tom1
Messages: 1319
Registered: March 2007
Ultimate Contributor
mirek wrote on Mon, 04 April 2022 18:38
You are right, it was my fault. Tomorrow nightly should be clang-14 (pls check)


Hi,

The latest nightly (upp-win-16223.7z) shows version 11.0.0. for clang:
C:\upp\bin\clang\bin>clang.exe --version
clang version 11.0.0 (https://github.com/llvm/llvm-project.git 176249bd6732a8044d457092ed932768724a6f06)
Target: x86_64-w64-windows-gnu
Thread model: posix
InstalledDir: C:\upp\bin\clang\bin

C:\upp\bin\clang\bin>


Best regards,

Tom
Previous Topic: 2022.1rc1
Next Topic: 2022.1rc2
Goto Forum:
  


Current Time: Tue May 26 14:03:13 GMT+2 2026

Total time taken to generate the page: 0.01417 seconds