[PATCH] D118586: [C++20][Modules][3/8] Initial handling for module partitions.

2022-02-18 Thread Iain Sandoe via Phabricator via cfe-commits
iains added inline comments. Comment at: clang/lib/Sema/SemaModule.cpp:177 + if (IsPartition) { +ModuleName += ":"; +ModuleName += stringFromPath(Partition); ChuanqiXu wrote: > iains wrote: > > urnathan wrote: > > > iains wrote: > > > > ChuanqiXu wrote:

[PATCH] D118893: [C++20][Modules][1/8] Track valid import state.

2022-02-20 Thread Iain Sandoe via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8a3f9a584ad4: [C++20][Modules][1/8] Track valid import state. (authored by iains). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118893/new/ https://reviews

[PATCH] D118586: [C++20][Modules][3/8] Initial handling for module partitions.

2022-02-21 Thread Iain Sandoe via Phabricator via cfe-commits
iains added a comment. In D118586#3335167 , @ChuanqiXu wrote: > I think it is helpful to add some tests from https://reviews.llvm.org/D113972 Actually, in response to your concerns, this morning I wrote a multi-partition test case to add to this (which

[PATCH] D118586: [C++20][Modules][3/8] Initial handling for module partitions.

2022-02-21 Thread Iain Sandoe via Phabricator via cfe-commits
iains added a comment. In D118586#3335235 , @ChuanqiXu wrote: > In D118586#3335191 , @iains wrote: > >> In D118586#3335167 , @ChuanqiXu >> wrote: >> >>> I think it is hel

[PATCH] D114714: [C++20][Modules][2/8] Add enumerations for partition modules and stream them.

2022-02-21 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 410305. iains added a comment. rebased Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114714/new/ https://reviews.llvm.org/D114714 Files: clang/include/clang/Basic/Module.h clang/lib/AST/Decl.cpp clang/lib/

[PATCH] D118586: [C++20][Modules][3/8] Initial handling for module partitions.

2022-02-21 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 410320. iains added a comment. rebased, added a multi-partition testcase. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118586/new/ https://reviews.llvm.org/D118586 Files: clang/include/clang/AST/Decl.h clan

[PATCH] D118587: [C++20][Modules][4/8] Handle generation of partition implementation CMIs.

2022-02-21 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 410348. iains added a comment. rebased Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118587/new/ https://reviews.llvm.org/D118587 Files: clang/include/clang/Sema/Sema.h clang/lib/Sema/SemaModule.cpp clang/

[PATCH] D118588: [C++20][Modules]5/8] Diagnose wrong import/export for partition CMIs.

2022-02-21 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 410371. iains added a comment. rebased Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118588/new/ https://reviews.llvm.org/D118588 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td clang/lib/Sema/SemaMo

[PATCH] D118589: [C++20][Modules][6/8] Record direct module imports.

2022-02-21 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 410404. iains added a comment. rebased Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118589/new/ https://reviews.llvm.org/D118589 Files: clang/include/clang/Sema/Sema.h clang/lib/Sema/SemaModule.cpp Index:

[PATCH] D118586: [C++20][Modules][3/8] Initial handling for module partitions.

2022-02-21 Thread Iain Sandoe via Phabricator via cfe-commits
iains added a comment. In D118586#3336612 , @ChuanqiXu wrote: > (May off the patch) I am not sure what you mean here. > BTW, I know you also work on GCC frontend. I want to consultant what's your > opinion to uniform the command line options between Cl

[PATCH] D118586: [C++20][Modules][3/8] Initial handling for module partitions.

2022-02-21 Thread Iain Sandoe via Phabricator via cfe-commits
iains added a comment. In D118586#3336892 , @ChuanqiXu wrote: > In D118586#3336865 , @iains wrote: > >> In D118586#3336612 , @ChuanqiXu >> wrote: >> >>> (May off the patc

[PATCH] D114714: [C++20][Modules][2/8] Add enumerations for partition modules and stream them.

2022-02-22 Thread Iain Sandoe via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGc9cc8035eb4f: [C++20][Modules][2/8] Add enumerations for partition modules and stream them. (authored by iains). Repository: rG LLVM Github Monore

[PATCH] D118586: [C++20][Modules][3/8] Initial handling for module partitions.

2022-02-22 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 410498. iains added a comment. rebased, update testcases to use split-file. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118586/new/ https://reviews.llvm.org/D118586 Files: clang/include/clang/AST/Decl.h cl

[PATCH] D118586: [C++20][Modules][3/8] Initial handling for module partitions.

2022-02-22 Thread Iain Sandoe via Phabricator via cfe-commits
iains marked an inline comment as done. iains added inline comments. Comment at: clang/test/Modules/cxx20-multiple-partitions.cpp:48 +#else +#error "no TU set" +#endif jansvoboda11 wrote: > Instead of splitting the file with preprocessor, you could use the > `sp

[PATCH] D118587: [C++20][Modules][4/8] Handle generation of partition implementation CMIs.

2022-02-22 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 410514. iains added a comment. rebased, revised testcases to use split-file. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118587/new/ https://reviews.llvm.org/D118587 Files: clang/include/clang/Sema/Sema.h

[PATCH] D118588: [C++20][Modules]5/8] Diagnose wrong import/export for partition CMIs.

2022-02-22 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 410527. iains added a comment. rebased, revised testcases to use split-file. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118588/new/ https://reviews.llvm.org/D118588 Files: clang/include/clang/Basic/Diagnost

[PATCH] D118589: [C++20][Modules][6/8] Record direct module imports.

2022-02-22 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 410528. iains added a comment. rebased. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118589/new/ https://reviews.llvm.org/D118589 Files: clang/include/clang/Sema/Sema.h clang/lib/Sema/SemaModule.cpp Index

[PATCH] D118598: [C++20][Modules][7/8] Find the primary interface name for a module.

2022-02-22 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 410539. iains added a comment. rebased, addressed review comment. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118598/new/ https://reviews.llvm.org/D118598 Files: clang/include/clang/Basic/Module.h clang/li

[PATCH] D118599: [C++20][Modules][8/8] Amend module visibility rules for partitions.

2022-02-22 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 410551. iains added a comment. rebased Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118599/new/ https://reviews.llvm.org/D118599 Files: clang/lib/Sema/SemaLookup.cpp clang/test/Modules/cxx20-10-1-ex2.cpp

[PATCH] D119823: [Modules] Add module structure output to -module-file-info.

2022-02-22 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 410568. iains added a comment. rebased, amended testcases to use split-file, handle partition enumerations. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D119823/new/ https://reviews.llvm.org/D119823 Files: cla

[PATCH] D119823: [Modules] Add module structure output to -module-file-info.

2022-02-22 Thread Iain Sandoe via Phabricator via cfe-commits
iains added a comment. this now uses the split-file approach to the test case so that we have the test case self-contained, but avoid the use of preprocessor directives before the module lines. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D119823/

[PATCH] D119823: [Modules] Add module structure output to -module-file-info.

2022-02-22 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 410599. iains added a comment. reformat. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D119823/new/ https://reviews.llvm.org/D119823 Files: clang/lib/Frontend/FrontendActions.cpp clang/test/Modules/cxx20-modu

[PATCH] D120352: [C++20][Modules] Rework testcase to use split file [NFC].

2022-02-22 Thread Iain Sandoe via Phabricator via cfe-commits
iains created this revision. iains added reviewers: urnathan, ChuanqiXu. iains published this revision for review. iains added a comment. Herald added a project: clang. Herald added a subscriber: cfe-commits. probably qualifies as trivial/obvious but in case anyone has any comments. This switche

[PATCH] D119823: [Modules] Add module structure output to -module-file-info.

2022-02-23 Thread Iain Sandoe via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG5a74e6a21c95: [Modules] Add module structure output to -module-file-info. (authored by iains). Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D120352: [C++20][Modules] Rework testcase to use split file [NFC].

2022-02-23 Thread Iain Sandoe via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGe0f1dd018e0f: [C++20][Modules] Rework testcase to use split file [NFC]. (authored by iains). Repository: rG LLVM Github Monorepo CHANGES SINCE LA

[PATCH] D118586: [C++20][Modules][3/8] Initial handling for module partitions.

2022-02-24 Thread Iain Sandoe via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. iains marked an inline comment as done. Closed by commit rG69350e569dc4: [C++20][Modules][3/8] Initial handling for module partitions. (authored by iains). Repository:

[PATCH] D118587: [C++20][Modules][4/8] Handle generation of partition implementation CMIs.

2022-02-25 Thread Iain Sandoe via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG611449144170: [C++20][Modules][4/8] Handle generation of partition implementation CMIs. (authored by iains). Changed prior to commit: https://revi

[PATCH] D118588: [C++20][Modules]5/8] Diagnose wrong import/export for partition CMIs.

2022-02-25 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 411544. iains added a comment. rebased Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118588/new/ https://reviews.llvm.org/D118588 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td clang/lib/Sema/SemaMo

[PATCH] D118589: [C++20][Modules][6/8] Record direct module imports.

2022-02-25 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 411545. iains added a comment. rebased Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118589/new/ https://reviews.llvm.org/D118589 Files: clang/include/clang/Sema/Sema.h clang/lib/Sema/SemaModule.cpp Index:

[PATCH] D118598: [C++20][Modules][7/8] Find the primary interface name for a module.

2022-02-25 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 411546. iains added a comment. rebased Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118598/new/ https://reviews.llvm.org/D118598 Files: clang/include/clang/Basic/Module.h clang/lib/Sema/SemaModule.cpp Ind

[PATCH] D118599: [C++20][Modules][8/8] Amend module visibility rules for partitions.

2022-02-25 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 411547. iains added a comment. rebased Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118599/new/ https://reviews.llvm.org/D118599 Files: clang/lib/Sema/SemaLookup.cpp clang/test/Modules/cxx20-10-1-ex2.cpp

[PATCH] D118588: [C++20][Modules]5/8] Diagnose wrong import/export for partition CMIs.

2022-02-26 Thread Iain Sandoe via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG1a76d2563940: [C++20][Modules][5/8] Diagnose wrong import/export for partition CMIs. (authored by iains). Repository: rG LLVM Github Monorepo CHA

[PATCH] D118589: [C++20][Modules][6/8] Record direct module imports.

2022-02-27 Thread Iain Sandoe via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG853ca5472314: [C++20][Modules][6/8] Record direct module imports. (authored by iains). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACT

[PATCH] D118599: [C++20][Modules][8/8] Amend module visibility rules for partitions.

2022-02-27 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 411741. iains added a comment. rebased, fix missing RUN lines for two cases in a test. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118599/new/ https://reviews.llvm.org/D118599 Files: clang/lib/Sema/SemaLooku

[PATCH] D118599: [C++20][Modules][8/8] Amend module visibility rules for partitions.

2022-02-27 Thread Iain Sandoe via Phabricator via cfe-commits
iains marked an inline comment as done. iains added inline comments. Comment at: clang/test/Modules/cxx20-10-1-ex2.cpp:15-17 -// Not expected to work yet. // %clang_cc1 -std=c++20 -emit-module-interface %t/std10-1-ex2-tu4.cpp \ // -fmodule-file=%t/B.pcm -o %t/B_X2.pcm -

[PATCH] D118598: [C++20][Modules][7/8] Find the primary interface name for a module.

2022-02-28 Thread Iain Sandoe via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGb3fcfcb9464b: [C++20][Modules][7/8] Find the primary interface name for a module. (authored by iains). Repository: rG LLVM Github Monorepo CHANGE

[PATCH] D118599: [C++20][Modules][8/8] Amend module visibility rules for partitions.

2022-03-01 Thread Iain Sandoe via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. iains marked an inline comment as done. Closed by commit rGa29f8dbb7f3e: [C++20][Modules][8/8] Amend module visibility rules for partitions. (authored by iains). Repos

[PATCH] D120397: [C++20] [Modules] Make the linkage consistent for template and its specialization

2022-03-01 Thread Iain Sandoe via Phabricator via cfe-commits
iains added inline comments. Comment at: clang/test/Modules/inconsist-export-template.cpp:19-23 +// FIXME: We should reject following specialization, +// since it tries to export a name which is already introduced. +export template <> +void f1() { + ChuanqiXu wro

[PATCH] D120397: [C++20] [Modules] Make the linkage consistent for template and its specialization

2022-03-01 Thread Iain Sandoe via Phabricator via cfe-commits
iains added inline comments. Comment at: clang/test/Modules/inconsist-export-template.cpp:19-23 +// FIXME: We should reject following specialization, +// since it tries to export a name which is already introduced. +export template <> +void f1() { + iains wrote:

[PATCH] D120764: [C++20][Modules] Improve efficiency of isModuleParition method.

2022-03-01 Thread Iain Sandoe via Phabricator via cfe-commits
iains created this revision. Herald added a subscriber: dexonsmith. Herald added a project: All. iains added reviewers: urnathan, ChuanqiXu. iains published this revision for review. iains added a comment. Herald added a project: clang. Herald added a subscriber: cfe-commits. This should improve t

[PATCH] D120793: [NFC] [C++20] [Modules] Simplify ActOnModuleImport by merging Path and Parition

2022-03-02 Thread Iain Sandoe via Phabricator via cfe-commits
iains accepted this revision. iains added a comment. This revision is now accepted and ready to land. other than the two nits, LGTM Comment at: clang/include/clang/Sema/Sema.h:2996-2997 /// \param ImportLoc The location of the 'import' keyword. /// \param Path The module

[PATCH] D120793: [NFC] [C++20] [Modules] Simplify ActOnModuleImport by merging Path and Parition

2022-03-02 Thread Iain Sandoe via Phabricator via cfe-commits
iains added inline comments. Comment at: clang/lib/Sema/SemaModule.cpp:415 + return ActOnModuleImport(StartLoc, ExportLoc, ImportLoc, Mod, Path); } it looks like there is an extra blank line before the closing brace.. Repository: rG LLVM Github Monorepo

[PATCH] D120764: [C++20][Modules] Improve efficiency of isModuleParition method.

2022-03-02 Thread Iain Sandoe via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG17ce5497aa01: [C++20][Modules] Improve efficiency of isModulePartition method. (authored by iains). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D120764/new/

[PATCH] D120874: [C++20] [Modules] Use '-' as the separator of partitions when searching in filesystems

2022-03-03 Thread Iain Sandoe via Phabricator via cfe-commits
iains added inline comments. Comment at: clang/test/Modules/search-partitions.cppm:20 +//--- partition1.cpp +export module A : Part1; + ChuanqiXu wrote: > @MyDeveloperDay hi, I remember the support for partitions in clang-format is > done in https://reviews.llvm

[PATCH] D120540: [Driver] Enable to use C++20 modules standalone by -fcxx-modules

2022-03-04 Thread Iain Sandoe via Phabricator via cfe-commits
iains added a comment. 1. I agree 100% that the driver needs to be able to process in "c++20 modules mode"; there is some handling of sources that should be changed accordingly. 2. I believe that it is a general objective of the tooling folks (roughly SG15 participants) that C++20 modules shoul

[PATCH] D120540: [Driver] Enable to use C++20 modules standalone by -fcxx-modules

2022-03-04 Thread Iain Sandoe via Phabricator via cfe-commits
iains added a comment. of course, this meets your objective too - since you could put -fmodules=cxx20 (even without -std=c++20) .. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D120540/new/ https://reviews.llvm.org/D120540

[PATCH] D120540: [Driver] Enable to use C++20 modules standalone by -fcxx-modules

2022-03-04 Thread Iain Sandoe via Phabricator via cfe-commits
iains added a comment. In D120540#3359446 , @ChuanqiXu wrote: > In D120540#3359394 , @iains wrote: > >> 1. I agree 100% that the driver needs to be able to process in "c++20 >> modules mode"; > > Yeah, not all th

[PATCH] D121095: [C++20][Modules][HU 1/5] Introduce header units as a module type.

2022-03-07 Thread Iain Sandoe via Phabricator via cfe-commits
iains created this revision. Herald added subscribers: dexonsmith, dang. Herald added a project: All. iains added reviewers: rsmith, urnathan, ChuanqiXu. iains added a subscriber: clang-modules. iains edited the summary of this revision. iains added a comment. iains published this revision for revi

[PATCH] D121096: [C++20][Modules][HU 2/5] Support searching Header Units in user or system search paths.

2022-03-07 Thread Iain Sandoe via Phabricator via cfe-commits
iains created this revision. Herald added a project: All. iains added reviewers: rsmith, urnathan, ChuanqiXu. iains published this revision for review. Herald added a project: clang. Herald added a subscriber: cfe-commits. This is support for the user-facing options to create importable header uni

[PATCH] D121097: [C++20][Modules][HU 3/5] Emit module macros for header units.

2022-03-07 Thread Iain Sandoe via Phabricator via cfe-commits
iains created this revision. Herald added a project: All. iains added reviewers: rsmith, urnathan, ChuanqiXu. iains published this revision for review. Herald added a project: clang. Herald added a subscriber: cfe-commits. For header units we build the top level module directly from the header tha

[PATCH] D121098: [C++20][Modules][HU 4/5] Handle pre-processed header units.

2022-03-07 Thread Iain Sandoe via Phabricator via cfe-commits
iains created this revision. Herald added a project: All. iains added reviewers: rsmith, urnathan, ChuanqiXu. iains published this revision for review. Herald added a project: clang. Herald added a subscriber: cfe-commits. We wish to support emitting a pre-processed output for an importable header

[PATCH] D121099: [C++20][Modules][HU 5/5] Add fdirectives-only mode for preprocessing output.

2022-03-07 Thread Iain Sandoe via Phabricator via cfe-commits
iains created this revision. Herald added a subscriber: dang. Herald added a project: All. iains added reviewers: rsmith, urnathan, ChuanqiXu. iains published this revision for review. Herald added a project: clang. Herald added a subscriber: cfe-commits. When the -fdirectives-only option is used

[PATCH] D118352: [clang][ABI] New c++20 modules mangling scheme

2022-03-07 Thread Iain Sandoe via Phabricator via cfe-commits
iains added a comment. In D118352#3363909 , @urnathan wrote: > In D118352#3362694 , @ChuanqiXu > wrote: > >> In D118352#3359626 , @urnathan >> wrote: >> >>> > > > >>> C

[PATCH] D121096: [C++20][Modules][HU 2/5] Support searching Header Units in user or system search paths.

2022-03-07 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 413611. iains added a comment. amend a testcase. I reordered and squashed two of the patches before posting, and failed to spot that a test case had a (non-critical) dependency on functionality introduced by a later patch. Fixed by removing the dependency.

[PATCH] D121098: [C++20][Modules][HU 4/5] Handle pre-processed header units.

2022-03-07 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 413612. iains added a comment. rebased Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121098/new/ https://reviews.llvm.org/D121098 Files: clang/lib/Frontend/FrontendAction.cpp clang/lib/Sema/SemaModule.cpp

[PATCH] D121097: [C++20][Modules][HU 3/5] Emit module macros for header units.

2022-03-08 Thread Iain Sandoe via Phabricator via cfe-commits
iains updated this revision to Diff 413913. iains added a comment. updated to remove a single-use variable. Having some difficulty in reproducing the CI fails outside the harness, however the code setting the removed variable could have faulted if there was no macro data for the identifier. Se

<    1   2   3   4   5