Our website uses cookies to enhance your browsing experience.
Accept
to the top
>
>
>
V2505. MISRA. The 'goto' statement...
menu mobile close menu
Additional information
toggle menu Contents

V2505. MISRA. The 'goto' statement shouldn't jump to a label declared earlier.

Nov 19 2018

This diagnostic rule is based on the software development guidelines developed by MISRA (Motor Industry Software Reliability Association).

The use of a 'goto' statement that jumps to a previously declared label obscures the code and, therefore, makes it harder to maintain.

Here is an example of code that will trigger this warning:

void init(....)
{
  ....
again:
  ....
  if (....)
    if (....)
      goto again;
  ....
}

To eliminate the warning, delete the 'goto' statement or rewrite the code so that the 'goto' statement is followed, rather than preceded, by the label it refers to.

This diagnostic is classified as:

  • MISRA-C-2012-15.2
  • MISRA-C-2023-15.2
  • MISRA-CPP-2008-6.6.2