I do not like or approve of using GOTO in a program, but I do wish to use it to do some debugging in a program with a long run time. Unfortunately it seems to not be working as indicated in the reference.
Here is the code directly from the sample in the description:
void setup() {
// put your setup code here, to run once:
}
void loop()
{
for(byte r = 0; r < 255; r++)
{
for(byte g = 255; g > -1; g--)
{
for(byte b = 0; b < 255; b++)
{
if (analogRead(0) > 250){ goto bailout;}
// more statements ...
}
}
}
}
bailout:
Here is the compile and the error messages:
Arduino: 1.8.2 (Windows 10), Board: "Arduino/Genuino Uno"
D:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware D:\Program Files (x86)\Arduino\hardware -tools D:\Program Files (x86)\Arduino\tools-builder -tools D:\Program Files (x86)\Arduino\hardware\tools\avr -built-in-libraries D:\Program Files (x86)\Arduino\libraries -libraries C:\Users\profb\OneDrive\Documents\Arduino\libraries -fqbn=arduino:avr:uno -vid-pid=0X2A03_0X0043 -ide-version=10802 -build-path C:\Users\profb\AppData\Local\Temp\arduino_build_466245 -warnings=default -build-cache C:\Users\profb\AppData\Local\Temp\arduino_cache_490649 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\Users\profb\OneDrive\Documents\Arduino\bailout_example\bailout_example.ino
D:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware D:\Program Files (x86)\Arduino\hardware -tools D:\Program Files (x86)\Arduino\tools-builder -tools D:\Program Files (x86)\Arduino\hardware\tools\avr -built-in-libraries D:\Program Files (x86)\Arduino\libraries -libraries C:\Users\profb\OneDrive\Documents\Arduino\libraries -fqbn=arduino:avr:uno -vid-pid=0X2A03_0X0043 -ide-version=10802 -build-path C:\Users\profb\AppData\Local\Temp\arduino_build_466245 -warnings=default -build-cache C:\Users\profb\AppData\Local\Temp\arduino_cache_490649 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\Users\profb\OneDrive\Documents\Arduino\bailout_example\bailout_example.ino
Using board 'uno' from platform in folder: D:\Program Files (x86)\Arduino\hardware\arduino\avr
Using core 'arduino' from platform in folder: D:\Program Files (x86)\Arduino\hardware\arduino\avr
Detecting libraries used...
"D:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10802 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-ID:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard" "C:\Users\profb\AppData\Local\Temp\arduino_build_466245\sketch\bailout_example.ino.cpp" -o "nul"
Generating function prototypes...
"D:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10802 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-ID:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard" "C:\Users\profb\AppData\Local\Temp\arduino_build_466245\sketch\bailout_example.ino.cpp" -o "C:\Users\profb\AppData\Local\Temp\arduino_build_466245\preproc\ctags_target_for_gcc_minus_e.cpp"
"D:\Program Files (x86)\Arduino\tools-builder\ctags\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\Users\profb\AppData\Local\Temp\arduino_build_466245\preproc\ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"D:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10802 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-ID:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard" "C:\Users\profb\AppData\Local\Temp\arduino_build_466245\sketch\bailout_example.ino.cpp" -o "C:\Users\profb\AppData\Local\Temp\arduino_build_466245\sketch\bailout_example.ino.cpp.o"
C:\Users\profb\OneDrive\Documents\Arduino\bailout_example\bailout_example.ino: In function 'void loop()':
bailout_example:15: error: label 'bailout' used but not defined
if (analogRead(0) > 250){ goto bailout;}
^
C:\Users\profb\OneDrive\Documents\Arduino\bailout_example\bailout_example.ino: At global scope:
bailout_example:22: error: 'bailout' does not name a type
bailout:
^
exit status 1
label 'bailout' used but not defined
Am I misunderstanding the reference, doing something wrong, or is the reference information incorrect?