FLANG
options.h
1//===-- include/flang/Parser/options.h --------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef FORTRAN_PARSER_OPTIONS_H_
10#define FORTRAN_PARSER_OPTIONS_H_
11
12#include "characters.h"
13#include "flang/Support/Fortran-features.h"
14
15#include <optional>
16#include <string>
17#include <vector>
18
19namespace Fortran::parser {
20
21struct Options {
22 Options() {}
23
24 using Predefinition = std::pair<std::string, std::optional<std::string>>;
25
26 bool isFixedForm{false};
27 int fixedFormColumns{72};
29 std::vector<std::string> searchDirectories;
30 std::vector<std::string> intrinsicModuleDirectories;
31 std::vector<Predefinition> predefinitions;
32 bool instrumentedParse{false};
33 bool isModuleFile{false};
34 bool needProvenanceRangeToCharBlockMappings{false};
35 Fortran::parser::Encoding encoding{Fortran::parser::Encoding::UTF_8};
36 bool prescanAndReformat{false}; // -E
37 bool expandIncludeLinesInPreprocessedOutput{true};
38 bool showColors{false};
39};
40
41} // namespace Fortran::parser
42
43#endif // FORTRAN_PARSER_OPTIONS_H_
Definition Fortran-features.h:90
Definition check-expression.h:19