External Issue: Internal Error: Segmentation Fault due to Bracket misplacement and other specific scenarios

19249, "LouisJenkinsCS", "Internal Error: Segmentation Fault due to Bracket misplacement and other specific scenarios", "2022-02-15T17:04:55Z"

When missing a bracket, which is really easy to do in very large code, there are circumstances where the compiler shows undefined behavior. In this case, it will result in a segmentation fault, but in other cases I had false compiler errors due to, as mentioned, undefined behavior. This MWE reproduces the issue, but can easily show up in larger codes, as it showed up in mine.

module M {
  class X {    
    proc Y() {
      if (true) {
        if (true) {
        } else {
      }
    }

    // Must be `override`!
    override proc Z() {}
  }
}
}

TIO

Output:

internal error: seg fault [util/misc.cpp:921]