The other symptom is that it is only failing for the intended board that the compile fails. Since this is the board that the sketch was compiled for under 1.0.5 I am suspicious that this is a caching issue. Where is the cache located? I want to manually delete it to try and force a complete rebuild under the new environment.
JoshuaBabcock:
is now giving errors about the scope of some variables which should have been defined in avr/interrupts.h.
When you encounter an error you'll see a button on the right side of the orange bar "Copy error messages". Click that button. Paste the error in a message here USING CODE TAGS (</> button on the toolbar).
JoshuaBabcock:
Where is the cache located?
It's a temporary folder with a randomized name. You can find the location by checking File > Preferences > Show verbose output during > compilation, compiling, then examine the contents of the black console window at the bottom of the Arduino IDE window (you need to scroll up to see it all).
I think the problem is that the DigiSpark's ATtiny85 microcontroller simply does not use those register names. Possibly there is some malfunctioning code in your sketch to add compatibility with the ATtiny85, I couldn't know without seeing the code.
JoshuaBabcock:
giving errors about the scope of some variables which should have been defined in avr/interrupts.h.
They're macros and they would be defined in avr/iotn85.h, not avr/interrupts.h
Maybe not the problem, but generally best to avoid the hourly build and stick with stable releases unless you are testing for the Arduino team. Hourly build often has bugs that haven't been found yet.
It wasn't. Installing the hourly build was a mistake, and I changed it to the 1.8.7 release with no result. Thanks for the tip though.
I think the problem is that the DigiSpark's ATtiny85 microcontroller simply does not use those register names. Possibly there is some malfunctioning code in your sketch to add compatibility with the ATtiny85, I couldn't know without seeing the code.
They're macros and they would be defined in avr/iotn85.h, not avr/interrupts.h
Yup, I was accidentally using a board that did to test the compilation. Sorry for the SPAM.