Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Community » U++ community news and announcements » C++ 17 now supported
C++ 17 now supported [message #50509] Mon, 12 November 2018 11:23 Go to next message
mirek is currently offline  mirek
Messages: 14105
Registered: November 2005
Ultimate Member
There was a trivial issue that prevented compilation in c++17. It is now fixed...

Mirek
Re: C++ 17 now supported [message #51405 is a reply to message #50509] Fri, 22 March 2019 12:16 Go to previous messageGo to next message
shutalker is currently offline  shutalker
Messages: 15
Registered: November 2017
Location: Moscow
Promising Member
Hello, Mirek!
I've encountered with some compilation errors like this:
.../upp/uppsrc/plugin/pcre/lib/pcre_ord2utf8.c (72): error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]


Here is a bit of code:
register int i, j;


The same error occured in several files, so I did a little patch.
Re: C++ 17 now supported [message #51407 is a reply to message #51405] Fri, 22 March 2019 16:45 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14105
Registered: November 2005
Ultimate Member
Accidentally, I have upgraded pcre to 8.43 (as part of release process), which seems to fix the issue as well...

Mirek
Re: C++ 17 now supported [message #51408 is a reply to message #51407] Fri, 22 March 2019 16:52 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 1083
Registered: September 2012
Location: Poland, Kraków
Senior Contributor
Hello,

I checked the issue and it seems that update will not fix the issue. The problem is that "register" keyword is removed from c++17. Here is a link to our current version of one of the file of plugin/pcre - https://github.com/ultimatepp/mirror/blob/master/uppsrc/plug in/pcre/lib/pcre_compile.c and it contains following line of code:
register pcre_uint32 cc = *(++ptr);

It will not compile in c++17 enviroment...

Sincerely,
Klugier


U++ - one framework to rule them all.
Re: C++ 17 now supported [message #51409 is a reply to message #51408] Fri, 22 March 2019 16:56 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1135
Registered: August 2007
Senior Contributor
Hello,

Some time ago I uploaded a patch here, as per Novo's suggestion: https://www.ultimatepp.org/forums/index.php?t=msg&th=105 90&goto=51321&#msg_51321

It was for the older version, but it should also work for the new version.

Best regards,
Oblivion


Re: C++ 17 now supported [message #51410 is a reply to message #51409] Fri, 22 March 2019 17:07 Go to previous message
mirek is currently offline  mirek
Messages: 14105
Registered: November 2005
Ultimate Member
My apologies, I was not testing correctly (for some reason current mingw will compile that as C++17 without errors) and doing wrong search for 'register'.

As there seem to by many more 'register' instances in current pcre version, I have tried to remedy the problem by turning pcre compilation to "C" (where register is allowed).

Mirek

[Updated on: Fri, 22 March 2019 17:15]

Report message to a moderator

Previous Topic: The very first attempt at U++ MacOS (alpha) release is here!
Next Topic: plugin/zstd and plugin/zstd_legacy
Goto Forum:
  


Current Time: Fri Nov 01 01:32:02 CET 2024

Total time taken to generate the page: 0.01132 seconds