Purely a wild guess: try closing all Arduino IDE windows and then start the Arduino IDE. This will clear the cache, which would solve the problem if it was related to a corrupted cache.
I've cleared out 'Arduino Builds' and 'Users ... Temp' many times, but this one's proving quite sticky. It happens in both Arduino 1.8.9 and Visual Micro (Visual Studio 2019 latest).
The program needs 20K + static RAM, so I'm only trying to get it working for Arduino Due (compiles OK), Arduino MKR 1010 (this problem) and Adafruit Feather M0 (compiles OK).
I've tinkered with various '#ifdef' includes to try to narrow it down by changing which of my pieces is included, with no luck so far, and Google doesn't have much about this one.
I'm 'potentially' using a few libraries like WiFiNINA, WFi101, SImpleDHT.
Sorry for the delay, I've been fruitlessly experimenting with various #ifdefs to exclude some classes, and in this way I think I'm also currently excluding all user-installed libraries.
The problem persists for the MKR1010 in both the Arduino IDE (latest) and VS2019 + Visual Micro (latest).
In VS:
Severity Code Description Project File Line Suppression State
Error Error: unaligned opcodes detected in executable segment C:\Users\Jim\AppData\Local\Temp\ccKxhFGz.s -1
BUT I'm getting two other compilation errors which I suspect are the cause:
Severity Code Description Project File Line Suppression State
Error (active) E0035 #error directive: "Unable to determine type definition of intptr_t" IoTJackAC1 C:\Users\Jim\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\_intsup.h 68
Severity Code Description Project File Line Suppression State
Error (active) E0035 #error directive: "Unable to determine type definition of int32_t" IoTJackAC1 C:\Users\Jim\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\_intsup.h 75
I'm not directly including '_intsup.h'.
The .s file referred to in the first error isn't present in the Temp folder.
And sometime I get this one - also a mystery to me:
Severity Code Description Project File Line Suppression State
Error (active) E0338 more than one instance of overloaded function "itoa" has 'C' linkage IoTJackAC1 C:\Users\Jim\AppData\Local\Arduino15\packages\arduino\hardware\samd\1.8.3\cores\arduino\itoa.h 27
After a lot of work including/excluding various of my classes, and methods within classes, this seems to be due to a compiler oddity in a relatively straightforward utility method.
There are two switch statements based on the same 'int' variable, the order of which doesn't logically matter. If I comment out either switch or reverse the order, the error goes away.
One of the switch statements had 5 cases together (and no others), and I also found that splitting these cases into groups of 3 and 2 stopped the error.
There were no compiler errors or warnings for this method.
This was only a problem with MKR boards, and never occurred with Arduino Due, Feather M0, Sparkfun RedBoard Turbo or ESP32 DevKit V1, all of which compile, link and run OK.