There are many -- perhaps too many -- means of indirect addressing
data in this project.
Some of these are standard C++ language and library features,
-while others are local inventions in `lib/common`:
+while others are local inventions in `lib/Common`:
* Bare pointers (`Foo *p`): these are obviously nullable, non-owning,
undefined when uninitialized, shallowly copyable, reassignable, and often
not the right abstraction to use in this project.
Most semantic checks for statements are implemented by walking the parse tree
and performing analysis on the nodes they visit. My plan was to use this
method. The infrastructure for walking the parse tree for statement semantic
-checking is implemented in the files `lib/semantics/semantics.cpp`.
+checking is implemented in the files `lib/Semantics/semantics.cpp`.
Here's a fragment of the declaration of the framework's parse tree visitor from
-`lib/semantics/semantics.cpp`:
+`lib/Semantics/semantics.cpp`:
```C++
// A parse tree visitor that calls Enter/Leave functions from each checker
Since FUNCTION calls are a kind of expression, I was planning to base my
implementation on the contents of `parser::Expr` nodes. I would need to define
either an `Enter()` or `Leave()` function whose parameter was a `parser::Expr`
-node. Here's the declaration I put into `lib/semantics/check-do.h`:
+node. Here's the declaration I put into `lib/Semantics/check-do.h`:
```C++
void Leave(const parser::Expr &);
node.
Since my semantic check was focused on DO CONCURRENT statements, I added it to
-the file `lib/semantics/check-do.cpp` where most of the semantic checking for
+the file `lib/Semantics/check-do.cpp` where most of the semantic checking for
DO statements already lived.
## Taking advantage of prior work
When implementing a similar check for SUBROUTINE calls, I created a utility
-functions in `lib/semantics/semantics.cpp` to emit messages if
+functions in `lib/Semantics/semantics.cpp` to emit messages if
a symbol corresponding to an active DO variable was being potentially modified:
```C++
## Finding the source location
The source code location information that I'd need for the error message must
come from the parse tree. I looked in the file
-`include/flang/parser/parse-tree.h` and determined that a `struct Expr`
+`include/flang/Parser/parse-tree.h` and determined that a `struct Expr`
contained source location information since it had the field `CharBlock
source`. Thus, if I visited a `parser::Expr` node, I could get the source
location information for the associated expression.
## Determining the `INTENT`
I knew that I could find the `INTENT` of the dummy argument associated with the
actual argument from the function called `dummyIntent()` in the class
-`evaluate::ActualArgument` in the file `include/flang/evaluate/call.h`. So
+`evaluate::ActualArgument` in the file `include/flang/Evaluate/call.h`. So
if I could find an `evaluate::ActualArgument` in an expression, I could
determine the `INTENT` of the associated dummy argument. I knew that it was
valid to call `dummyIntent()` because the data on which `dummyIntent()`
Note that the compiler has multiple types called `Expr`. One is in the
`parser` namespace. `parser::Expr` is defined in the file
-`include/flang/parser/parse-tree.h`. It represents a parsed expression that
+`include/flang/Parser/parse-tree.h`. It represents a parsed expression that
maps directly to the source code and has fields that specify any operators in
the expression, the operands, and the source position of the expression.
Additionally, in the namespace `evaluate`, there are `evaluate::Expr<T>`
-template classes defined in the file `include/flang/evaluate/expression.h`.
+template classes defined in the file `include/flang/Evaluate/expression.h`.
These are parameterized over the various types of Fortran and constitute a
suite of strongly-typed representations of valid Fortran expressions of type
`T` that have been fully elaborated with conversion operations and subjected to
of an analyzed expression.
All of the declarations associated with both FUNCTION and SUBROUTINE calls are
-in `include/flang/evaluate/call.h`. An `evaluate::FunctionRef` inherits from
+in `include/flang/Evaluate/call.h`. An `evaluate::FunctionRef` inherits from
an `evaluate::ProcedureRef` which contains the list of
`evaluate::ActualArgument` nodes. But the relationship between an
`evaluate::FunctionRef` node and its associated arguments is not relevant. I
## Adding a parse tree visitor
I started my implementation by adding a visitor for `parser::Expr` nodes.
Since this analysis is part of DO construct checking, I did this in
-`lib/semantics/check-do.cpp`. I added a print statement to the visitor to
+`lib/Semantics/check-do.cpp`. I added a print statement to the visitor to
verify that my new code was actually getting executed.
-In `lib/semantics/check-do.h`, I added the declaration for the visitor:
+In `lib/Semantics/check-do.h`, I added the declaration for the visitor:
```C++
void Leave(const parser::Expr &);
```
-In `lib/semantics/check-do.cpp`, I added an (almost empty) implementation:
+In `lib/Semantics/check-do.cpp`, I added an (almost empty) implementation:
```C++
void DoChecker::Leave(const parser::Expr &) {
`evaluate::ActualArgument` nodes. The code that I planned to model it on
was the existing infrastructure that collected all of the `semantics::Symbol` nodes from an
`evaluate::Expr`. I found this implementation in
-`lib/evaluate/tools.cpp`:
+`lib/Evaluate/tools.cpp`:
```C++
struct CollectSymbolsHelper
```
Note that the `CollectSymbols()` function returns a `semantics::Symbolset`,
-which is declared in `include/flang/semantics/symbol.h`:
+which is declared in `include/flang/Semantics/symbol.h`:
```C++
using SymbolSet = std::set<SymbolRef>;
`std::set<Symbol &>` (a set of C++ references to symbols). But C++ doesn't
support sets that contain references. This limitation is part of the rationale
for the f18 implementation of type `common::Reference`, which is defined in
- `include/flang/common/reference.h`.
+ `include/flang/Common/reference.h`.
`SymbolRef`, the specialization of the template `common::Reference` for
`semantics::Symbol`, is declared in the file
-`include/flang/semantics/symbol.h`:
+`include/flang/Semantics/symbol.h`:
```C++
using SymbolRef = common::Reference<const Symbol>;
nodes from an `evaluate::Expr`, I first defined the required types
`ActualArgumentRef` and `ActualArgumentSet`. Since these are being
used exclusively for DO construct semantic checking (currently), I put their
-definitions into `lib/semantics/check-do.cpp`:
+definitions into `lib/Semantics/check-do.cpp`:
```C++
definition for `ActualArgumentRef` in that namespace, too.
I then modeled the code to create an `ActualArgumentSet` after the code to
-collect a `SymbolSet` and put it into `lib/semantics/check-do.cpp`:
+collect a `SymbolSet` and put it into `lib/Semantics/check-do.cpp`:
```C++
`evaluate::ActualArgument` node.
I was unsure of how to do this, so I browsed through existing code to look for
-how it treated `evaluate::ActualArgument` objects. Since most of the code that deals with the `evaluate` namespace is in the lib/evaluate directory, I looked there. I ran `grep` on all of the `.cpp` files looking for
-uses of `ActualArgument`. One of the first hits I got was in `lib/evaluate/call.cpp` in the definition of `ActualArgument::GetType()`:
+how it treated `evaluate::ActualArgument` objects. Since most of the code that deals with the `evaluate` namespace is in the lib/Evaluate directory, I looked there. I ran `grep` on all of the `.cpp` files looking for
+uses of `ActualArgument`. One of the first hits I got was in `lib/Evaluate/call.cpp` in the definition of `ActualArgument::GetType()`:
```C++
std::optional<DynamicType> ActualArgument::GetType() const {
`Expr<SomeType>`. So I guessed that I could use this member function to
get an `evaluate::Expr<SomeType>` on which I could perform further analysis.
-I also knew that the header file `include/flang/evaluate/tools.h` held many
+I also knew that the header file `include/flang/Evaluate/tools.h` held many
utility functions for dealing with `evaluate::Expr` objects. I was hoping to
find something that would determine if an `evaluate::Expr` was a variable. So
I searched for `IsVariable` and got a hit immediately.
But I actually needed more than just the knowledge that an `evaluate::Expr` was
a variable. I needed the `semantics::Symbol` associated with the variable. So
-I searched in `include/flang/evaluate/tools.h` for functions that returned a
+I searched in `include/flang/Evaluate/tools.h` for functions that returned a
`semantics::Symbol`. I found the following:
```C++
-//===-- include/flang/common/Fortran-features.h -----------------*- C++ -*-===//
+//===-- include/flang/Common/Fortran-features.h -----------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_COMMON_FORTRAN_FEATURES_H_
#define FORTRAN_COMMON_FORTRAN_FEATURES_H_
-#include "flang/common/Fortran.h"
-#include "flang/common/enum-set.h"
-#include "flang/common/idioms.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Common/enum-set.h"
+#include "flang/Common/idioms.h"
namespace Fortran::common {
-//===-- include/flang/common/Fortran.h --------------------------*- C++ -*-===//
+//===-- include/flang/Common/Fortran.h --------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/common/bit-population-count.h -------------*- C++ -*-===//
+//===-- include/flang/Common/bit-population-count.h -------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/common/constexpr-bitset.h -----------------*- C++ -*-===//
+//===-- include/flang/Common/constexpr-bitset.h -----------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/common/default-kinds.h --------------------*- C++ -*-===//
+//===-- include/flang/Common/default-kinds.h --------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_COMMON_DEFAULT_KINDS_H_
#define FORTRAN_COMMON_DEFAULT_KINDS_H_
-#include "flang/common/Fortran.h"
+#include "flang/Common/Fortran.h"
#include <cstdint>
namespace Fortran::common {
-//===-- include/flang/common/enum-set.h -------------------------*- C++ -*-===//
+//===-- include/flang/Common/enum-set.h -------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/common/format.h ---------------------------*- C++ -*-===//
+//===-- include/flang/Common/format.h ---------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#define FORTRAN_COMMON_FORMAT_H_
#include "enum-set.h"
-#include "flang/common/Fortran.h"
+#include "flang/Common/Fortran.h"
#include <cstring>
// Define a FormatValidator class template to validate a format expression
-//===-- include/flang/common/idioms.h ---------------------------*- C++ -*-===//
+//===-- include/flang/Common/idioms.h ---------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/common/indirection.h ----------------------*- C++ -*-===//
+//===-- include/flang/Common/indirection.h ----------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/common/interval.h -------------------------*- C++ -*-===//
+//===-- include/flang/Common/interval.h -------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/common/leading-zero-bit-count.h -----------*- C++ -*-===//
+//===-- include/flang/Common/leading-zero-bit-count.h -----------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/common/real.h -----------------------------*- C++ -*-===//
+//===-- include/flang/Common/real.h -----------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/common/reference-counted.h ----------------*- C++ -*-===//
+//===-- include/flang/Common/reference-counted.h ----------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/common/reference.h ------------------------*- C++ -*-===//
+//===-- include/flang/Common/reference.h ------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/common/restorer.h -------------------------*- C++ -*-===//
+//===-- include/flang/Common/restorer.h -------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/common/template.h -------------------------*- C++ -*-===//
+//===-- include/flang/Common/template.h -------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_COMMON_TEMPLATE_H_
#define FORTRAN_COMMON_TEMPLATE_H_
-#include "flang/common/idioms.h"
+#include "flang/Common/idioms.h"
#include <functional>
#include <optional>
#include <tuple>
-//===-- include/flang/common/uint128.h --------------------------*- C++ -*-===//
+//===-- include/flang/Common/uint128.h --------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/common/unsigned-const-division.h ----------*- C++ -*-===//
+//===-- include/flang/Common/unsigned-const-division.h ----------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/common/unwrap.h ---------------------------*- C++ -*-===//
+//===-- include/flang/Common/unwrap.h ---------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/decimal/binary-floating-point.h -----------*- C++ -*-===//
+//===-- include/flang/Decimal/binary-floating-point.h -----------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// Access and manipulate the fields of an IEEE-754 binary
// floating-point value via a generalized template.
-#include "flang/common/real.h"
-#include "flang/common/uint128.h"
+#include "flang/Common/real.h"
+#include "flang/Common/uint128.h"
#include <cinttypes>
#include <climits>
#include <cstring>
-/*===-- include/flang/decimal/decimal.h ---------------------------*- C++ -*-===
+/*===-- include/flang/Decimal/decimal.h ---------------------------*- C++ -*-===
*
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
* See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/evaluate/call.h ---------------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/call.h ---------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "constant.h"
#include "formatting.h"
#include "type.h"
-#include "flang/common/indirection.h"
-#include "flang/common/reference.h"
-#include "flang/parser/char-block.h"
-#include "flang/semantics/attr.h"
+#include "flang/Common/indirection.h"
+#include "flang/Common/reference.h"
+#include "flang/Parser/char-block.h"
+#include "flang/Semantics/attr.h"
#include <optional>
#include <ostream>
#include <vector>
-//===-- include/flang/evaluate/characteristics.h ----------------*- C++ -*-===//
+//===-- include/flang/Evaluate/characteristics.h ----------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "expression.h"
#include "shape.h"
#include "type.h"
-#include "flang/common/Fortran.h"
-#include "flang/common/enum-set.h"
-#include "flang/common/idioms.h"
-#include "flang/common/indirection.h"
-#include "flang/parser/char-block.h"
-#include "flang/semantics/symbol.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Common/enum-set.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/indirection.h"
+#include "flang/Parser/char-block.h"
+#include "flang/Semantics/symbol.h"
#include <optional>
#include <ostream>
#include <string>
-//===-- include/flang/evaluate/check-expression.h ---------------*- C++ -*-===//
+//===-- include/flang/Evaluate/check-expression.h ---------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/evaluate/common.h -------------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/common.h -------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#define FORTRAN_EVALUATE_COMMON_H_
#include "intrinsics-library.h"
-#include "flang/common/Fortran.h"
-#include "flang/common/default-kinds.h"
-#include "flang/common/enum-set.h"
-#include "flang/common/idioms.h"
-#include "flang/common/indirection.h"
-#include "flang/common/restorer.h"
-#include "flang/parser/char-block.h"
-#include "flang/parser/message.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Common/default-kinds.h"
+#include "flang/Common/enum-set.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/indirection.h"
+#include "flang/Common/restorer.h"
+#include "flang/Parser/char-block.h"
+#include "flang/Parser/message.h"
#include <cinttypes>
#include <map>
-//===-- include/flang/evaluate/complex.h ------------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/complex.h ------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/evaluate/constant.h -----------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/constant.h -----------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "formatting.h"
#include "type.h"
-#include "flang/common/default-kinds.h"
-#include "flang/common/reference.h"
+#include "flang/Common/default-kinds.h"
+#include "flang/Common/reference.h"
#include <map>
#include <ostream>
#include <vector>
-//===-- include/flang/evaluate/expression.h ---------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/expression.h ---------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "formatting.h"
#include "type.h"
#include "variable.h"
-#include "flang/common/Fortran.h"
-#include "flang/common/idioms.h"
-#include "flang/common/indirection.h"
-#include "flang/common/template.h"
-#include "flang/parser/char-block.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/indirection.h"
+#include "flang/Common/template.h"
+#include "flang/Parser/char-block.h"
#include <algorithm>
#include <list>
#include <ostream>
-//===-- include/flang/evaluate/fold.h ---------------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/fold.h ---------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/evaluate/formatting.h ---------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/formatting.h ---------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// It is inconvenient in C++ to have std::ostream::operator<<() as a direct
// friend function of a class template with many instantiations, so the
-// various representational class templates in lib/evaluate format themselves
+// various representational class templates in lib/Evaluate format themselves
// via AsFortran(std::ostream &) member functions, which the operator<<()
// overload below will call. Others have AsFortran() member functions that
// return strings.
// This header is meant to be included by the headers that define the several
// representational class templates that need it, not by external clients.
-#include "flang/common/indirection.h"
+#include "flang/Common/indirection.h"
#include <optional>
#include <ostream>
#include <type_traits>
-//===-- include/flang/evaluate/integer.h ------------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/integer.h ------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// (*"Signed" here means two's-complement, just to be clear. Ones'-complement
// and signed-magnitude encodings appear to be extinct in 2018.)
-#include "flang/common/bit-population-count.h"
-#include "flang/common/leading-zero-bit-count.h"
-#include "flang/evaluate/common.h"
+#include "flang/Common/bit-population-count.h"
+#include "flang/Common/leading-zero-bit-count.h"
+#include "flang/Evaluate/common.h"
#include <cinttypes>
#include <climits>
#include <cstddef>
-//===-- include/flang/evaluate/intrinsics-library.h -------------*- C++ -*-===//
+//===-- include/flang/Evaluate/intrinsics-library.h -------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/evaluate/intrinsics.h ---------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/intrinsics.h ---------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "call.h"
#include "characteristics.h"
#include "type.h"
-#include "flang/common/default-kinds.h"
-#include "flang/parser/char-block.h"
-#include "flang/parser/message.h"
+#include "flang/Common/default-kinds.h"
+#include "flang/Parser/char-block.h"
+#include "flang/Parser/message.h"
#include <optional>
#include <ostream>
#include <string>
-//===-- include/flang/evaluate/logical.h ------------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/logical.h ------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/evaluate/real.h ---------------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/real.h ---------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "formatting.h"
#include "integer.h"
#include "rounding-bits.h"
-#include "flang/common/real.h"
-#include "flang/evaluate/common.h"
+#include "flang/Common/real.h"
+#include "flang/Evaluate/common.h"
#include <cinttypes>
#include <limits>
#include <ostream>
-//===-- include/flang/evaluate/rounding-bits.h ------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/rounding-bits.h ------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/evaluate/shape.h --------------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/shape.h --------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "expression.h"
#include "traverse.h"
#include "variable.h"
-#include "flang/common/indirection.h"
-#include "flang/evaluate/tools.h"
-#include "flang/evaluate/type.h"
+#include "flang/Common/indirection.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Evaluate/type.h"
#include <optional>
#include <variant>
-//===-- include/flang/evaluate/static-data.h --------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/static-data.h --------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "formatting.h"
#include "type.h"
-#include "flang/common/idioms.h"
+#include "flang/Common/idioms.h"
#include <cinttypes>
#include <memory>
#include <optional>
-//===-- include/flang/evaluate/tools.h --------------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/tools.h --------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#define FORTRAN_EVALUATE_TOOLS_H_
#include "traverse.h"
-#include "flang/common/idioms.h"
-#include "flang/common/template.h"
-#include "flang/common/unwrap.h"
-#include "flang/evaluate/constant.h"
-#include "flang/evaluate/expression.h"
-#include "flang/parser/message.h"
-#include "flang/semantics/attr.h"
-#include "flang/semantics/symbol.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/template.h"
+#include "flang/Common/unwrap.h"
+#include "flang/Evaluate/constant.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Parser/message.h"
+#include "flang/Semantics/attr.h"
+#include "flang/Semantics/symbol.h"
#include <array>
#include <optional>
#include <set>
-//===-- include/flang/evaluate/traverse.h -----------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/traverse.h -----------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// - Overloads of operator() in each visitor handle the cases of interest.
#include "expression.h"
-#include "flang/semantics/symbol.h"
-#include "flang/semantics/type.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Semantics/type.h"
#include <set>
#include <type_traits>
-//===-- include/flang/evaluate/type.h ---------------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/type.h ---------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "integer.h"
#include "logical.h"
#include "real.h"
-#include "flang/common/Fortran.h"
-#include "flang/common/idioms.h"
-#include "flang/common/template.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/template.h"
#include <cinttypes>
#include <optional>
#include <string>
-//===-- include/flang/evaluate/variable.h -----------------------*- C++ -*-===//
+//===-- include/flang/Evaluate/variable.h -----------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "formatting.h"
#include "static-data.h"
#include "type.h"
-#include "flang/common/idioms.h"
-#include "flang/common/reference.h"
-#include "flang/common/template.h"
-#include "flang/parser/char-block.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/reference.h"
+#include "flang/Common/template.h"
+#include "flang/Parser/char-block.h"
#include <optional>
#include <ostream>
#include <variant>
-//===-- include/flang/lower/PFTBuilder.h ------------------------*- C++ -*-===//
+//===-- include/flang/Lower/PFTBuilder.h ------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_LOWER_PFT_BUILDER_H_
#define FORTRAN_LOWER_PFT_BUILDER_H_
-#include "flang/common/template.h"
-#include "flang/parser/parse-tree.h"
+#include "flang/Common/template.h"
+#include "flang/Parser/parse-tree.h"
#include "llvm/Support/raw_ostream.h"
#include <memory>
-//===-- include/flang/parser/char-block.h -----------------------*- C++ -*-===//
+//===-- include/flang/Parser/char-block.h -----------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// Describes a contiguous block of characters; does not own their storage.
-#include "flang/common/interval.h"
+#include "flang/Common/interval.h"
#include <algorithm>
#include <cstddef>
#include <cstring>
-//===-- include/flang/parser/char-buffer.h ----------------------*- C++ -*-===//
+//===-- include/flang/Parser/char-buffer.h ----------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/parser/char-set.h -------------------------*- C++ -*-===//
+//===-- include/flang/Parser/char-set.h -------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/parser/characters.h -----------------------*- C++ -*-===//
+//===-- include/flang/Parser/characters.h -----------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/parser/dump-parse-tree.h ------------------*- C++ -*-===//
+//===-- include/flang/Parser/dump-parse-tree.h ------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "parse-tree-visitor.h"
#include "parse-tree.h"
#include "unparse.h"
-#include "flang/common/idioms.h"
-#include "flang/common/indirection.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/indirection.h"
#include <ostream>
#include <sstream>
#include <string>
-//===-- include/flang/parser/format-specification.h -------------*- C++ -*-===//
+//===-- include/flang/Parser/format-specification.h -------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/parser/instrumented-parser.h --------------*- C++ -*-===//
+//===-- include/flang/Parser/instrumented-parser.h --------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "parse-state.h"
#include "user-state.h"
-#include "flang/parser/message.h"
-#include "flang/parser/provenance.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/provenance.h"
#include <cstddef>
#include <map>
#include <ostream>
-//===-- include/flang/parser/message.h --------------------------*- C++ -*-===//
+//===-- include/flang/Parser/message.h --------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "char-block.h"
#include "char-set.h"
#include "provenance.h"
-#include "flang/common/idioms.h"
-#include "flang/common/reference-counted.h"
-#include "flang/common/restorer.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/reference-counted.h"
+#include "flang/Common/restorer.h"
#include <cstddef>
#include <cstring>
#include <forward_list>
-//===-- include/flang/parser/parse-state.h ----------------------*- C++ -*-===//
+//===-- include/flang/Parser/parse-state.h ----------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// and recovery during parsing!
#include "user-state.h"
-#include "flang/common/Fortran-features.h"
-#include "flang/common/idioms.h"
-#include "flang/parser/characters.h"
-#include "flang/parser/message.h"
-#include "flang/parser/provenance.h"
+#include "flang/Common/Fortran-features.h"
+#include "flang/Common/idioms.h"
+#include "flang/Parser/characters.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/provenance.h"
#include <cstddef>
#include <cstring>
#include <list>
-//===-- include/flang/parser/parse-tree-visitor.h ---------------*- C++ -*-===//
+//===-- include/flang/Parser/parse-tree-visitor.h ---------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/parser/parse-tree.h -----------------------*- C++ -*-===//
+//===-- include/flang/Parser/parse-tree.h -----------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "format-specification.h"
#include "message.h"
#include "provenance.h"
-#include "flang/common/Fortran.h"
-#include "flang/common/idioms.h"
-#include "flang/common/indirection.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/indirection.h"
#include <cinttypes>
#include <list>
#include <memory>
-//===-- include/flang/parser/parsing.h --------------------------*- C++ -*-===//
+//===-- include/flang/Parser/parsing.h --------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "message.h"
#include "parse-tree.h"
#include "provenance.h"
-#include "flang/common/Fortran-features.h"
+#include "flang/Common/Fortran-features.h"
#include <optional>
#include <ostream>
#include <string>
-//===-- include/flang/parser/provenance.h -----------------------*- C++ -*-===//
+//===-- include/flang/Parser/provenance.h -----------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "char-buffer.h"
#include "characters.h"
#include "source.h"
-#include "flang/common/idioms.h"
-#include "flang/common/interval.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/interval.h"
#include <cstddef>
#include <map>
#include <memory>
-//===-- include/flang/parser/source.h ---------------------------*- C++ -*-===//
+//===-- include/flang/Parser/source.h ---------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/parser/tools.h ----------------------------*- C++ -*-===//
+//===-- include/flang/Parser/tools.h ----------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/parser/unparse.h --------------------------*- C++ -*-===//
+//===-- include/flang/Parser/unparse.h --------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- include/flang/parser/user-state.h -----------------------*- C++ -*-===//
+//===-- include/flang/Parser/user-state.h -----------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// parse tree construction so as to avoid any need for representing
// state in static data.
-#include "flang/common/Fortran-features.h"
-#include "flang/common/idioms.h"
-#include "flang/parser/char-block.h"
-#include "flang/parser/parse-tree.h"
+#include "flang/Common/Fortran-features.h"
+#include "flang/Common/idioms.h"
+#include "flang/Parser/char-block.h"
+#include "flang/Parser/parse-tree.h"
#include <cinttypes>
#include <optional>
#include <ostream>
-//===-- include/flang/semantics/attr.h --------------------------*- C++ -*-===//
+//===-- include/flang/Semantics/attr.h --------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_ATTR_H_
#define FORTRAN_SEMANTICS_ATTR_H_
-#include "flang/common/enum-set.h"
-#include "flang/common/idioms.h"
+#include "flang/Common/enum-set.h"
+#include "flang/Common/idioms.h"
#include <cinttypes>
#include <string>
-//===-- include/flang/semantics/expression.h --------------------*- C++ -*-===//
+//===-- include/flang/Semantics/expression.h --------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#define FORTRAN_SEMANTICS_EXPRESSION_H_
#include "semantics.h"
-#include "flang/common/Fortran.h"
-#include "flang/common/indirection.h"
-#include "flang/evaluate/characteristics.h"
-#include "flang/evaluate/check-expression.h"
-#include "flang/evaluate/expression.h"
-#include "flang/evaluate/fold.h"
-#include "flang/evaluate/tools.h"
-#include "flang/evaluate/type.h"
-#include "flang/parser/char-block.h"
-#include "flang/parser/parse-tree-visitor.h"
-#include "flang/parser/parse-tree.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Common/indirection.h"
+#include "flang/Evaluate/characteristics.h"
+#include "flang/Evaluate/check-expression.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Evaluate/type.h"
+#include "flang/Parser/char-block.h"
+#include "flang/Parser/parse-tree-visitor.h"
+#include "flang/Parser/parse-tree.h"
#include <map>
#include <optional>
#include <variant>
-//===-- include/flang/semantics/scope.h -------------------------*- C++ -*-===//
+//===-- include/flang/Semantics/scope.h -------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "attr.h"
#include "symbol.h"
-#include "flang/common/Fortran.h"
-#include "flang/common/idioms.h"
-#include "flang/common/reference.h"
-#include "flang/parser/message.h"
-#include "flang/parser/provenance.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/reference.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/provenance.h"
#include <list>
#include <map>
#include <optional>
-//===-- include/flang/semantics/semantics.h ---------------------*- C++ -*-===//
+//===-- include/flang/Semantics/semantics.h ---------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "scope.h"
#include "symbol.h"
-#include "flang/common/Fortran-features.h"
-#include "flang/evaluate/common.h"
-#include "flang/evaluate/intrinsics.h"
-#include "flang/parser/message.h"
+#include "flang/Common/Fortran-features.h"
+#include "flang/Evaluate/common.h"
+#include "flang/Evaluate/intrinsics.h"
+#include "flang/Parser/message.h"
#include <iosfwd>
#include <string>
#include <vector>
-//===-- include/flang/semantics/symbol.h ------------------------*- C++ -*-===//
+//===-- include/flang/Semantics/symbol.h ------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#define FORTRAN_SEMANTICS_SYMBOL_H_
#include "type.h"
-#include "flang/common/Fortran.h"
-#include "flang/common/enum-set.h"
-#include "flang/common/reference.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Common/enum-set.h"
+#include "flang/Common/reference.h"
#include <array>
#include <list>
#include <optional>
};
// Define a few member functions here in the header so that they
-// can be used by lib/evaluate without inducing a dependence cycle
+// can be used by lib/Evaluate without inducing a dependence cycle
// between the two shared libraries.
inline bool ProcEntityDetails::HasExplicitInterface() const {
-//===-- include/flang/semantics/tools.h -------------------------*- C++ -*-===//
+//===-- include/flang/Semantics/tools.h -------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// Simple predicates and look-up functions that are best defined
// canonically for use in semantic checking.
-#include "flang/common/Fortran.h"
-#include "flang/evaluate/expression.h"
-#include "flang/evaluate/type.h"
-#include "flang/evaluate/variable.h"
-#include "flang/parser/message.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/attr.h"
-#include "flang/semantics/expression.h"
-#include "flang/semantics/semantics.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Evaluate/type.h"
+#include "flang/Evaluate/variable.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/attr.h"
+#include "flang/Semantics/expression.h"
+#include "flang/Semantics/semantics.h"
#include <functional>
namespace Fortran::semantics {
-//===-- include/flang/semantics/type.h --------------------------*- C++ -*-===//
+//===-- include/flang/Semantics/type.h --------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_TYPE_H_
#define FORTRAN_SEMANTICS_TYPE_H_
-#include "flang/common/Fortran.h"
-#include "flang/common/idioms.h"
-#include "flang/evaluate/expression.h"
-#include "flang/parser/char-block.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Common/idioms.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Parser/char-block.h"
#include <algorithm>
#include <iosfwd>
#include <map>
-//===-- include/flang/semantics/unparse-with-symbols.h ----------*- C++ -*-===//
+//===-- include/flang/Semantics/unparse-with-symbols.h ----------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_UNPARSE_WITH_SYMBOLS_H_
#define FORTRAN_SEMANTICS_UNPARSE_WITH_SYMBOLS_H_
-#include "flang/parser/characters.h"
+#include "flang/Parser/characters.h"
#include <iosfwd>
namespace Fortran::parser {
#
#===------------------------------------------------------------------------===#
-add_subdirectory(common)
-add_subdirectory(evaluate)
-add_subdirectory(decimal)
-add_subdirectory(lower)
-add_subdirectory(parser)
-add_subdirectory(semantics)
+add_subdirectory(Common)
+add_subdirectory(Evaluate)
+add_subdirectory(Decimal)
+add_subdirectory(Lower)
+add_subdirectory(Parser)
+add_subdirectory(Semantics)
-#===-- lib/common/CMakeLists.txt -------------------------------------------===#
+#===-- lib/Common/CMakeLists.txt -------------------------------------------===#
#
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/common/Fortran-features.cpp -----------------------------------===//
+//===-- lib/Common/Fortran-features.cpp -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/common/Fortran-features.h"
-#include "flang/common/Fortran.h"
-#include "flang/common/idioms.h"
+#include "flang/Common/Fortran-features.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Common/idioms.h"
namespace Fortran::common {
-//===-- lib/common/Fortran.cpp --------------------------------------------===//
+//===-- lib/Common/Fortran.cpp --------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/common/Fortran.h"
+#include "flang/Common/Fortran.h"
namespace Fortran::common {
-//===-- lib/common/default-kinds.cpp --------------------------------------===//
+//===-- lib/Common/default-kinds.cpp --------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/common/default-kinds.h"
-#include "flang/common/idioms.h"
+#include "flang/Common/default-kinds.h"
+#include "flang/Common/idioms.h"
namespace Fortran::common {
-//===-- lib/common/idioms.cpp ---------------------------------------------===//
+//===-- lib/Common/idioms.cpp ---------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/common/idioms.h"
+#include "flang/Common/idioms.h"
#include <cstdarg>
#include <cstdio>
#include <cstdlib>
-#===-- lib/decimal/CMakeLists.txt ------------------------------------------===#
+#===-- lib/Decimal/CMakeLists.txt ------------------------------------------===#
#
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/decimal/big-radix-floating-point.h ------------------*- C++ -*-===//
+//===-- lib/Decimal/big-radix-floating-point.h ------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// for conversions between binary and decimal representations; it is not
// a general-purpose facility.
-#include "flang/common/bit-population-count.h"
-#include "flang/common/leading-zero-bit-count.h"
-#include "flang/common/uint128.h"
-#include "flang/common/unsigned-const-division.h"
-#include "flang/decimal/binary-floating-point.h"
-#include "flang/decimal/decimal.h"
+#include "flang/Common/bit-population-count.h"
+#include "flang/Common/leading-zero-bit-count.h"
+#include "flang/Common/uint128.h"
+#include "flang/Common/unsigned-const-division.h"
+#include "flang/Decimal/binary-floating-point.h"
+#include "flang/Decimal/decimal.h"
#include <cinttypes>
#include <limits>
#include <type_traits>
-//===-- lib/decimal/binary-to-decimal.cpp ---------------------------------===//
+//===-- lib/Decimal/binary-to-decimal.cpp ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "big-radix-floating-point.h"
-#include "flang/decimal/decimal.h"
+#include "flang/Decimal/decimal.h"
namespace Fortran::decimal {
-//===-- lib/decimal/decimal-to-binary.cpp ---------------------------------===//
+//===-- lib/Decimal/decimal-to-binary.cpp ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "big-radix-floating-point.h"
-#include "flang/common/bit-population-count.h"
-#include "flang/common/leading-zero-bit-count.h"
-#include "flang/decimal/binary-floating-point.h"
-#include "flang/decimal/decimal.h"
+#include "flang/Common/bit-population-count.h"
+#include "flang/Common/leading-zero-bit-count.h"
+#include "flang/Decimal/binary-floating-point.h"
+#include "flang/Decimal/decimal.h"
#include <cinttypes>
#include <cstring>
#include <ctype.h>
-#===-- lib/evaluate/CMakeLists.txt -----------------------------------------===#
+#===-- lib/Evaluate/CMakeLists.txt -----------------------------------------===#
#
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/evaluate/call.cpp ---------------------------------------------===//
+//===-- lib/Evaluate/call.cpp ---------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/call.h"
-#include "flang/common/idioms.h"
-#include "flang/evaluate/characteristics.h"
-#include "flang/evaluate/expression.h"
-#include "flang/evaluate/tools.h"
-#include "flang/semantics/symbol.h"
+#include "flang/Evaluate/call.h"
+#include "flang/Common/idioms.h"
+#include "flang/Evaluate/characteristics.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Semantics/symbol.h"
namespace Fortran::evaluate {
-//===-- lib/evaluate/character.h --------------------------------*- C++ -*-===//
+//===-- lib/Evaluate/character.h --------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_EVALUATE_CHARACTER_H_
#define FORTRAN_EVALUATE_CHARACTER_H_
-#include "flang/evaluate/type.h"
+#include "flang/Evaluate/type.h"
#include <string>
// Provides implementations of intrinsic functions operating on character
-//===-- lib/evaluate/characteristics.cpp ----------------------------------===//
+//===-- lib/Evaluate/characteristics.cpp ----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/characteristics.h"
-#include "flang/common/indirection.h"
-#include "flang/evaluate/check-expression.h"
-#include "flang/evaluate/fold.h"
-#include "flang/evaluate/intrinsics.h"
-#include "flang/evaluate/tools.h"
-#include "flang/evaluate/type.h"
-#include "flang/parser/message.h"
-#include "flang/semantics/scope.h"
-#include "flang/semantics/symbol.h"
+#include "flang/Evaluate/characteristics.h"
+#include "flang/Common/indirection.h"
+#include "flang/Evaluate/check-expression.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Evaluate/intrinsics.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Evaluate/type.h"
+#include "flang/Parser/message.h"
+#include "flang/Semantics/scope.h"
+#include "flang/Semantics/symbol.h"
#include <initializer_list>
#include <ostream>
-//===-- lib/evaluate/check-expression.cpp ---------------------------------===//
+//===-- lib/Evaluate/check-expression.cpp ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/check-expression.h"
-#include "flang/evaluate/traverse.h"
-#include "flang/evaluate/type.h"
-#include "flang/semantics/symbol.h"
-#include "flang/semantics/tools.h"
+#include "flang/Evaluate/check-expression.h"
+#include "flang/Evaluate/traverse.h"
+#include "flang/Evaluate/type.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Semantics/tools.h"
namespace Fortran::evaluate {
-//===-- lib/evaluate/common.cpp -------------------------------------------===//
+//===-- lib/Evaluate/common.cpp -------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/common.h"
-#include "flang/common/idioms.h"
+#include "flang/Evaluate/common.h"
+#include "flang/Common/idioms.h"
using namespace Fortran::parser::literals;
-//===-- lib/evaluate/complex.cpp ------------------------------------------===//
+//===-- lib/Evaluate/complex.cpp ------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/complex.h"
+#include "flang/Evaluate/complex.h"
namespace Fortran::evaluate::value {
-//===-- lib/evaluate/constant.cpp -----------------------------------------===//
+//===-- lib/Evaluate/constant.cpp -----------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/constant.h"
-#include "flang/evaluate/expression.h"
-#include "flang/evaluate/shape.h"
-#include "flang/evaluate/type.h"
+#include "flang/Evaluate/constant.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Evaluate/shape.h"
+#include "flang/Evaluate/type.h"
#include <string>
namespace Fortran::evaluate {
-//===-- lib/evaluate/expression.cpp ---------------------------------------===//
+//===-- lib/Evaluate/expression.cpp ---------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/expression.h"
+#include "flang/Evaluate/expression.h"
#include "int-power.h"
-#include "flang/common/idioms.h"
-#include "flang/evaluate/common.h"
-#include "flang/evaluate/tools.h"
-#include "flang/evaluate/variable.h"
-#include "flang/parser/message.h"
+#include "flang/Common/idioms.h"
+#include "flang/Evaluate/common.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Evaluate/variable.h"
+#include "flang/Parser/message.h"
#include <string>
#include <type_traits>
-//===-- lib/evaluate/fold-character.cpp -----------------------------------===//
+//===-- lib/Evaluate/fold-character.cpp -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/evaluate/fold-complex.cpp -------------------------------------===//
+//===-- lib/Evaluate/fold-complex.cpp -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/evaluate/fold-implementation.h --------------------------------===//
+//===-- lib/Evaluate/fold-implementation.h --------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "host.h"
#include "int-power.h"
#include "intrinsics-library-templates.h"
-#include "flang/common/indirection.h"
-#include "flang/common/template.h"
-#include "flang/common/unwrap.h"
-#include "flang/evaluate/characteristics.h"
-#include "flang/evaluate/common.h"
-#include "flang/evaluate/constant.h"
-#include "flang/evaluate/expression.h"
-#include "flang/evaluate/fold.h"
-#include "flang/evaluate/formatting.h"
-#include "flang/evaluate/shape.h"
-#include "flang/evaluate/tools.h"
-#include "flang/evaluate/traverse.h"
-#include "flang/evaluate/type.h"
-#include "flang/parser/message.h"
-#include "flang/semantics/scope.h"
-#include "flang/semantics/symbol.h"
-#include "flang/semantics/tools.h"
+#include "flang/Common/indirection.h"
+#include "flang/Common/template.h"
+#include "flang/Common/unwrap.h"
+#include "flang/Evaluate/characteristics.h"
+#include "flang/Evaluate/common.h"
+#include "flang/Evaluate/constant.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Evaluate/formatting.h"
+#include "flang/Evaluate/shape.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Evaluate/traverse.h"
+#include "flang/Evaluate/type.h"
+#include "flang/Parser/message.h"
+#include "flang/Semantics/scope.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Semantics/tools.h"
#include <algorithm>
#include <cmath>
#include <complex>
-//===-- lib/evaluate/fold-integer.cpp -------------------------------------===//
+//===-- lib/Evaluate/fold-integer.cpp -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/evaluate/fold-logical.cpp -------------------------------------===//
+//===-- lib/Evaluate/fold-logical.cpp -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "fold-implementation.h"
-#include "flang/evaluate/check-expression.h"
+#include "flang/Evaluate/check-expression.h"
namespace Fortran::evaluate {
-//===-- lib/evaluate/fold-real.cpp ----------------------------------------===//
+//===-- lib/Evaluate/fold-real.cpp ----------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/evaluate/fold.cpp ---------------------------------------------===//
+//===-- lib/Evaluate/fold.cpp ---------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/fold.h"
+#include "flang/Evaluate/fold.h"
#include "fold-implementation.h"
namespace Fortran::evaluate {
-//===-- lib/evaluate/formatting.cpp ---------------------------------------===//
+//===-- lib/Evaluate/formatting.cpp ---------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/formatting.h"
-#include "flang/evaluate/call.h"
-#include "flang/evaluate/constant.h"
-#include "flang/evaluate/expression.h"
-#include "flang/evaluate/fold.h"
-#include "flang/evaluate/tools.h"
-#include "flang/parser/characters.h"
-#include "flang/semantics/symbol.h"
+#include "flang/Evaluate/formatting.h"
+#include "flang/Evaluate/call.h"
+#include "flang/Evaluate/constant.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Parser/characters.h"
+#include "flang/Semantics/symbol.h"
#include <sstream>
namespace Fortran::evaluate {
-//===-- lib/evaluate/host.cpp ---------------------------------------------===//
+//===-- lib/Evaluate/host.cpp ---------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "host.h"
-#include "flang/common/idioms.h"
+#include "flang/Common/idioms.h"
#include <cerrno>
#include <cfenv>
-//===-- lib/evaluate/host.h -------------------------------------*- C++ -*-===//
+//===-- lib/Evaluate/host.h -------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// hardware type maps to Fortran intrinsic type T. Then HostType<T> can be used
// to safely refer to this hardware type.
-#include "flang/evaluate/type.h"
+#include "flang/Evaluate/type.h"
#include <cfenv>
#include <complex>
#include <cstdint>
-//===-- lib/evaluate/int-power.h --------------------------------*- C++ -*-===//
+//===-- lib/Evaluate/int-power.h --------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// Computes an integer power of a real or complex value.
-#include "flang/evaluate/common.h"
+#include "flang/Evaluate/common.h"
namespace Fortran::evaluate {
-//===-- lib/evaluate/integer.cpp ------------------------------------------===//
+//===-- lib/Evaluate/integer.cpp ------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/integer.h"
+#include "flang/Evaluate/integer.h"
namespace Fortran::evaluate::value {
-//===-- lib/evaluate/intrinsics-library-templates.h -------------*- C++ -*-===//
+//===-- lib/Evaluate/intrinsics-library-templates.h -------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// which version should be instantiated in a generic way.
#include "host.h"
-#include "flang/common/template.h"
-#include "flang/evaluate/intrinsics-library.h"
-#include "flang/evaluate/type.h"
+#include "flang/Common/template.h"
+#include "flang/Evaluate/intrinsics-library.h"
+#include "flang/Evaluate/type.h"
#include <tuple>
#include <type_traits>
-//===-- lib/evaluate/intrinsics-library.cpp -------------------------------===//
+//===-- lib/Evaluate/intrinsics-library.cpp -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/evaluate/intrinsics.cpp ---------------------------------------===//
+//===-- lib/Evaluate/intrinsics.cpp ---------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/intrinsics.h"
-#include "flang/common/Fortran.h"
-#include "flang/common/enum-set.h"
-#include "flang/common/idioms.h"
-#include "flang/evaluate/common.h"
-#include "flang/evaluate/expression.h"
-#include "flang/evaluate/fold.h"
-#include "flang/evaluate/shape.h"
-#include "flang/evaluate/tools.h"
-#include "flang/evaluate/type.h"
+#include "flang/Evaluate/intrinsics.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Common/enum-set.h"
+#include "flang/Common/idioms.h"
+#include "flang/Evaluate/common.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Evaluate/shape.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Evaluate/type.h"
#include <algorithm>
#include <map>
#include <ostream>
-//===-- lib/evaluate/logical.cpp ------------------------------------------===//
+//===-- lib/Evaluate/logical.cpp ------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/logical.h"
+#include "flang/Evaluate/logical.h"
namespace Fortran::evaluate::value {
-//===-- lib/evaluate/real.cpp ---------------------------------------------===//
+//===-- lib/Evaluate/real.cpp ---------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/real.h"
+#include "flang/Evaluate/real.h"
#include "int-power.h"
-#include "flang/common/idioms.h"
-#include "flang/decimal/decimal.h"
-#include "flang/parser/characters.h"
+#include "flang/Common/idioms.h"
+#include "flang/Decimal/decimal.h"
+#include "flang/Parser/characters.h"
#include <limits>
namespace Fortran::evaluate::value {
-//===-- lib/evaluate/shape.cpp --------------------------------------------===//
+//===-- lib/Evaluate/shape.cpp --------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/shape.h"
-#include "flang/common/idioms.h"
-#include "flang/common/template.h"
-#include "flang/evaluate/characteristics.h"
-#include "flang/evaluate/fold.h"
-#include "flang/evaluate/intrinsics.h"
-#include "flang/evaluate/tools.h"
-#include "flang/evaluate/type.h"
-#include "flang/parser/message.h"
-#include "flang/semantics/symbol.h"
+#include "flang/Evaluate/shape.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/template.h"
+#include "flang/Evaluate/characteristics.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Evaluate/intrinsics.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Evaluate/type.h"
+#include "flang/Parser/message.h"
+#include "flang/Semantics/symbol.h"
#include <functional>
using namespace std::placeholders; // _1, _2, &c. for std::bind()
-//===-- lib/evaluate/static-data.cpp --------------------------------------===//
+//===-- lib/Evaluate/static-data.cpp --------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/static-data.h"
-#include "flang/parser/characters.h"
+#include "flang/Evaluate/static-data.h"
+#include "flang/Parser/characters.h"
namespace Fortran::evaluate {
-//===-- lib/evaluate/tools.cpp --------------------------------------------===//
+//===-- lib/Evaluate/tools.cpp --------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/tools.h"
-#include "flang/common/idioms.h"
-#include "flang/evaluate/characteristics.h"
-#include "flang/evaluate/traverse.h"
-#include "flang/parser/message.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Common/idioms.h"
+#include "flang/Evaluate/characteristics.h"
+#include "flang/Evaluate/traverse.h"
+#include "flang/Parser/message.h"
#include <algorithm>
#include <variant>
-//===-- lib/evaluate/type.cpp ---------------------------------------------===//
+//===-- lib/Evaluate/type.cpp ---------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/type.h"
-#include "flang/common/idioms.h"
-#include "flang/common/template.h"
-#include "flang/evaluate/expression.h"
-#include "flang/evaluate/fold.h"
-#include "flang/parser/characters.h"
-#include "flang/semantics/scope.h"
-#include "flang/semantics/symbol.h"
-#include "flang/semantics/tools.h"
-#include "flang/semantics/type.h"
+#include "flang/Evaluate/type.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/template.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Parser/characters.h"
+#include "flang/Semantics/scope.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Semantics/tools.h"
+#include "flang/Semantics/type.h"
#include <algorithm>
#include <optional>
#include <sstream>
-//===-- lib/evaluate/variable.cpp -----------------------------------------===//
+//===-- lib/Evaluate/variable.cpp -----------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/evaluate/variable.h"
-#include "flang/common/idioms.h"
-#include "flang/evaluate/fold.h"
-#include "flang/evaluate/tools.h"
-#include "flang/parser/char-block.h"
-#include "flang/parser/characters.h"
-#include "flang/parser/message.h"
-#include "flang/semantics/symbol.h"
+#include "flang/Evaluate/variable.h"
+#include "flang/Common/idioms.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Parser/char-block.h"
+#include "flang/Parser/characters.h"
+#include "flang/Parser/message.h"
+#include "flang/Semantics/symbol.h"
#include <ostream>
#include <type_traits>
-//===-- lib/lower/PFTBuilder.cc -------------------------------------------===//
+//===-- lib/Lower/PFTBuilder.cc -------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/lower/PFTBuilder.h"
-#include "flang/parser/dump-parse-tree.h"
-#include "flang/parser/parse-tree-visitor.h"
+#include "flang/Lower/PFTBuilder.h"
+#include "flang/Parser/dump-parse-tree.h"
+#include "flang/Parser/parse-tree-visitor.h"
#include "llvm/ADT/DenseMap.h"
#include <algorithm>
#include <cassert>
-#===-- lib/parser/CMakeLists.txt -------------------------------------------===#
+#===-- lib/Parser/CMakeLists.txt -------------------------------------------===#
#
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/parser/Fortran-parsers.cpp ------------------------------------===//
+//===-- lib/Parser/Fortran-parsers.cpp ------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "stmt-parser.h"
#include "token-parsers.h"
#include "type-parser-implementation.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/parser/user-state.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Parser/user-state.h"
namespace Fortran::parser {
-//===-- lib/parser/basic-parsers.h ------------------------------*- C++ -*-===//
+//===-- lib/Parser/basic-parsers.h ------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// This header defines the fundamental parser class templates and helper
// template functions. See parser-combinators.txt for documentation.
-#include "flang/common/Fortran-features.h"
-#include "flang/common/idioms.h"
-#include "flang/common/indirection.h"
-#include "flang/parser/char-block.h"
-#include "flang/parser/message.h"
-#include "flang/parser/parse-state.h"
-#include "flang/parser/provenance.h"
-#include "flang/parser/user-state.h"
+#include "flang/Common/Fortran-features.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/indirection.h"
+#include "flang/Parser/char-block.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/parse-state.h"
+#include "flang/Parser/provenance.h"
+#include "flang/Parser/user-state.h"
#include <cstring>
#include <functional>
#include <list>
-//===-- lib/parser/char-block.cpp -------------------------------*- C++ -*-===//
+//===-- lib/Parser/char-block.cpp -------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//----------------------------------------------------------------------------//
-#include "flang/parser/char-block.h"
+#include "flang/Parser/char-block.h"
#include <ostream>
namespace Fortran::parser {
-//===-- lib/parser/char-buffer.cpp ----------------------------------------===//
+//===-- lib/Parser/char-buffer.cpp ----------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/parser/char-buffer.h"
-#include "flang/common/idioms.h"
+#include "flang/Parser/char-buffer.h"
+#include "flang/Common/idioms.h"
#include <algorithm>
#include <cstddef>
#include <cstring>
-//===-- lib/parser/char-set.cpp -------------------------------------------===//
+//===-- lib/Parser/char-set.cpp -------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/parser/char-set.h"
+#include "flang/Parser/char-set.h"
namespace Fortran::parser {
-//===-- lib/parser/characters.cpp -----------------------------------------===//
+//===-- lib/Parser/characters.cpp -----------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/parser/characters.h"
-#include "flang/common/idioms.h"
+#include "flang/Parser/characters.h"
+#include "flang/Common/idioms.h"
#include <algorithm>
#include <cstddef>
#include <optional>
-//===-- lib/parser/debug-parser.cpp ---------------------------------------===//
+//===-- lib/Parser/debug-parser.cpp ---------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "debug-parser.h"
-#include "flang/parser/user-state.h"
+#include "flang/Parser/user-state.h"
#include <ostream>
#include <string>
-//===-- lib/parser/debug-parser.h -------------------------------*- C++ -*-===//
+//===-- lib/Parser/debug-parser.h -------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// flow of the parsers. Not to be used in production.
#include "basic-parsers.h"
-#include "flang/parser/parse-state.h"
+#include "flang/Parser/parse-state.h"
#include <cstddef>
#include <optional>
-//===-- lib/parser/executable-parsers.cpp ---------------------------------===//
+//===-- lib/Parser/executable-parsers.cpp ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "stmt-parser.h"
#include "token-parsers.h"
#include "type-parser-implementation.h"
-#include "flang/parser/characters.h"
-#include "flang/parser/parse-tree.h"
+#include "flang/Parser/characters.h"
+#include "flang/Parser/parse-tree.h"
namespace Fortran::parser {
-//===-- lib/parser/expr-parsers.cpp ---------------------------------------===//
+//===-- lib/Parser/expr-parsers.cpp ---------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "stmt-parser.h"
#include "token-parsers.h"
#include "type-parser-implementation.h"
-#include "flang/parser/characters.h"
-#include "flang/parser/parse-tree.h"
+#include "flang/Parser/characters.h"
+#include "flang/Parser/parse-tree.h"
namespace Fortran::parser {
-//===-- lib/parser/expr-parsers.h -------------------------------*- C++ -*-===//
+//===-- lib/Parser/expr-parsers.h -------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "basic-parsers.h"
#include "token-parsers.h"
#include "type-parsers.h"
-#include "flang/parser/parse-tree.h"
+#include "flang/Parser/parse-tree.h"
namespace Fortran::parser {
-//===-- lib/parser/instrumented-parser.cpp --------------------------------===//
+//===-- lib/Parser/instrumented-parser.cpp --------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/parser/instrumented-parser.h"
-#include "flang/parser/message.h"
-#include "flang/parser/provenance.h"
+#include "flang/Parser/instrumented-parser.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/provenance.h"
#include <map>
#include <ostream>
-//===-- lib/parser/io-parsers.cpp -----------------------------------------===//
+//===-- lib/Parser/io-parsers.cpp -----------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "stmt-parser.h"
#include "token-parsers.h"
#include "type-parser-implementation.h"
-#include "flang/parser/characters.h"
-#include "flang/parser/parse-tree.h"
+#include "flang/Parser/characters.h"
+#include "flang/Parser/parse-tree.h"
namespace Fortran::parser {
// R1201 io-unit -> file-unit-number | * | internal-file-variable
-//===-- lib/parser/message.cpp --------------------------------------------===//
+//===-- lib/Parser/message.cpp --------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/parser/message.h"
-#include "flang/common/idioms.h"
-#include "flang/parser/char-set.h"
+#include "flang/Parser/message.h"
+#include "flang/Common/idioms.h"
+#include "flang/Parser/char-set.h"
#include <algorithm>
#include <cstdarg>
#include <cstddef>
-//===-- lib/parser/misc-parsers.h -------------------------------*- C++ -*-===//
+//===-- lib/Parser/misc-parsers.h -------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "basic-parsers.h"
#include "token-parsers.h"
#include "type-parsers.h"
-#include "flang/parser/message.h"
-#include "flang/parser/parse-tree.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/parse-tree.h"
namespace Fortran::parser {
-//===-- lib/parser/openmp-parsers.cpp -------------------------------------===//
+//===-- lib/Parser/openmp-parsers.cpp -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "stmt-parser.h"
#include "token-parsers.h"
#include "type-parser-implementation.h"
-#include "flang/parser/parse-tree.h"
+#include "flang/Parser/parse-tree.h"
// OpenMP Directives and Clauses
namespace Fortran::parser {
-//===-- lib/parser/parse-tree.cpp -----------------------------------------===//
+//===-- lib/Parser/parse-tree.cpp -----------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/parser/parse-tree.h"
-#include "flang/common/idioms.h"
-#include "flang/common/indirection.h"
-#include "flang/parser/user-state.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/indirection.h"
+#include "flang/Parser/user-state.h"
#include <algorithm>
// So "delete Expr;" calls an external destructor for its typedExpr.
-//===-- lib/parser/parsing.cpp --------------------------------------------===//
+//===-- lib/Parser/parsing.cpp --------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/parser/parsing.h"
+#include "flang/Parser/parsing.h"
#include "preprocessor.h"
#include "prescan.h"
#include "type-parsers.h"
-#include "flang/parser/message.h"
-#include "flang/parser/provenance.h"
-#include "flang/parser/source.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/provenance.h"
+#include "flang/Parser/source.h"
#include <sstream>
namespace Fortran::parser {
-//===-- lib/parser/preprocessor.cpp ---------------------------------------===//
+//===-- lib/Parser/preprocessor.cpp ---------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "preprocessor.h"
#include "prescan.h"
-#include "flang/common/idioms.h"
-#include "flang/parser/characters.h"
-#include "flang/parser/message.h"
+#include "flang/Common/idioms.h"
+#include "flang/Parser/characters.h"
+#include "flang/Parser/message.h"
#include <algorithm>
#include <cinttypes>
#include <cstddef>
-//===-- lib/parser/preprocessor.h -------------------------------*- C++ -*-===//
+//===-- lib/Parser/preprocessor.h -------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// extensions for preprocessing will not be necessary.
#include "token-sequence.h"
-#include "flang/parser/char-block.h"
-#include "flang/parser/provenance.h"
+#include "flang/Parser/char-block.h"
+#include "flang/Parser/provenance.h"
#include <cstddef>
#include <list>
#include <stack>
-//===-- lib/parser/prescan.cpp --------------------------------------------===//
+//===-- lib/Parser/prescan.cpp --------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "prescan.h"
#include "preprocessor.h"
#include "token-sequence.h"
-#include "flang/common/idioms.h"
-#include "flang/parser/characters.h"
-#include "flang/parser/message.h"
-#include "flang/parser/source.h"
+#include "flang/Common/idioms.h"
+#include "flang/Parser/characters.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/source.h"
#include <cstddef>
#include <cstring>
#include <sstream>
-//===-- lib/parser/prescan.h ------------------------------------*- C++ -*-===//
+//===-- lib/Parser/prescan.h ------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// inclusion, and driving the Fortran source preprocessor.
#include "token-sequence.h"
-#include "flang/common/Fortran-features.h"
-#include "flang/parser/characters.h"
-#include "flang/parser/message.h"
-#include "flang/parser/provenance.h"
+#include "flang/Common/Fortran-features.h"
+#include "flang/Parser/characters.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/provenance.h"
#include <bitset>
#include <optional>
#include <string>
-//===-- lib/parser/program-parsers.cpp ------------------------------------===//
+//===-- lib/Parser/program-parsers.cpp ------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "stmt-parser.h"
#include "token-parsers.h"
#include "type-parser-implementation.h"
-#include "flang/parser/characters.h"
-#include "flang/parser/parse-tree.h"
+#include "flang/Parser/characters.h"
+#include "flang/Parser/parse-tree.h"
namespace Fortran::parser {
-//===-- lib/parser/provenance.cpp -----------------------------------------===//
+//===-- lib/Parser/provenance.cpp -----------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/parser/provenance.h"
-#include "flang/common/idioms.h"
+#include "flang/Parser/provenance.h"
+#include "flang/Common/idioms.h"
#include <algorithm>
#include <utility>
-//===-- lib/parser/source.cpp ---------------------------------------------===//
+//===-- lib/Parser/source.cpp ---------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/parser/source.h"
-#include "flang/common/idioms.h"
-#include "flang/parser/char-buffer.h"
+#include "flang/Parser/source.h"
+#include "flang/Common/idioms.h"
+#include "flang/Parser/char-buffer.h"
#include <algorithm>
#include <cerrno>
#include <cstddef>
-//===-- lib/parser/stmt-parser.h --------------------------------*- C++ -*-===//
+//===-- lib/Parser/stmt-parser.h --------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/parser/token-parsers.h ------------------------------*- C++ -*-===//
+//===-- lib/Parser/token-parsers.h ------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "basic-parsers.h"
#include "type-parsers.h"
-#include "flang/common/idioms.h"
-#include "flang/parser/char-set.h"
-#include "flang/parser/characters.h"
-#include "flang/parser/instrumented-parser.h"
-#include "flang/parser/provenance.h"
+#include "flang/Common/idioms.h"
+#include "flang/Parser/char-set.h"
+#include "flang/Parser/characters.h"
+#include "flang/Parser/instrumented-parser.h"
+#include "flang/Parser/provenance.h"
#include <cctype>
#include <cstddef>
#include <cstring>
-//===-- lib/parser/token-sequence.cpp -------------------------------------===//
+//===-- lib/Parser/token-sequence.cpp -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "token-sequence.h"
-#include "flang/parser/characters.h"
+#include "flang/Parser/characters.h"
namespace Fortran::parser {
-//===-- lib/parser/token-sequence.h -----------------------------*- C++ -*-===//
+//===-- lib/Parser/token-sequence.h -----------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// and a partitioning thereof into preprocessing tokens, along with their
// associated provenances.
-#include "flang/parser/char-block.h"
-#include "flang/parser/provenance.h"
+#include "flang/Parser/char-block.h"
+#include "flang/Parser/provenance.h"
#include <cstddef>
#include <cstring>
#include <ostream>
-//===-- lib/parser/tools.cpp ----------------------------------------------===//
+//===-- lib/Parser/tools.cpp ----------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/parser/tools.h"
+#include "flang/Parser/tools.h"
namespace Fortran::parser {
-//===-- lib/parser/type-parser-implementation.h -----------------*- C++ -*-===//
+//===-- lib/Parser/type-parser-implementation.h -----------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/parser/type-parsers.h -------------------------------*- C++ -*-===//
+//===-- lib/Parser/type-parsers.h -------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_PARSER_TYPE_PARSERS_H_
#define FORTRAN_PARSER_TYPE_PARSERS_H_
-#include "flang/parser/instrumented-parser.h"
-#include "flang/parser/parse-tree.h"
+#include "flang/Parser/instrumented-parser.h"
+#include "flang/Parser/parse-tree.h"
#include <optional>
namespace Fortran::parser {
-//===-- lib/parser/unparse.cpp --------------------------------------------===//
+//===-- lib/Parser/unparse.cpp --------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// Generates Fortran from the content of a parse tree, using the
// traversal templates in parse-tree-visitor.h.
-#include "flang/parser/unparse.h"
-#include "flang/common/Fortran.h"
-#include "flang/common/idioms.h"
-#include "flang/common/indirection.h"
-#include "flang/parser/characters.h"
-#include "flang/parser/parse-tree-visitor.h"
-#include "flang/parser/parse-tree.h"
+#include "flang/Parser/unparse.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/indirection.h"
+#include "flang/Parser/characters.h"
+#include "flang/Parser/parse-tree-visitor.h"
+#include "flang/Parser/parse-tree.h"
#include <algorithm>
#include <cinttypes>
#include <cstddef>
-//===-- lib/parser/user-state.cpp -----------------------------------------===//
+//===-- lib/Parser/user-state.cpp -----------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/parser/user-state.h"
+#include "flang/Parser/user-state.h"
#include "stmt-parser.h"
#include "type-parsers.h"
-#include "flang/parser/parse-state.h"
+#include "flang/Parser/parse-state.h"
#include <optional>
namespace Fortran::parser {
-#===-- lib/semantics/CMakeLists.txt ----------------------------------------===#
+#===-- lib/Semantics/CMakeLists.txt ----------------------------------------===#
#
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/semantics/assignment.cpp --------------------------------------===//
+//===-- lib/Semantics/assignment.cpp --------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "assignment.h"
#include "pointer-assignment.h"
-#include "flang/common/idioms.h"
-#include "flang/common/restorer.h"
-#include "flang/evaluate/characteristics.h"
-#include "flang/evaluate/expression.h"
-#include "flang/evaluate/fold.h"
-#include "flang/evaluate/tools.h"
-#include "flang/parser/message.h"
-#include "flang/parser/parse-tree-visitor.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/expression.h"
-#include "flang/semantics/symbol.h"
-#include "flang/semantics/tools.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/restorer.h"
+#include "flang/Evaluate/characteristics.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/parse-tree-visitor.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/expression.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Semantics/tools.h"
#include <optional>
#include <set>
#include <string>
-//===-- lib/semantics/assignment.h ------------------------------*- C++ -*-===//
+//===-- lib/Semantics/assignment.h ------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_ASSIGNMENT_H_
#define FORTRAN_SEMANTICS_ASSIGNMENT_H_
-#include "flang/common/indirection.h"
-#include "flang/evaluate/expression.h"
-#include "flang/semantics/semantics.h"
+#include "flang/Common/indirection.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Semantics/semantics.h"
namespace Fortran::parser {
class ContextualMessages;
-//===-- lib/semantics/attr.cpp --------------------------------------------===//
+//===-- lib/Semantics/attr.cpp --------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/semantics/attr.h"
-#include "flang/common/idioms.h"
+#include "flang/Semantics/attr.h"
+#include "flang/Common/idioms.h"
#include <ostream>
#include <stddef.h>
-//===-- lib/semantics/canonicalize-do.cpp ---------------------------------===//
+//===-- lib/Semantics/canonicalize-do.cpp ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "canonicalize-do.h"
-#include "flang/parser/parse-tree-visitor.h"
+#include "flang/Parser/parse-tree-visitor.h"
namespace Fortran::parser {
-//===-- lib/semantics/canonicalize-do.h -------------------------*- C++ -*-===//
+//===-- lib/Semantics/canonicalize-do.h -------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/semantics/canonicalize-omp.cpp --------------------------------===//
+//===-- lib/Semantics/canonicalize-omp.cpp --------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "canonicalize-omp.h"
-#include "flang/parser/parse-tree-visitor.h"
+#include "flang/Parser/parse-tree-visitor.h"
// After Loop Canonicalization, rewrite OpenMP parse tree to make OpenMP
// Constructs more structured which provide explicit scopes for later
-//===-- lib/semantics/canonicalize-omp.h ------------------------*- C++ -*-===//
+//===-- lib/Semantics/canonicalize-omp.h ------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/semantics/check-allocate.cpp ----------------------------------===//
+//===-- lib/Semantics/check-allocate.cpp ----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "check-allocate.h"
#include "assignment.h"
-#include "flang/evaluate/fold.h"
-#include "flang/evaluate/type.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/parser/tools.h"
-#include "flang/semantics/attr.h"
-#include "flang/semantics/expression.h"
-#include "flang/semantics/tools.h"
-#include "flang/semantics/type.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Evaluate/type.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Parser/tools.h"
+#include "flang/Semantics/attr.h"
+#include "flang/Semantics/expression.h"
+#include "flang/Semantics/tools.h"
+#include "flang/Semantics/type.h"
namespace Fortran::semantics {
-//===-- lib/semantics/check-allocate.h --------------------------*- C++ -*-===//
+//===-- lib/Semantics/check-allocate.h --------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_CHECK_ALLOCATE_H_
#define FORTRAN_SEMANTICS_CHECK_ALLOCATE_H_
-#include "flang/semantics/semantics.h"
+#include "flang/Semantics/semantics.h"
namespace Fortran::parser {
struct AllocateStmt;
-//===-- lib/semantics/check-arithmeticif.cpp ------------------------------===//
+//===-- lib/Semantics/check-arithmeticif.cpp ------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "check-arithmeticif.h"
-#include "flang/parser/message.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/tools.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/tools.h"
namespace Fortran::semantics {
-//===-- lib/semantics/check-arithmeticif.h ----------------------*- C++ -*-===//
+//===-- lib/Semantics/check-arithmeticif.h ----------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_CHECK_ARITHMETICIF_STMT_H_
#define FORTRAN_SEMANTICS_CHECK_ARITHMETICIF_STMT_H_
-#include "flang/semantics/semantics.h"
+#include "flang/Semantics/semantics.h"
namespace Fortran::parser {
struct ArithmeticIfStmt;
-//===-- lib/semantics/check-call.cpp --------------------------------------===//
+//===-- lib/Semantics/check-call.cpp --------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "check-call.h"
#include "pointer-assignment.h"
-#include "flang/evaluate/characteristics.h"
-#include "flang/evaluate/check-expression.h"
-#include "flang/evaluate/shape.h"
-#include "flang/evaluate/tools.h"
-#include "flang/parser/characters.h"
-#include "flang/parser/message.h"
-#include "flang/semantics/scope.h"
-#include "flang/semantics/tools.h"
+#include "flang/Evaluate/characteristics.h"
+#include "flang/Evaluate/check-expression.h"
+#include "flang/Evaluate/shape.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Parser/characters.h"
+#include "flang/Parser/message.h"
+#include "flang/Semantics/scope.h"
+#include "flang/Semantics/tools.h"
#include <map>
#include <string>
-//===-- lib/semantics/check-call.h ------------------------------*- C++ -*-===//
+//===-- lib/Semantics/check-call.h ------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_CHECK_CALL_H_
#define FORTRAN_SEMANTICS_CHECK_CALL_H_
-#include "flang/evaluate/call.h"
+#include "flang/Evaluate/call.h"
namespace Fortran::parser {
class Messages;
-//===-- lib/semantics/check-coarray.cpp -----------------------------------===//
+//===-- lib/Semantics/check-coarray.cpp -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "check-coarray.h"
-#include "flang/common/indirection.h"
-#include "flang/evaluate/expression.h"
-#include "flang/parser/message.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/parser/tools.h"
-#include "flang/semantics/expression.h"
-#include "flang/semantics/tools.h"
+#include "flang/Common/indirection.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Parser/tools.h"
+#include "flang/Semantics/expression.h"
+#include "flang/Semantics/tools.h"
namespace Fortran::semantics {
-//===-- lib/semantics/check-coarray.h ---------------------------*- C++ -*-===//
+//===-- lib/Semantics/check-coarray.h ---------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_CHECK_COARRAY_H_
#define FORTRAN_SEMANTICS_CHECK_COARRAY_H_
-#include "flang/semantics/semantics.h"
+#include "flang/Semantics/semantics.h"
#include <list>
namespace Fortran::parser {
-//===-- lib/semantics/check-data.cpp --------------------------------------===//
+//===-- lib/Semantics/check-data.cpp --------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-------lib/semantics/check-data.h ------------------------------------===//
+//===-------lib/Semantics/check-data.h ------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_CHECK_DATA_H_
#define FORTRAN_SEMANTICS_CHECK_DATA_H_
-#include "flang/parser/parse-tree.h"
-#include "flang/parser/tools.h"
-#include "flang/semantics/semantics.h"
-#include "flang/semantics/tools.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Parser/tools.h"
+#include "flang/Semantics/semantics.h"
+#include "flang/Semantics/tools.h"
namespace Fortran::semantics {
class DataChecker : public virtual BaseChecker {
-//===-- lib/semantics/check-deallocate.cpp --------------------------------===//
+//===-- lib/Semantics/check-deallocate.cpp --------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "check-deallocate.h"
-#include "flang/parser/message.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/expression.h"
-#include "flang/semantics/tools.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/expression.h"
+#include "flang/Semantics/tools.h"
namespace Fortran::semantics {
-//===-- lib/semantics/check-deallocate.h ------------------------*- C++ -*-===//
+//===-- lib/Semantics/check-deallocate.h ------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_CHECK_DEALLOCATE_H_
#define FORTRAN_SEMANTICS_CHECK_DEALLOCATE_H_
-#include "flang/semantics/semantics.h"
+#include "flang/Semantics/semantics.h"
namespace Fortran::parser {
struct DeallocateStmt;
-//===-- lib/semantics/check-declarations.cpp ------------------------------===//
+//===-- lib/Semantics/check-declarations.cpp ------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// Static declaration checking
#include "check-declarations.h"
-#include "flang/evaluate/check-expression.h"
-#include "flang/evaluate/fold.h"
-#include "flang/evaluate/tools.h"
-#include "flang/semantics/scope.h"
-#include "flang/semantics/semantics.h"
-#include "flang/semantics/symbol.h"
-#include "flang/semantics/tools.h"
-#include "flang/semantics/type.h"
+#include "flang/Evaluate/check-expression.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Semantics/scope.h"
+#include "flang/Semantics/semantics.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Semantics/tools.h"
+#include "flang/Semantics/type.h"
#include <algorithm>
namespace Fortran::semantics {
-//===-- lib/semantics/check-declarations.h ----------------------*- C++ -*-===//
+//===-- lib/Semantics/check-declarations.h ----------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/semantics/check-do-forall.cpp ---------------------------------===//
+//===-- lib/Semantics/check-do-forall.cpp ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "check-do-forall.h"
-#include "flang/common/template.h"
-#include "flang/evaluate/call.h"
-#include "flang/evaluate/expression.h"
-#include "flang/evaluate/tools.h"
-#include "flang/parser/message.h"
-#include "flang/parser/parse-tree-visitor.h"
-#include "flang/parser/tools.h"
-#include "flang/semantics/attr.h"
-#include "flang/semantics/scope.h"
-#include "flang/semantics/semantics.h"
-#include "flang/semantics/symbol.h"
-#include "flang/semantics/tools.h"
-#include "flang/semantics/type.h"
+#include "flang/Common/template.h"
+#include "flang/Evaluate/call.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/parse-tree-visitor.h"
+#include "flang/Parser/tools.h"
+#include "flang/Semantics/attr.h"
+#include "flang/Semantics/scope.h"
+#include "flang/Semantics/semantics.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Semantics/tools.h"
+#include "flang/Semantics/type.h"
namespace Fortran::evaluate {
using ActualArgumentRef = common::Reference<const ActualArgument>;
-//===-- lib/semantics/check-do-forall.h -------------------------*- C++ -*-===//
+//===-- lib/Semantics/check-do-forall.h -------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_CHECK_DO_FORALL_H_
#define FORTRAN_SEMANTICS_CHECK_DO_FORALL_H_
-#include "flang/common/idioms.h"
-#include "flang/semantics/semantics.h"
+#include "flang/Common/idioms.h"
+#include "flang/Semantics/semantics.h"
namespace Fortran::parser {
struct AssignmentStmt;
-//===-- lib/semantics/check-if-stmt.cpp -----------------------------------===//
+//===-- lib/Semantics/check-if-stmt.cpp -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "check-if-stmt.h"
-#include "flang/parser/message.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/tools.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/tools.h"
namespace Fortran::semantics {
-//===-- lib/semantics/check-if-stmt.h ---------------------------*- C++ -*-===//
+//===-- lib/Semantics/check-if-stmt.h ---------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_CHECK_IF_STMT_H_
#define FORTRAN_SEMANTICS_CHECK_IF_STMT_H_
-#include "flang/semantics/semantics.h"
+#include "flang/Semantics/semantics.h"
namespace Fortran::parser {
struct IfStmt;
-//===-- lib/semantics/check-io.cpp ----------------------------------------===//
+//===-- lib/Semantics/check-io.cpp ----------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "check-io.h"
-#include "flang/common/format.h"
-#include "flang/parser/tools.h"
-#include "flang/semantics/expression.h"
-#include "flang/semantics/tools.h"
+#include "flang/Common/format.h"
+#include "flang/Parser/tools.h"
+#include "flang/Semantics/expression.h"
+#include "flang/Semantics/tools.h"
#include <unordered_map>
namespace Fortran::semantics {
-//===-- lib/semantics/check-io.h --------------------------------*- C++ -*-===//
+//===-- lib/Semantics/check-io.h --------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_CHECK_IO_H_
#define FORTRAN_SEMANTICS_CHECK_IO_H_
-#include "flang/common/enum-set.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/semantics.h"
-#include "flang/semantics/tools.h"
+#include "flang/Common/enum-set.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/semantics.h"
+#include "flang/Semantics/tools.h"
namespace Fortran::semantics {
-//===-- lib/semantics/check-nullify.cpp -----------------------------------===//
+//===-- lib/Semantics/check-nullify.cpp -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "check-nullify.h"
#include "assignment.h"
-#include "flang/evaluate/expression.h"
-#include "flang/parser/message.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/expression.h"
-#include "flang/semantics/tools.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/expression.h"
+#include "flang/Semantics/tools.h"
namespace Fortran::semantics {
-//===-- lib/semantics/check-nullify.h ---------------------------*- C++ -*-===//
+//===-- lib/Semantics/check-nullify.h ---------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_CHECK_NULLIFY_H_
#define FORTRAN_SEMANTICS_CHECK_NULLIFY_H_
-#include "flang/semantics/semantics.h"
+#include "flang/Semantics/semantics.h"
namespace Fortran::parser {
struct NullifyStmt;
-//===-- lib/semantics/check-omp-structure.cpp -----------------------------===//
+//===-- lib/Semantics/check-omp-structure.cpp -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "check-omp-structure.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/tools.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/tools.h"
#include <unordered_map>
namespace Fortran::semantics {
-//===-- lib/semantics/check-omp-structure.h ---------------------*- C++ -*-===//
+//===-- lib/Semantics/check-omp-structure.h ---------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_CHECK_OMP_STRUCTURE_H_
#define FORTRAN_SEMANTICS_CHECK_OMP_STRUCTURE_H_
-#include "flang/common/enum-set.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/semantics.h"
+#include "flang/Common/enum-set.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/semantics.h"
namespace Fortran::semantics {
-//===-- lib/semantics/check-purity.cpp ------------------------------------===//
+//===-- lib/Semantics/check-purity.cpp ------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "check-purity.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/tools.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/tools.h"
namespace Fortran::semantics {
void PurityChecker::Enter(const parser::ExecutableConstruct &exec) {
-//===-- lib/semantics/check-purity.h ----------------------------*- C++ -*-===//
+//===-- lib/Semantics/check-purity.h ----------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_CHECK_PURITY_H_
#define FORTRAN_SEMANTICS_CHECK_PURITY_H_
-#include "flang/semantics/semantics.h"
+#include "flang/Semantics/semantics.h"
#include <list>
namespace Fortran::parser {
struct ExecutableConstruct;
-//===-- lib/semantics/check-return.cpp ------------------------------------===//
+//===-- lib/Semantics/check-return.cpp ------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "check-return.h"
-#include "flang/common/Fortran-features.h"
-#include "flang/parser/message.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/semantics.h"
-#include "flang/semantics/tools.h"
+#include "flang/Common/Fortran-features.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/semantics.h"
+#include "flang/Semantics/tools.h"
namespace Fortran::semantics {
-//===-- lib/semantics/check-return.h ----------------------------*- C++ -*-===//
+//===-- lib/Semantics/check-return.h ----------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_CHECK_RETURN_H_
#define FORTRAN_SEMANTICS_CHECK_RETURN_H_
-#include "flang/semantics/semantics.h"
+#include "flang/Semantics/semantics.h"
namespace Fortran::parser {
struct ReturnStmt;
-//===-- lib/semantics/check-stop.cpp --------------------------------------===//
+//===-- lib/Semantics/check-stop.cpp --------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "check-stop.h"
-#include "flang/common/Fortran.h"
-#include "flang/evaluate/expression.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/semantics.h"
-#include "flang/semantics/tools.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/semantics.h"
+#include "flang/Semantics/tools.h"
#include <optional>
namespace Fortran::semantics {
-//===-- lib/semantics/check-stop.h ------------------------------*- C++ -*-===//
+//===-- lib/Semantics/check-stop.h ------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_CHECK_STOP_H_
#define FORTRAN_SEMANTICS_CHECK_STOP_H_
-#include "flang/semantics/semantics.h"
+#include "flang/Semantics/semantics.h"
namespace Fortran::parser {
struct StopStmt;
-//===-- lib/semantics/expression.cpp --------------------------------------===//
+//===-- lib/Semantics/expression.cpp --------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/semantics/expression.h"
+#include "flang/Semantics/expression.h"
#include "check-call.h"
#include "pointer-assignment.h"
-#include "flang/common/idioms.h"
-#include "flang/evaluate/common.h"
-#include "flang/evaluate/fold.h"
-#include "flang/evaluate/tools.h"
-#include "flang/parser/characters.h"
-#include "flang/parser/dump-parse-tree.h"
-#include "flang/parser/parse-tree-visitor.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/scope.h"
-#include "flang/semantics/semantics.h"
-#include "flang/semantics/symbol.h"
-#include "flang/semantics/tools.h"
+#include "flang/Common/idioms.h"
+#include "flang/Evaluate/common.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Parser/characters.h"
+#include "flang/Parser/dump-parse-tree.h"
+#include "flang/Parser/parse-tree-visitor.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/scope.h"
+#include "flang/Semantics/semantics.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Semantics/tools.h"
#include <algorithm>
#include <functional>
#include <optional>
std::optional<Fortran::evaluate::Expr<Fortran::evaluate::SomeType>>;
// Much of the code that implements semantic analysis of expressions is
-// tightly coupled with their typed representations in lib/evaluate,
+// tightly coupled with their typed representations in lib/Evaluate,
// and appears here in namespace Fortran::evaluate for convenience.
namespace Fortran::evaluate {
-//===-- lib/semantics/mod-file.cpp ----------------------------------------===//
+//===-- lib/Semantics/mod-file.cpp ----------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "mod-file.h"
#include "resolve-names.h"
-#include "flang/evaluate/tools.h"
-#include "flang/parser/message.h"
-#include "flang/parser/parsing.h"
-#include "flang/semantics/scope.h"
-#include "flang/semantics/semantics.h"
-#include "flang/semantics/symbol.h"
-#include "flang/semantics/tools.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/parsing.h"
+#include "flang/Semantics/scope.h"
+#include "flang/Semantics/semantics.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Semantics/tools.h"
#include <algorithm>
#include <cerrno>
#include <fstream>
-//===-- lib/semantics/mod-file.h --------------------------------*- C++ -*-===//
+//===-- lib/Semantics/mod-file.h --------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_MOD_FILE_H_
#define FORTRAN_SEMANTICS_MOD_FILE_H_
-#include "flang/semantics/attr.h"
+#include "flang/Semantics/attr.h"
#include <sstream>
#include <string>
-//===-- lib/semantics/pointer-assignment.cpp ------------------------------===//
+//===-- lib/Semantics/pointer-assignment.cpp ------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "pointer-assignment.h"
-#include "flang/common/idioms.h"
-#include "flang/common/restorer.h"
-#include "flang/evaluate/characteristics.h"
-#include "flang/evaluate/expression.h"
-#include "flang/evaluate/fold.h"
-#include "flang/evaluate/tools.h"
-#include "flang/parser/message.h"
-#include "flang/parser/parse-tree-visitor.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/expression.h"
-#include "flang/semantics/symbol.h"
-#include "flang/semantics/tools.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/restorer.h"
+#include "flang/Evaluate/characteristics.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/parse-tree-visitor.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/expression.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Semantics/tools.h"
#include <optional>
#include <set>
#include <string>
-//===-- lib/semantics/pointer-assignment.h --------------------------------===//
+//===-- lib/Semantics/pointer-assignment.h --------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_POINTER_ASSIGNMENT_H_
#define FORTRAN_SEMANTICS_POINTER_ASSIGNMENT_H_
-#include "flang/evaluate/expression.h"
-#include "flang/parser/char-block.h"
-#include "flang/semantics/type.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Parser/char-block.h"
+#include "flang/Semantics/type.h"
#include <string>
namespace Fortran::evaluate::characteristics {
-//===-- lib/semantics/program-tree.cpp ------------------------------------===//
+//===-- lib/Semantics/program-tree.cpp ------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "program-tree.h"
-#include "flang/common/idioms.h"
-#include "flang/parser/char-block.h"
-#include "flang/semantics/scope.h"
+#include "flang/Common/idioms.h"
+#include "flang/Parser/char-block.h"
+#include "flang/Semantics/scope.h"
namespace Fortran::semantics {
-//===-- lib/semantics/program-tree.h ----------------------------*- C++ -*-===//
+//===-- lib/Semantics/program-tree.h ----------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#ifndef FORTRAN_SEMANTICS_PROGRAM_TREE_H_
#define FORTRAN_SEMANTICS_PROGRAM_TREE_H_
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/symbol.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/symbol.h"
#include <variant>
// A ProgramTree represents a tree of program units and their contained
-//===-- lib/semantics/resolve-labels.cpp ----------------------------------===//
+//===-- lib/Semantics/resolve-labels.cpp ----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "resolve-labels.h"
-#include "flang/common/enum-set.h"
-#include "flang/common/template.h"
-#include "flang/parser/parse-tree-visitor.h"
-#include "flang/semantics/semantics.h"
+#include "flang/Common/enum-set.h"
+#include "flang/Common/template.h"
+#include "flang/Parser/parse-tree-visitor.h"
+#include "flang/Semantics/semantics.h"
#include <cctype>
#include <cstdarg>
#include <type_traits>
-//===-- lib/semantics/resolve-labels.h --------------------------*- C++ -*-===//
+//===-- lib/Semantics/resolve-labels.h --------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/semantics/resolve-names-utils.cpp -----------------------------===//
+//===-- lib/Semantics/resolve-names-utils.cpp -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "resolve-names-utils.h"
-#include "flang/common/Fortran-features.h"
-#include "flang/common/idioms.h"
-#include "flang/common/indirection.h"
-#include "flang/evaluate/fold.h"
-#include "flang/evaluate/tools.h"
-#include "flang/evaluate/type.h"
-#include "flang/parser/char-block.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/expression.h"
-#include "flang/semantics/semantics.h"
-#include "flang/semantics/tools.h"
+#include "flang/Common/Fortran-features.h"
+#include "flang/Common/idioms.h"
+#include "flang/Common/indirection.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Evaluate/type.h"
+#include "flang/Parser/char-block.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/expression.h"
+#include "flang/Semantics/semantics.h"
+#include "flang/Semantics/tools.h"
#include <initializer_list>
#include <ostream>
#include <variant>
-//===-- lib/semantics/resolve-names-utils.h ---------------------*- C++ -*-===//
+//===-- lib/Semantics/resolve-names-utils.h ---------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// Utility functions and class for use in resolve-names.cpp.
-#include "flang/parser/message.h"
-#include "flang/semantics/scope.h"
-#include "flang/semantics/symbol.h"
-#include "flang/semantics/type.h"
+#include "flang/Parser/message.h"
+#include "flang/Semantics/scope.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Semantics/type.h"
#include <forward_list>
namespace Fortran::parser {
-//===-- lib/semantics/resolve-names.cpp -----------------------------------===//
+//===-- lib/Semantics/resolve-names.cpp -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
#include "program-tree.h"
#include "resolve-names-utils.h"
#include "rewrite-parse-tree.h"
-#include "flang/common/Fortran.h"
-#include "flang/common/default-kinds.h"
-#include "flang/common/indirection.h"
-#include "flang/common/restorer.h"
-#include "flang/evaluate/characteristics.h"
-#include "flang/evaluate/common.h"
-#include "flang/evaluate/fold.h"
-#include "flang/evaluate/intrinsics.h"
-#include "flang/evaluate/tools.h"
-#include "flang/evaluate/type.h"
-#include "flang/parser/parse-tree-visitor.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/parser/tools.h"
-#include "flang/semantics/attr.h"
-#include "flang/semantics/expression.h"
-#include "flang/semantics/scope.h"
-#include "flang/semantics/semantics.h"
-#include "flang/semantics/symbol.h"
-#include "flang/semantics/tools.h"
-#include "flang/semantics/type.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Common/default-kinds.h"
+#include "flang/Common/indirection.h"
+#include "flang/Common/restorer.h"
+#include "flang/Evaluate/characteristics.h"
+#include "flang/Evaluate/common.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Evaluate/intrinsics.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Evaluate/type.h"
+#include "flang/Parser/parse-tree-visitor.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Parser/tools.h"
+#include "flang/Semantics/attr.h"
+#include "flang/Semantics/expression.h"
+#include "flang/Semantics/scope.h"
+#include "flang/Semantics/semantics.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Semantics/tools.h"
+#include "flang/Semantics/type.h"
#include <list>
#include <map>
#include <ostream>
-//===-- lib/semantics/resolve-names.h ---------------------------*- C++ -*-===//
+//===-- lib/Semantics/resolve-names.h ---------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/semantics/rewrite-parse-tree.cpp ------------------------------===//
+//===-- lib/Semantics/rewrite-parse-tree.cpp ------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//===----------------------------------------------------------------------===//
#include "rewrite-parse-tree.h"
-#include "flang/common/indirection.h"
-#include "flang/parser/parse-tree-visitor.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/parser/tools.h"
-#include "flang/semantics/scope.h"
-#include "flang/semantics/semantics.h"
-#include "flang/semantics/symbol.h"
-#include "flang/semantics/tools.h"
+#include "flang/Common/indirection.h"
+#include "flang/Parser/parse-tree-visitor.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Parser/tools.h"
+#include "flang/Semantics/scope.h"
+#include "flang/Semantics/semantics.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Semantics/tools.h"
#include <list>
namespace Fortran::semantics {
-//===-- lib/semantics/rewrite-parse-tree.h ----------------------*- C++ -*-===//
+//===-- lib/Semantics/rewrite-parse-tree.h ----------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
-//===-- lib/semantics/scope.cpp -------------------------------------------===//
+//===-- lib/Semantics/scope.cpp -------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/semantics/scope.h"
-#include "flang/parser/characters.h"
-#include "flang/semantics/symbol.h"
-#include "flang/semantics/type.h"
+#include "flang/Semantics/scope.h"
+#include "flang/Parser/characters.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Semantics/type.h"
#include <algorithm>
#include <memory>
#include <sstream>
-//===-- lib/semantics/semantics.cpp ---------------------------------------===//
+//===-- lib/Semantics/semantics.cpp ---------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/semantics/semantics.h"
+#include "flang/Semantics/semantics.h"
#include "assignment.h"
#include "canonicalize-do.h"
#include "canonicalize-omp.h"
#include "resolve-labels.h"
#include "resolve-names.h"
#include "rewrite-parse-tree.h"
-#include "flang/common/default-kinds.h"
-#include "flang/parser/parse-tree-visitor.h"
-#include "flang/parser/tools.h"
-#include "flang/semantics/expression.h"
-#include "flang/semantics/scope.h"
-#include "flang/semantics/symbol.h"
+#include "flang/Common/default-kinds.h"
+#include "flang/Parser/parse-tree-visitor.h"
+#include "flang/Parser/tools.h"
+#include "flang/Semantics/expression.h"
+#include "flang/Semantics/scope.h"
+#include "flang/Semantics/symbol.h"
namespace Fortran::semantics {
-//===-- lib/semantics/symbol.cpp ------------------------------------------===//
+//===-- lib/Semantics/symbol.cpp ------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/semantics/symbol.h"
-#include "flang/common/idioms.h"
-#include "flang/evaluate/expression.h"
-#include "flang/semantics/scope.h"
-#include "flang/semantics/semantics.h"
-#include "flang/semantics/tools.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Common/idioms.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Semantics/scope.h"
+#include "flang/Semantics/semantics.h"
+#include "flang/Semantics/tools.h"
#include <ostream>
#include <string>
-//===-- lib/semantics/tools.cpp -------------------------------------------===//
+//===-- lib/Semantics/tools.cpp -------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/parser/tools.h"
-#include "flang/common/Fortran.h"
-#include "flang/common/indirection.h"
-#include "flang/parser/dump-parse-tree.h"
-#include "flang/parser/message.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/semantics/scope.h"
-#include "flang/semantics/semantics.h"
-#include "flang/semantics/symbol.h"
-#include "flang/semantics/tools.h"
-#include "flang/semantics/type.h"
+#include "flang/Parser/tools.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Common/indirection.h"
+#include "flang/Parser/dump-parse-tree.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/scope.h"
+#include "flang/Semantics/semantics.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Semantics/tools.h"
+#include "flang/Semantics/type.h"
#include <algorithm>
#include <set>
#include <sstream>
-//===-- lib/semantics/type.cpp --------------------------------------------===//
+//===-- lib/Semantics/type.cpp --------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/semantics/type.h"
-#include "flang/evaluate/fold.h"
-#include "flang/parser/characters.h"
-#include "flang/semantics/scope.h"
-#include "flang/semantics/symbol.h"
-#include "flang/semantics/tools.h"
+#include "flang/Semantics/type.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Parser/characters.h"
+#include "flang/Semantics/scope.h"
+#include "flang/Semantics/symbol.h"
+#include "flang/Semantics/tools.h"
#include <ostream>
#include <sstream>
-//===-- lib/semantics/unparse-with-symbols.cpp ----------------------------===//
+//===-- lib/Semantics/unparse-with-symbols.cpp ----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#include "flang/semantics/unparse-with-symbols.h"
-#include "flang/parser/parse-tree-visitor.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/parser/unparse.h"
-#include "flang/semantics/symbol.h"
+#include "flang/Semantics/unparse-with-symbols.h"
+#include "flang/Parser/parse-tree-visitor.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Parser/unparse.h"
+#include "flang/Semantics/symbol.h"
#include <map>
#include <ostream>
#include <set>
//===----------------------------------------------------------------------===//
#include "descriptor.h"
-#include "flang/common/idioms.h"
+#include "flang/Common/idioms.h"
#include <cassert>
#include <cstdlib>
#include <cstring>
#ifndef FORTRAN_RUNTIME_ENVIRONMENT_H_
#define FORTRAN_RUNTIME_ENVIRONMENT_H_
-#include "flang/decimal/decimal.h"
+#include "flang/Decimal/decimal.h"
namespace Fortran::runtime {
struct ExecutionEnvironment {
#include "format.h"
#include "io-stmt.h"
#include "main.h"
-#include "flang/common/format.h"
-#include "flang/decimal/decimal.h"
+#include "flang/Common/format.h"
+#include "flang/Decimal/decimal.h"
#include <limits>
namespace Fortran::runtime::io {
#include "environment.h"
#include "io-error.h"
#include "terminator.h"
-#include "flang/common/Fortran.h"
-#include "flang/decimal/decimal.h"
+#include "flang/Common/Fortran.h"
+#include "flang/Decimal/decimal.h"
#include <cinttypes>
#include <optional>
//===----------------------------------------------------------------------===//
#include "numeric-output.h"
-#include "flang/common/unsigned-const-division.h"
+#include "flang/Common/unsigned-const-division.h"
namespace Fortran::runtime::io {
#include "format.h"
#include "io-stmt.h"
-#include "flang/decimal/decimal.h"
+#include "flang/Decimal/decimal.h"
namespace Fortran::runtime::io {
//===----------------------------------------------------------------------===//
#include "transformational.h"
-#include "flang/common/idioms.h"
-#include "flang/evaluate/integer.h"
+#include "flang/Common/idioms.h"
+#include "flang/Evaluate/integer.h"
#include <algorithm>
#include <bitset>
#include <cinttypes>
#define FORTRAN_RUNTIME_TYPE_CODE_H_
#include "flang/ISO_Fortran_binding.h"
-#include "flang/common/Fortran.h"
+#include "flang/Common/Fortran.h"
namespace Fortran::runtime {
#
#===------------------------------------------------------------------------===#
-add_subdirectory(decimal)
-add_subdirectory(evaluate)
-add_subdirectory(runtime)
-add_subdirectory(semantics)
+add_subdirectory(Decimal)
+add_subdirectory(Evaluate)
+add_subdirectory(Runtime)
+add_subdirectory(Semantics)
-#===-- test/decimal/CMakeLists.txt -----------------------------------------===#
+#===-- test/Decimal/CMakeLists.txt -----------------------------------------===#
#
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
-#include "flang/decimal/decimal.h"
+#include "flang/Decimal/decimal.h"
#include <cinttypes>
#include <cstdio>
#include <cstring>
-#include "flang/decimal/decimal.h"
+#include "flang/Decimal/decimal.h"
#include <cinttypes>
#include <cstdio>
#include <cstring>
-#===-- test/evaluate/CMakeLists.txt ----------------------------------------===#
+#===-- test/Evaluate/CMakeLists.txt ----------------------------------------===#
#
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
FortranEvaluateTesting
)
-# These routines live in lib/common but we test them here.
+# These routines live in lib/Common but we test them here.
add_test(UINT128 uint128-test)
add_test(Leadz leading-zero-bit-count-test)
add_test(PopPar bit-population-count-test)
-#include "flang/common/bit-population-count.h"
+#include "flang/Common/bit-population-count.h"
#include "testing.h"
using Fortran::common::BitPopulationCount;
-#include "flang/evaluate/expression.h"
+#include "flang/Evaluate/expression.h"
#include "testing.h"
-#include "flang/evaluate/fold.h"
-#include "flang/evaluate/intrinsics.h"
-#include "flang/evaluate/tools.h"
-#include "flang/parser/message.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Evaluate/intrinsics.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Parser/message.h"
#include <cstdio>
#include <cstdlib>
#include <string>
#include "testing.h"
-#include "../../lib/evaluate/host.h"
-#include "../../lib/evaluate/intrinsics-library-templates.h"
-#include "flang/evaluate/call.h"
-#include "flang/evaluate/expression.h"
-#include "flang/evaluate/fold.h"
-#include "flang/evaluate/intrinsics.h"
-#include "flang/evaluate/tools.h"
+#include "../../lib/Evaluate/host.h"
+#include "../../lib/Evaluate/intrinsics-library-templates.h"
+#include "flang/Evaluate/call.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Evaluate/fold.h"
+#include "flang/Evaluate/intrinsics.h"
+#include "flang/Evaluate/tools.h"
#include <tuple>
using namespace Fortran::evaluate;
#ifndef FORTRAN_TEST_EVALUATE_FP_TESTING_H_
#define FORTRAN_TEST_EVALUATE_FP_TESTING_H_
-#include "flang/evaluate/common.h"
+#include "flang/Evaluate/common.h"
#include <fenv.h>
using Fortran::common::RoundingMode;
-#include "flang/evaluate/integer.h"
+#include "flang/Evaluate/integer.h"
#include "testing.h"
#include <cstdio>
#include <string>
-#include "flang/evaluate/intrinsics.h"
+#include "flang/Evaluate/intrinsics.h"
#include "testing.h"
-#include "flang/evaluate/common.h"
-#include "flang/evaluate/expression.h"
-#include "flang/evaluate/tools.h"
-#include "flang/parser/provenance.h"
+#include "flang/Evaluate/common.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Evaluate/tools.h"
+#include "flang/Parser/provenance.h"
#include <initializer_list>
#include <iostream>
#include <map>
-#include "flang/common/leading-zero-bit-count.h"
+#include "flang/Common/leading-zero-bit-count.h"
#include "testing.h"
using Fortran::common::LeadingZeroBitCount;
#include "testing.h"
-#include "flang/evaluate/type.h"
+#include "flang/Evaluate/type.h"
#include <cstdio>
template<int KIND> void testKind() {
#include "fp-testing.h"
#include "testing.h"
-#include "flang/evaluate/type.h"
+#include "flang/Evaluate/type.h"
#include <cmath>
#include <cstdio>
#include <cstdlib>
#define AVOID_NATIVE_UINT128_T 1
-#include "flang/common/uint128.h"
+#include "flang/Common/uint128.h"
#include "testing.h"
#include <cinttypes>
#include <iostream>
-#===-- test/runtime/CMakeLists.txt -----------------------------------------===#
+#===-- test/Runtime/CMakeLists.txt -----------------------------------------===#
#
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
-#===-- test/semantics/CMakeLists.txt ---------------------------------------===#
+#===-- test/Semantics/CMakeLists.txt ---------------------------------------===#
#
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
! OK to invoke a PURE FINAL procedure in a DO CONCURRENT
! This case does not work currently because the compiler's test for
- ! HasImpureFinal() in .../lib/semantics/tools.cc doesn't work correctly
+ ! HasImpureFinal() in .../lib/Semantics/tools.cc doesn't work correctly
! do concurrent (i = 1:10)
! if (i .eq. 1) deallocate(pfVar)
! end do
! Error tests for structure constructors: C1594 violations
! from assigning globally-visible data to POINTER components.
-! test/semantics/structconst04.f90 is this same test without type
+! test/Semantics/structconst04.f90 is this same test without type
! parameters.
module usefrom
// scaffolding compiler driver that can test some semantic passes of the
// F18 compiler under development.
-#include "flang/common/Fortran-features.h"
-#include "flang/common/default-kinds.h"
-#include "flang/parser/characters.h"
-#include "flang/parser/dump-parse-tree.h"
-#include "flang/parser/message.h"
-#include "flang/parser/parse-tree-visitor.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/parser/parsing.h"
-#include "flang/parser/provenance.h"
-#include "flang/parser/unparse.h"
+#include "flang/Common/Fortran-features.h"
+#include "flang/Common/default-kinds.h"
+#include "flang/Parser/characters.h"
+#include "flang/Parser/dump-parse-tree.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/parse-tree-visitor.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Parser/parsing.h"
+#include "flang/Parser/provenance.h"
+#include "flang/Parser/unparse.h"
#include <cerrno>
#include <cstdio>
#include <cstring>
// Temporary Fortran front end driver main program for development scaffolding.
-#include "flang/common/Fortran-features.h"
-#include "flang/common/default-kinds.h"
-#include "flang/evaluate/expression.h"
-#include "flang/lower/PFTBuilder.h"
-#include "flang/parser/characters.h"
-#include "flang/parser/dump-parse-tree.h"
-#include "flang/parser/message.h"
-#include "flang/parser/parse-tree-visitor.h"
-#include "flang/parser/parse-tree.h"
-#include "flang/parser/parsing.h"
-#include "flang/parser/provenance.h"
-#include "flang/parser/unparse.h"
-#include "flang/semantics/expression.h"
-#include "flang/semantics/semantics.h"
-#include "flang/semantics/unparse-with-symbols.h"
+#include "flang/Common/Fortran-features.h"
+#include "flang/Common/default-kinds.h"
+#include "flang/Evaluate/expression.h"
+#include "flang/Lower/PFTBuilder.h"
+#include "flang/Parser/characters.h"
+#include "flang/Parser/dump-parse-tree.h"
+#include "flang/Parser/message.h"
+#include "flang/Parser/parse-tree-visitor.h"
+#include "flang/Parser/parse-tree.h"
+#include "flang/Parser/parsing.h"
+#include "flang/Parser/provenance.h"
+#include "flang/Parser/unparse.h"
+#include "flang/Semantics/expression.h"
+#include "flang/Semantics/semantics.h"
+#include "flang/Semantics/unparse-with-symbols.h"
#include "llvm/Support/raw_ostream.h"
#include <cerrno>
#include <cstdio>
// libraries, as here, we need to stub out the dependences on the external
// destructors, which will never actually be called.
-#include "flang/common/indirection.h"
+#include "flang/Common/indirection.h"
namespace Fortran::evaluate {
struct GenericExprWrapper {