1 //===-- lib/Semantics/canonicalize-do.h -------------------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef FORTRAN_SEMANTICS_CANONICALIZE_DO_H_ 10 #define FORTRAN_SEMANTICS_CANONICALIZE_DO_H_ 11 12 // Converts a LabelDo followed by a sequence of ExecutableConstructs (perhaps 13 // logically nested) into the more structured DoConstruct (explicitly nested) 14 namespace Fortran::parser { 15 struct Program; 16 bool CanonicalizeDo(Program &program); 17 } // namespace Fortran::parser 18 19 #endif // FORTRAN_SEMANTICS_CANONICALIZE_DO_H_ 20