[PATCH] D91641: [CMake] Fix ExtensionDependencies.inc with multiple extensions
Michael Kruse via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 18 10:50:06 PST 2020
Meinersbur added a comment.
In D91641#2401724 <https://reviews.llvm.org/D91641#2401724>, @serge-sans-paille wrote:
> In D91641#2401024 <https://reviews.llvm.org/D91641#2401024>, @Meinersbur wrote:
>
>> There seems to be one set of braces too much, makes me wonder how it ever worked.
>
> The « extra » set of brace was for list initialization, using that rule (from https://en.cppreference.com/w/cpp/language/list_initialization)
>
>> Otherwise, the constructors of T are considered, in two phases:
>>
>> All constructors that take std::initializer_list as the only argument, or as the first argument if the remaining arguments have default values, are examined, and matched by overload resolution against a single argument of type std::initializer_list
>>
>> If the previous stage does not produce a match, all constructors of T participate in overload resolution against the set of arguments that consists of the elements of the braced-init-list, with the restriction that only non-narrowing conversions are allowed. If this stage produces an explicit constructor as the best match for a copy-list-initialization, compilation fails (note, in simple copy-initialization, explicit constructors are not considered at all).
Thanks for clarifying.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91641/new/
https://reviews.llvm.org/D91641
More information about the llvm-commits
mailing list