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

This diagnostic rule is based on the software development guidelines developed by [MISRA](https://www.misra.org.uk/) \(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: 

```cpp
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\.