|
|
Home » Community » U++ community news and announcements » Gearing up for 2022.1 release...
Re: Gearing up for 2022.1 release... [message #58201 is a reply to message #58200] |
Sun, 20 March 2022 08:47 |
Tom1
Messages: 1212 Registered: March 2007
|
Senior 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 #58203 is a reply to message #58202] |
Sun, 20 March 2022 10:00 |
Tom1
Messages: 1212 Registered: March 2007
|
Senior 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 #58209 is a reply to message #58181] |
Sun, 20 March 2022 14:42 |
|
mirek
Messages: 13975 Registered: November 2005
|
Ultimate Member |
|
|
pvictor wrote on Wed, 09 March 2022 10:18pvictor wrote on Mon, 07 March 2022 18:08mirek 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 #58246 is a reply to message #58244] |
Mon, 04 April 2022 00:48 |
Novo
Messages: 1358 Registered: December 2006
|
Ultimate Contributor |
|
|
mirek wrote on Sun, 03 April 2022 13:33Novo wrote on Thu, 31 March 2022 04:10LLVM 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 #58249 is a reply to message #58247] |
Tue, 05 April 2022 06:46 |
Novo
Messages: 1358 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 |
|
Klugier
Messages: 1076 Registered: September 2012 Location: Poland, Kraków
|
Senior Contributor |
|
|
mirek wrote on Sun, 03 April 2022 19:36Klugier wrote on Sun, 03 April 2022 15:43Hello 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 |
Tom1
Messages: 1212 Registered: March 2007
|
Senior Contributor |
|
|
mirek wrote on Mon, 04 April 2022 18:38You 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
|
|
|
Goto Forum:
Current Time: Sat May 04 16:18:02 CEST 2024
Total time taken to generate the page: 0.01643 seconds
|
|
|