[tree-ssa] diagnosing switch errors

Jeff Sturm jsturm@one-point.com
Thu Oct 30 23:44:00 GMT 2003


On Thu, 30 Oct 2003, Paul Brook wrote:
> On Thursday 30 October 2003 6:05 pm, Richard Henderson wrote:
> > So I went looking to see what Java and Fortran do.  And I can't
> > see that we check for duplicate case labels at all.  Am I correct
> > in this, or have I missed something?
>
> This is done much earlier on by gfortran. See fortran/resolve.c
> (resolve_select/check_case_overlap). By the time we generate trees for the
> switch we already know all the cases are valid. Fortran needs to be able to
> do switch statements for character (ie. string) variables, so checking at
> the GENERIC/GIMPLE level probably wouldn't gain us much.

Similarly, Java needs to handle duplicate case labels before emitting
bytecode, so any checking done in gimplify is redundant.

Jeff



More information about the Gcc mailing list