From 92a1803ca923153c3887813f1d1ba8ecfe4435c2 Mon Sep 17 00:00:00 2001 From: Joshua Scoggins Date: Mon, 25 Jan 2021 15:49:50 -0800 Subject: [PATCH 1/9] Expose the language standard via the gui --- avr/boards.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/avr/boards.txt b/avr/boards.txt index dd49ec7e8..9d942c1ff 100644 --- a/avr/boards.txt +++ b/avr/boards.txt @@ -34,6 +34,7 @@ menu.LTO=Compiler LTO menu.variant=Variant menu.pinout=Pinout menu.bootloader=Bootloader +menu.LanguageStandard=Language Standard ###################### @@ -240,6 +241,20 @@ menu.bootloader=Bootloader 1284.menu.clock.1MHz_internal.build.clock_speed={build.f_cpu} 1284.menu.clock.1MHz_internal.build.f_cpu=1000000L +# C++ Language Standard +1284.menu.LanguageStandard.Default=Default +1284.menu.LanguageStandard.Default.compiler.cpp.extra_flags= + +1284.menu.LanguageStandard.Cpp11=C++11 +1284.menu.LanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 + +1284.menu.LanguageStandard.Cpp14=C++14 +1284.menu.LanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 + +1284.menu.LanguageStandard.Cpp17=C++17 +1284.menu.LanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 + + ########################### From 51c149dbfb328aae78a48ff9c52e072b439eacc2 Mon Sep 17 00:00:00 2001 From: Joshua Scoggins Date: Mon, 25 Jan 2021 15:51:22 -0800 Subject: [PATCH 2/9] 1284 clock settings --- avr/boards.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/avr/boards.txt b/avr/boards.txt index 9d942c1ff..93b1f5231 100644 --- a/avr/boards.txt +++ b/avr/boards.txt @@ -241,6 +241,20 @@ menu.LanguageStandard=Language Standard 1284.menu.clock.1MHz_internal.build.clock_speed={build.f_cpu} 1284.menu.clock.1MHz_internal.build.f_cpu=1000000L +1284.menu.clock.20MHz_external=External 20 MHz with CLKO on B1 +1284.menu.clock.20MHz_external.upload.speed=115200 +1284.menu.clock.20MHz_external.bootloader.low_fuses=0xb7 +1284.menu.clock.20MHz_external.build.clkpr= +1284.menu.clock.20MHz_external.build.clock_speed={build.f_cpu} +1284.menu.clock.20MHz_external.build.f_cpu=20000000L + +1284.menu.clock.16MHz_external=External 16 MHz with CLKO on B1 +1284.menu.clock.16MHz_external.upload.speed=115200 +1284.menu.clock.16MHz_external.bootloader.low_fuses=0xb7 +1284.menu.clock.16MHz_external.build.clkpr= +1284.menu.clock.16MHz_external.build.clock_speed={build.f_cpu} +1284.menu.clock.16MHz_external.build.f_cpu=16000000L + # C++ Language Standard 1284.menu.LanguageStandard.Default=Default 1284.menu.LanguageStandard.Default.compiler.cpp.extra_flags= From aa59ea2455f561ba4399aa0c3d5d1696080fd12f Mon Sep 17 00:00:00 2001 From: Joshua Scoggins Date: Mon, 25 Jan 2021 15:58:07 -0800 Subject: [PATCH 3/9] Language standard mode for 644, 324, and 164 as well --- avr/boards.txt | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/avr/boards.txt b/avr/boards.txt index 93b1f5231..8fa816e9a 100644 --- a/avr/boards.txt +++ b/avr/boards.txt @@ -475,6 +475,19 @@ menu.LanguageStandard=Language Standard 644.menu.clock.1MHz_internal.build.clock_speed={build.f_cpu} 644.menu.clock.1MHz_internal.build.f_cpu=1000000L +# C++ Language Standard +644.menu.LanguageStandard.Default=Default +644.menu.LanguageStandard.Default.compiler.cpp.extra_flags= + +644.menu.LanguageStandard.Cpp11=C++11 +644.menu.LanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 + +644.menu.LanguageStandard.Cpp14=C++14 +644.menu.LanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 + +644.menu.LanguageStandard.Cpp17=C++17 +644.menu.LanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 + ########################## @@ -701,6 +714,19 @@ menu.LanguageStandard=Language Standard 324.menu.clock.1MHz_internal.build.clock_speed={build.f_cpu} 324.menu.clock.1MHz_internal.build.f_cpu=1000000L +# C++ Language Standard +324.menu.LanguageStandard.Default=Default +324.menu.LanguageStandard.Default.compiler.cpp.extra_flags= + +324.menu.LanguageStandard.Cpp11=C++11 +324.menu.LanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 + +324.menu.LanguageStandard.Cpp14=C++14 +324.menu.LanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 + +324.menu.LanguageStandard.Cpp17=C++17 +324.menu.LanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 + ########################## @@ -907,6 +933,19 @@ menu.LanguageStandard=Language Standard 164.menu.clock.1MHz_internal.build.clock_speed={build.f_cpu} 164.menu.clock.1MHz_internal.build.f_cpu=1000000L +# C++ Language Standard +164.menu.LanguageStandard.Default=Default +164.menu.LanguageStandard.Default.compiler.cpp.extra_flags= + +164.menu.LanguageStandard.Cpp11=C++11 +164.menu.LanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 + +164.menu.LanguageStandard.Cpp14=C++14 +164.menu.LanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 + +164.menu.LanguageStandard.Cpp17=C++17 +164.menu.LanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 + ##################### From 111269a1252985c21fb1971446af6d9ecb9668ed Mon Sep 17 00:00:00 2001 From: Joshua Scoggins Date: Mon, 25 Jan 2021 16:00:14 -0800 Subject: [PATCH 4/9] Remove the extra frequency groups --- avr/boards.txt | 52 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 39 insertions(+), 13 deletions(-) diff --git a/avr/boards.txt b/avr/boards.txt index 8fa816e9a..9e3431512 100644 --- a/avr/boards.txt +++ b/avr/boards.txt @@ -241,19 +241,6 @@ menu.LanguageStandard=Language Standard 1284.menu.clock.1MHz_internal.build.clock_speed={build.f_cpu} 1284.menu.clock.1MHz_internal.build.f_cpu=1000000L -1284.menu.clock.20MHz_external=External 20 MHz with CLKO on B1 -1284.menu.clock.20MHz_external.upload.speed=115200 -1284.menu.clock.20MHz_external.bootloader.low_fuses=0xb7 -1284.menu.clock.20MHz_external.build.clkpr= -1284.menu.clock.20MHz_external.build.clock_speed={build.f_cpu} -1284.menu.clock.20MHz_external.build.f_cpu=20000000L - -1284.menu.clock.16MHz_external=External 16 MHz with CLKO on B1 -1284.menu.clock.16MHz_external.upload.speed=115200 -1284.menu.clock.16MHz_external.bootloader.low_fuses=0xb7 -1284.menu.clock.16MHz_external.build.clkpr= -1284.menu.clock.16MHz_external.build.clock_speed={build.f_cpu} -1284.menu.clock.16MHz_external.build.f_cpu=16000000L # C++ Language Standard 1284.menu.LanguageStandard.Default=Default @@ -1121,6 +1108,19 @@ menu.LanguageStandard=Language Standard 32.menu.clock.1MHz_internal.bootloader.ckopt_bit=1 32.menu.clock.1MHz_internal.build.f_cpu=1000000L +# C++ Language Standard +32.menu.LanguageStandard.Default=Default +32.menu.LanguageStandard.Default.compiler.cpp.extra_flags= + +32.menu.LanguageStandard.Cpp11=C++11 +32.menu.LanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 + +32.menu.LanguageStandard.Cpp14=C++14 +32.menu.LanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 + +32.menu.LanguageStandard.Cpp17=C++17 +32.menu.LanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 + ##################### @@ -1296,6 +1296,19 @@ menu.LanguageStandard=Language Standard 16.menu.clock.1MHz_internal.bootloader.ckopt_bit=1 16.menu.clock.1MHz_internal.build.f_cpu=1000000L +# C++ Language Standard +16.menu.LanguageStandard.Default=Default +16.menu.LanguageStandard.Default.compiler.cpp.extra_flags= + +16.menu.LanguageStandard.Cpp11=C++11 +16.menu.LanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 + +16.menu.LanguageStandard.Cpp14=C++14 +16.menu.LanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 + +16.menu.LanguageStandard.Cpp17=C++17 +16.menu.LanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 + ##################### @@ -1470,3 +1483,16 @@ menu.LanguageStandard=Language Standard 8535.menu.clock.1MHz_internal.bootloader.sut_cksel_bits=100001 8535.menu.clock.1MHz_internal.bootloader.ckopt_bit=1 8535.menu.clock.1MHz_internal.build.f_cpu=1000000L + +# C++ Language Standard +8535.menu.LanguageStandard.Default=Default +8535.menu.LanguageStandard.Default.compiler.cpp.extra_flags= + +8535.menu.LanguageStandard.Cpp11=C++11 +8535.menu.LanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 + +8535.menu.LanguageStandard.Cpp14=C++14 +8535.menu.LanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 + +8535.menu.LanguageStandard.Cpp17=C++17 +8535.menu.LanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 From 71d631fc4d0fdd2b66ffb2e47431786c73f1608f Mon Sep 17 00:00:00 2001 From: Joshua Scoggins Date: Mon, 25 Jan 2021 16:53:41 -0800 Subject: [PATCH 5/9] Bind language standard to a separate variable --- avr/boards.txt | 113 +++++++++++++++++++++++------------------------ avr/platform.txt | 7 ++- 2 files changed, 61 insertions(+), 59 deletions(-) diff --git a/avr/boards.txt b/avr/boards.txt index 9e3431512..249782148 100644 --- a/avr/boards.txt +++ b/avr/boards.txt @@ -34,7 +34,7 @@ menu.LTO=Compiler LTO menu.variant=Variant menu.pinout=Pinout menu.bootloader=Bootloader -menu.LanguageStandard=Language Standard +menu.CppLanguageStandard=C++ Language Standard ###################### @@ -243,17 +243,16 @@ menu.LanguageStandard=Language Standard # C++ Language Standard -1284.menu.LanguageStandard.Default=Default -1284.menu.LanguageStandard.Default.compiler.cpp.extra_flags= +1284.menu.CppLanguageStandard.Default=Default -1284.menu.LanguageStandard.Cpp11=C++11 -1284.menu.LanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 +1284.menu.CppLanguageStandard.Cpp11=C++11 +1284.menu.CppLanguageStandard.Cpp11.compiler.cpp.languageStandard=-std=gnu++11 -1284.menu.LanguageStandard.Cpp14=C++14 -1284.menu.LanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 +1284.menu.CppLanguageStandard.Cpp14=C++14 +1284.menu.CppLanguageStandard.Cpp14.compiler.cpp.languageStandard=-std=gnu++14 -1284.menu.LanguageStandard.Cpp17=C++17 -1284.menu.LanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 +1284.menu.CppLanguageStandard.Cpp17=C++17 +1284.menu.CppLanguageStandard.Cpp17.compiler.cpp.languageStandard=-std=gnu++17 @@ -463,17 +462,17 @@ menu.LanguageStandard=Language Standard 644.menu.clock.1MHz_internal.build.f_cpu=1000000L # C++ Language Standard -644.menu.LanguageStandard.Default=Default -644.menu.LanguageStandard.Default.compiler.cpp.extra_flags= +644.menu.CppLanguageStandard.Default=Default +644.menu.CppLanguageStandard.Default.compiler.cpp.extra_flags= -644.menu.LanguageStandard.Cpp11=C++11 -644.menu.LanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 +644.menu.CppLanguageStandard.Cpp11=C++11 +644.menu.CppLanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 -644.menu.LanguageStandard.Cpp14=C++14 -644.menu.LanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 +644.menu.CppLanguageStandard.Cpp14=C++14 +644.menu.CppLanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 -644.menu.LanguageStandard.Cpp17=C++17 -644.menu.LanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 +644.menu.CppLanguageStandard.Cpp17=C++17 +644.menu.CppLanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 @@ -702,17 +701,17 @@ menu.LanguageStandard=Language Standard 324.menu.clock.1MHz_internal.build.f_cpu=1000000L # C++ Language Standard -324.menu.LanguageStandard.Default=Default -324.menu.LanguageStandard.Default.compiler.cpp.extra_flags= +324.menu.CppLanguageStandard.Default=Default +324.menu.CppLanguageStandard.Default.compiler.cpp.extra_flags= -324.menu.LanguageStandard.Cpp11=C++11 -324.menu.LanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 +324.menu.CppLanguageStandard.Cpp11=C++11 +324.menu.CppLanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 -324.menu.LanguageStandard.Cpp14=C++14 -324.menu.LanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 +324.menu.CppLanguageStandard.Cpp14=C++14 +324.menu.CppLanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 -324.menu.LanguageStandard.Cpp17=C++17 -324.menu.LanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 +324.menu.CppLanguageStandard.Cpp17=C++17 +324.menu.CppLanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 @@ -921,17 +920,17 @@ menu.LanguageStandard=Language Standard 164.menu.clock.1MHz_internal.build.f_cpu=1000000L # C++ Language Standard -164.menu.LanguageStandard.Default=Default -164.menu.LanguageStandard.Default.compiler.cpp.extra_flags= +164.menu.CppLanguageStandard.Default=Default +164.menu.CppLanguageStandard.Default.compiler.cpp.extra_flags= -164.menu.LanguageStandard.Cpp11=C++11 -164.menu.LanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 +164.menu.CppLanguageStandard.Cpp11=C++11 +164.menu.CppLanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 -164.menu.LanguageStandard.Cpp14=C++14 -164.menu.LanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 +164.menu.CppLanguageStandard.Cpp14=C++14 +164.menu.CppLanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 -164.menu.LanguageStandard.Cpp17=C++17 -164.menu.LanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 +164.menu.CppLanguageStandard.Cpp17=C++17 +164.menu.CppLanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 @@ -1109,17 +1108,17 @@ menu.LanguageStandard=Language Standard 32.menu.clock.1MHz_internal.build.f_cpu=1000000L # C++ Language Standard -32.menu.LanguageStandard.Default=Default -32.menu.LanguageStandard.Default.compiler.cpp.extra_flags= +32.menu.CppLanguageStandard.Default=Default +32.menu.CppLanguageStandard.Default.compiler.cpp.extra_flags= -32.menu.LanguageStandard.Cpp11=C++11 -32.menu.LanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 +32.menu.CppLanguageStandard.Cpp11=C++11 +32.menu.CppLanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 -32.menu.LanguageStandard.Cpp14=C++14 -32.menu.LanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 +32.menu.CppLanguageStandard.Cpp14=C++14 +32.menu.CppLanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 -32.menu.LanguageStandard.Cpp17=C++17 -32.menu.LanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 +32.menu.CppLanguageStandard.Cpp17=C++17 +32.menu.CppLanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 @@ -1297,17 +1296,17 @@ menu.LanguageStandard=Language Standard 16.menu.clock.1MHz_internal.build.f_cpu=1000000L # C++ Language Standard -16.menu.LanguageStandard.Default=Default -16.menu.LanguageStandard.Default.compiler.cpp.extra_flags= +16.menu.CppLanguageStandard.Default=Default +16.menu.CppLanguageStandard.Default.compiler.cpp.extra_flags= -16.menu.LanguageStandard.Cpp11=C++11 -16.menu.LanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 +16.menu.CppLanguageStandard.Cpp11=C++11 +16.menu.CppLanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 -16.menu.LanguageStandard.Cpp14=C++14 -16.menu.LanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 +16.menu.CppLanguageStandard.Cpp14=C++14 +16.menu.CppLanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 -16.menu.LanguageStandard.Cpp17=C++17 -16.menu.LanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 +16.menu.CppLanguageStandard.Cpp17=C++17 +16.menu.CppLanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 @@ -1485,14 +1484,14 @@ menu.LanguageStandard=Language Standard 8535.menu.clock.1MHz_internal.build.f_cpu=1000000L # C++ Language Standard -8535.menu.LanguageStandard.Default=Default -8535.menu.LanguageStandard.Default.compiler.cpp.extra_flags= +8535.menu.CppLanguageStandard.Default=Default +8535.menu.CppLanguageStandard.Default.compiler.cpp.extra_flags= -8535.menu.LanguageStandard.Cpp11=C++11 -8535.menu.LanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 +8535.menu.CppLanguageStandard.Cpp11=C++11 +8535.menu.CppLanguageStandard.Cpp11.compiler.cpp.extra_flags=-std=gnu++11 -8535.menu.LanguageStandard.Cpp14=C++14 -8535.menu.LanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 +8535.menu.CppLanguageStandard.Cpp14=C++14 +8535.menu.CppLanguageStandard.Cpp14.compiler.cpp.extra_flags=-std=gnu++14 -8535.menu.LanguageStandard.Cpp17=C++17 -8535.menu.LanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 +8535.menu.CppLanguageStandard.Cpp17=C++17 +8535.menu.CppLanguageStandard.Cpp17.compiler.cpp.extra_flags=-std=gnu++17 diff --git a/avr/platform.txt b/avr/platform.txt index f8675b12c..dffd646e3 100644 --- a/avr/platform.txt +++ b/avr/platform.txt @@ -17,15 +17,18 @@ compiler.warning_flags.default= compiler.warning_flags.more=-Wall compiler.warning_flags.all=-Wall -Wextra +compiler.c.languageStandard=-std=gnu11 +compiler.cpp.languageStandard=-std=gnu++11 + # Default "compiler.path" is correct, change only if you want to overidde the initial value compiler.path={runtime.tools.avr-gcc.path}/bin/ compiler.c.cmd=avr-gcc -compiler.c.flags=-c -g -Os {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -MMD +compiler.c.flags=-c -g -Os {compiler.warning_flags} {compiler.c.languageStandard} -ffunction-sections -fdata-sections -MMD compiler.c.elf.flags={compiler.warning_flags} -Os -Wl,--gc-sections,--section-start=.FAR_MEM1=0x10000 compiler.c.elf.cmd=avr-gcc compiler.S.flags=-c -g -x assembler-with-cpp compiler.cpp.cmd=avr-g++ -compiler.cpp.flags=-c -g -Os {compiler.warning_flags} -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD +compiler.cpp.flags=-c -g -Os {compiler.warning_flags} {compiler.cpp.languageStandard} -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD compiler.ar.cmd={ltoarcmd} compiler.ar.flags=rcs compiler.objcopy.cmd=avr-objcopy From 894fbd4b25f333c1feaff017b6b9b76d9d767092 Mon Sep 17 00:00:00 2001 From: Joshua Scoggins Date: Tue, 23 Feb 2021 18:05:40 -0800 Subject: [PATCH 6/9] Default to gnu++17 --- avr/platform.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/avr/platform.txt b/avr/platform.txt index dffd646e3..26eab8a63 100644 --- a/avr/platform.txt +++ b/avr/platform.txt @@ -18,7 +18,7 @@ compiler.warning_flags.more=-Wall compiler.warning_flags.all=-Wall -Wextra compiler.c.languageStandard=-std=gnu11 -compiler.cpp.languageStandard=-std=gnu++11 +compiler.cpp.languageStandard=-std=gnu++17 # Default "compiler.path" is correct, change only if you want to overidde the initial value compiler.path={runtime.tools.avr-gcc.path}/bin/ From 0587c2a3024b2ee505b32e3200df3f68ede12d33 Mon Sep 17 00:00:00 2001 From: Joshua Scoggins Date: Sun, 18 Apr 2021 16:15:17 -0700 Subject: [PATCH 7/9] import C++14 additional delete operators --- avr/cores/MCUdude_corefiles/new.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/avr/cores/MCUdude_corefiles/new.cpp b/avr/cores/MCUdude_corefiles/new.cpp index cf6f89c17..1b3aa71db 100755 --- a/avr/cores/MCUdude_corefiles/new.cpp +++ b/avr/cores/MCUdude_corefiles/new.cpp @@ -34,3 +34,18 @@ void operator delete[](void * ptr) { free(ptr); } +/// C++14 introduces additional delete operators +#if __cplusplus >= 201402L + +void operator delete(void * ptr, std::size_t) +{ + ::operator delete(ptr); +} + +void operator delete[](void * ptr, std::size_t) +{ + ::operator delete(ptr); +} + +#endif // end language is C++14 or greater + From bf7e733746600f0d61172a81b912ac4535dafc9d Mon Sep 17 00:00:00 2001 From: Joshua Scoggins Date: Sun, 18 Apr 2021 16:30:47 -0700 Subject: [PATCH 8/9] Whoops it is size_t not std::size_t... --- avr/cores/MCUdude_corefiles/new.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/avr/cores/MCUdude_corefiles/new.cpp b/avr/cores/MCUdude_corefiles/new.cpp index 1b3aa71db..cabcc36c4 100755 --- a/avr/cores/MCUdude_corefiles/new.cpp +++ b/avr/cores/MCUdude_corefiles/new.cpp @@ -37,12 +37,12 @@ void operator delete[](void * ptr) { /// C++14 introduces additional delete operators #if __cplusplus >= 201402L -void operator delete(void * ptr, std::size_t) +void operator delete(void * ptr, size_t) { ::operator delete(ptr); } -void operator delete[](void * ptr, std::size_t) +void operator delete[](void * ptr, size_t) { ::operator delete(ptr); } From eaf051d25d7704981838c56918143492501928e2 Mon Sep 17 00:00:00 2001 From: Joshua Scoggins Date: Sun, 18 Apr 2021 16:35:11 -0700 Subject: [PATCH 9/9] It's size_t not std::size_t... Blink doesn't care about the extra delete operators, Blink_with_Timer0 does! --- avr/cores/MCUdude_corefiles/new.cpp | 2 +- avr/cores/MCUdude_corefiles/new.h | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/avr/cores/MCUdude_corefiles/new.cpp b/avr/cores/MCUdude_corefiles/new.cpp index cabcc36c4..69a4a07a0 100755 --- a/avr/cores/MCUdude_corefiles/new.cpp +++ b/avr/cores/MCUdude_corefiles/new.cpp @@ -34,7 +34,7 @@ void operator delete[](void * ptr) { free(ptr); } -/// C++14 introduces additional delete operators +// C++14 introduces additional delete operators #if __cplusplus >= 201402L void operator delete(void * ptr, size_t) diff --git a/avr/cores/MCUdude_corefiles/new.h b/avr/cores/MCUdude_corefiles/new.h index 6e1b68f0d..a8a270502 100755 --- a/avr/cores/MCUdude_corefiles/new.h +++ b/avr/cores/MCUdude_corefiles/new.h @@ -26,5 +26,11 @@ void * operator new[](size_t size); void operator delete(void * ptr); void operator delete[](void * ptr); +// C++14 introduces additional delete operators +#if __cplusplus >= 201402L +void operator delete(void * ptr, size_t); +void operator delete[](void * ptr, size_t); +#endif // end language is C++14 or greater + #endif