Dropping Windows XP and moving to C++20

62 views
Skip to first unread message

Neil Hodgson

unread,
Mar 14, 2024, 5:48:56 PMMar 14
to scite-interest
I would like to start using C++20 in SciTE as it is mostly well supported now on current platforms. While there are no major benefits available from C++20, there are plenty of minor improvements.

The biggest C++20 feature, modules, is still poorly and unevenly supported across platforms so probably cannot be used.

Windows XP is currently built with some archaic tools and I don't think these will work with C++20 so Windows XP will not be supported. Mainstream support for Windows XP ended in 2009 and extended support ended in 2014. It may still be possible to use gcc for Windows XP but I won't be distributing executables.

Neil

Neil Hodgson

unread,
Mar 16, 2024, 8:10:36 PMMar 16
to scite-interest
The current 5.4.3 release will remain available and linked from the download page.

Since Windows Vista is not supported by Visual C++ 2022, it will also lose support. Windows 7 is supported. Windows 8 is not supported but 8.1 is.
https://learn.microsoft.com/en-us/visualstudio/releases/2022/compatibility

The question of 32-bit support has also been discussed but I don't think it's time yet to drop 32-bit builds.

Neil

Csaba Ráduly

unread,
Mar 17, 2024, 8:15:20 AMMar 17
to scite-i...@googlegroups.com
On 14/03/2024 22:48, Neil Hodgson wrote:
> I would like to start using C++20 in SciTE as it is mostly well
> supported now on current platforms. While there are no major benefits
> available from C++20, there are plenty of minor improvements.
>
> The biggest C++20 feature, modules, is still poorly and unevenly
> supported across platforms so probably cannot be used.
>
I'm curious, which C++20 features would you like to use?

Csaba

--
Life is complex, with real and imaginary parts.

Neil Hodgson

unread,
Mar 17, 2024, 5:19:07 PMMar 17
to scite-interest
Csaba:

I'm curious, which C++20 features would you like to use?

Initially, I expect to use std::span to remove some raw pointers, additional constexpr and similar for constraining code behaviour. Later, ranges and concepts. Eventually, modules when they're ready

Neil

Csaba Ráduly

unread,
Mar 17, 2024, 7:30:53 PMMar 17
to scite-i...@googlegroups.com
On 17/03/2024 22:19, Neil Hodgson wrote:
> Csaba:
>
> I'm curious, which C++20 features would you like to use?
>
>
> Initially, I expect to use std::span to remove some raw pointers, [...]
>
I'm a C++ developer and I agree with this message.

Neil Hodgson

unread,
Mar 18, 2024, 6:57:28 AMMar 18
to scite-interest
The makefiles and projects have been changed to specify c++20 with this commit.

A single use of a C++20 API (starts_with) was included in FilePath.cxx with this commit.
This change should produce a diagnostic if any makefile, project or similar doesn't specify c++20.
It showed diagnostics on Win32, macOS, and Linux when the previous build files were executed.

Neil

Reply all
Reply to author
Forward
0 new messages