[flang-commits] [PATCH] D155500: [flang] Enable optional copy construction & assignment in the parse tree
Peter Klausler via Phabricator via flang-commits
flang-commits at lists.llvm.org
Mon Jul 17 11:03:22 PDT 2023
klausler created this revision.
klausler added a reviewer: vzakhari.
klausler added a project: Flang.
Herald added subscribers: sunshaoce, mehdi_amini, jdoerfert.
Herald added a reviewer: sscalpone.
Herald added a reviewer: awarzynski.
Herald added a reviewer: kiranchandramohan.
Herald added a project: All.
klausler requested review of this revision.
Herald added a reviewer: jdoerfert.
Herald added subscribers: jplehr, sstefan1.
The parse tree's several class definitions all currently go out
of their ways to ensure that they support only move constructors
and operator= (generated automatically via =default;). This was
by intent -- during construction of the backtracking parser combinators,
I did not want to worry about any risk of accidentally creating
expensive deep copies of partial parse trees.
However, copyable parse tree classes are a prerequisite for possible
implementations of possible future features, including inlining,
outlining, F'202Y template prototyping, and parameterized modules.
This patch makes it possible to enable copy construction and copy
assignment for parse tree classes. It's still off by default.
https://reviews.llvm.org/D155500
Files:
flang/include/flang/Common/indirection.h
flang/include/flang/Evaluate/call.h
flang/include/flang/Evaluate/expression.h
flang/include/flang/Lower/Support/Utils.h
flang/include/flang/Parser/dump-parse-tree.h
flang/include/flang/Parser/format-specification.h
flang/include/flang/Parser/parse-tree-visitor.h
flang/include/flang/Parser/parse-tree.h
flang/include/flang/Parser/tools.h
flang/include/flang/Parser/user-state.h
flang/include/flang/Semantics/expression.h
flang/include/flang/Semantics/tools.h
flang/lib/Evaluate/call.cpp
flang/lib/Evaluate/expression.cpp
flang/lib/Lower/Bridge.cpp
flang/lib/Lower/OpenMP.cpp
flang/lib/Lower/PFTBuilder.cpp
flang/lib/Parser/basic-parsers.h
flang/lib/Parser/parse-tree.cpp
flang/lib/Parser/tools.cpp
flang/lib/Parser/unparse.cpp
flang/lib/Semantics/canonicalize-do.cpp
flang/lib/Semantics/canonicalize-omp.cpp
flang/lib/Semantics/check-cuda.cpp
flang/lib/Semantics/check-data.cpp
flang/lib/Semantics/check-do-forall.cpp
flang/lib/Semantics/check-if-stmt.cpp
flang/lib/Semantics/check-io.cpp
flang/lib/Semantics/check-io.h
flang/lib/Semantics/check-omp-structure.cpp
flang/lib/Semantics/check-omp-structure.h
flang/lib/Semantics/data-to-inits.cpp
flang/lib/Semantics/data-to-inits.h
flang/lib/Semantics/expression.cpp
flang/lib/Semantics/mod-file.cpp
flang/lib/Semantics/program-tree.cpp
flang/lib/Semantics/resolve-labels.cpp
flang/lib/Semantics/resolve-names-utils.cpp
flang/lib/Semantics/resolve-names.cpp
flang/lib/Semantics/rewrite-parse-tree.cpp
flang/lib/Semantics/semantics.cpp
flang/lib/Semantics/tools.cpp
flang/tools/f18-parse-demo/stub-evaluate.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D155500.541147.patch
Type: text/x-patch
Size: 105931 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/flang-commits/attachments/20230717/18e8fea3/attachment-0001.bin>
More information about the flang-commits
mailing list