[PATCH] D140959: RFC: Multilib prototype
Michael Platings via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Jan 5 06:55:09 PST 2023
michaelplatings added inline comments.
================
Comment at: clang/include/clang/Driver/Multilib2.h:33-34
+private:
+ std::vector<std::tuple<std::string, std::vector<std::string>, std::vector<std::string>>> Multilibs;
+ std::vector<std::tuple<std::string, std::vector<std::string>, std::vector<std::string>>> RegexAttributes;
+};
----------------
phosek wrote:
> I think it'd really help readability and comprehension if this was modeled using types (that is `struct`s and `class`es). It's not at all clear what these strings are supposed to represent, and seeing expressions like `std::get<0>` doesn't help either.
I fully agree. Sorry if I wasn't clear in the RFC but this is the kind of thing I meant when I said the code is not intended to be production quality.
================
Comment at: clang/test/Driver/Inputs/baremetal_multilib/arm-none-eabi/multilib.yaml:24
+- path: thumb/v6-m/nofp
+ args: [--target=arm-none-eabi, -mfloat-abi=soft, -march=armv6m]
+ attrs: [thumb, soft, v6m]
----------------
phosek wrote:
> I understand how the second section is used to match arguments passed to `clang -cc1` and turn those into attributes which are then used to find the right variant, but I don't understand what this list of arguments is used for?
Having these here permits `clang -print-multi-lib` to work, which would print out something like this:
```
thumb/nofp;@mthumb at mfloat-abi=soft
thumb/v7/nofp;@mthumb at march=armv7 at mfloat-abi=soft
...
```
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D140959/new/
https://reviews.llvm.org/D140959
More information about the cfe-commits
mailing list