So this was my day
-
src\main.cpp:580:21: internal compiler error: in cxx_eval_call_expression, at cp/constexpr.c:1358
Lovely. Given this code compiles fine on IoT, but not under PIO's windows x86 platform package it seems they are using an old compiler, which would also explain why -std=gnu++17 doesn't seem to compile C++17 code, forcing me to revert to 14. I'm not sure what I can do about it, since I don't control PIO's packages, but it does seem curious to me that this would have such an old compiler. Maybe it has to do with their MiniGW package or whatever it's called. I *was* putting a neat little package together to prototype IoT and embedded applications on my PC without having to upload them every time i make a change. Seems I'll have to go about it a different way.
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
-
src\main.cpp:580:21: internal compiler error: in cxx_eval_call_expression, at cp/constexpr.c:1358
Lovely. Given this code compiles fine on IoT, but not under PIO's windows x86 platform package it seems they are using an old compiler, which would also explain why -std=gnu++17 doesn't seem to compile C++17 code, forcing me to revert to 14. I'm not sure what I can do about it, since I don't control PIO's packages, but it does seem curious to me that this would have such an old compiler. Maybe it has to do with their MiniGW package or whatever it's called. I *was* putting a neat little package together to prototype IoT and embedded applications on my PC without having to upload them every time i make a change. Seems I'll have to go about it a different way.
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
True story: Back in the Olde Dayes, I worked on a project on a microVAX using one of the very first Ada compilers for VAX/VMS. We were actually a beta site for the compiler company. Compiling a package containing generics would crash VMS, something to that point I thought was flatly impossible.
Software Zen:
delete this;
-
src\main.cpp:580:21: internal compiler error: in cxx_eval_call_expression, at cp/constexpr.c:1358
Lovely. Given this code compiles fine on IoT, but not under PIO's windows x86 platform package it seems they are using an old compiler, which would also explain why -std=gnu++17 doesn't seem to compile C++17 code, forcing me to revert to 14. I'm not sure what I can do about it, since I don't control PIO's packages, but it does seem curious to me that this would have such an old compiler. Maybe it has to do with their MiniGW package or whatever it's called. I *was* putting a neat little package together to prototype IoT and embedded applications on my PC without having to upload them every time i make a change. Seems I'll have to go about it a different way.
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
Did you try turning the compiler’s knobs? Like turning off all optimizations? I have a VAX/VMS story where their C compiler optimizer generated incorrect code for an Intro to C class. I did the rest of my labs in the Unix lab after that. VMS was very late to the C world as it was a PITA to use C for system programming. Every C string had to be converted to a “string descriptor” to call a system function.
-
Did you try turning the compiler’s knobs? Like turning off all optimizations? I have a VAX/VMS story where their C compiler optimizer generated incorrect code for an Intro to C class. I did the rest of my labs in the Unix lab after that. VMS was very late to the C world as it was a PITA to use C for system programming. Every C string had to be converted to a “string descriptor” to call a system function.
-
Did you try turning the compiler’s knobs? Like turning off all optimizations? I have a VAX/VMS story where their C compiler optimizer generated incorrect code for an Intro to C class. I did the rest of my labs in the Unix lab after that. VMS was very late to the C world as it was a PITA to use C for system programming. Every C string had to be converted to a “string descriptor” to call a system function.
I ended up moving away from PlatformIO so I could use a newer version of GCC and it buffed right out! :-D
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
-
And those string descriptors, along with the fact that every single system call validates arguments are why VMS has never been breached.
Rust may get us there again. And I say that without being a fan of it.
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
-
And those string descriptors, along with the fact that every single system call validates arguments are why VMS has never been breached.
Oh, it was breached. I had a copy of X.exe that would allow any regular user to elevate their privileges. (Only used for academic purposes!) They had subversions just like every other system for a reason. 4.0.5 etc (I think that is version that blocked the X exploit)
-
I ended up moving away from PlatformIO so I could use a newer version of GCC and it buffed right out! :-D
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix