C++ Logo

sg10

Advanced search

Re: [SG10] [isocpp-core] Feature-test macro for ADL calls with template arguments?

From: Gabriel Dos Reis <gdr_at_[hidden]>
Date: Tue, 9 Jun 2020 11:00:54 +0000
> Might we systematically underestimate the need for feature test macros, because test code isn't on the radar?

The sense I get from our collective decisions -- especially in this space -- is that we tend to systematically underestimate the value of simplicity.
It is as if we have to prove to ourselves that we are experts -- with bias towards complexity.

The requests I often get after presenting how C++20 is improving software development is "can you make C++ more approachable?"

-- Gaby

-----Original Message-----
From: Core <core-bounces_at_[hidden].org> On Behalf Of Marc Mutz via Core
Sent: Tuesday, June 9, 2020 12:16 AM
To: core_at_[hidden]
Cc: Marc Mutz <marc.mutz_at_kdab.com>; Marek Polacek <polacek_at_redhat.com>; sg10_at_lists.isocpp.org
Subject: Re: [isocpp-core] [SG10] Feature-test macro for ADL calls with template arguments?

On 2020-06-08 22:35, Ville Voutilainen via Core wrote:
> On Mon, 8 Jun 2020 at 23:30, Gabriel Dos Reis via SG10
[...]
>> Indeed, this sounds to be like an overkill application of feature
>> test macros, but…
>
> Well, this macro gives users with the use case I depicted some more
> choices:
> 1) use a work-around that is just.. ..ghastly
> 2) provide an ADL-only customization point if and only if it can be
> written without ghastliness
> 3) just provide a customization point that is not ADL-only
> 4) do (1) or (3) if (2) is not available

5) limit test code to platforms/compiler versions that actually implement the feature

This is a variation of the example Ville talked about:
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgodbolt.org%2Fz%2FDabS5M&amp;data=02%7C01%7Cgdr%40microsoft.com%7Cbac1bec8811a46c6192c08d80c44fbdb%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637272837710085579&amp;sdata=P0ryhpyLDXJIKjP3d8CzdHx8Oisy0N6nA50XlE0NkDo%3D&amp;reserved=0 // cf. "Print using get()"

Both GCC and Clang trunks implement the feature, but while Clang is bold enough to already assert conformance with C++20 via __cplusplus, GCC isn't, showing how __cplusplus is way too coarse (if it wasn't, then we'd not have feature test macros in the first place).

Might we systematically underestimate the need for feature test macros, because test code isn't on the radar?

Thanks,
Marc
_______________________________________________
Core mailing list
Core_at_[hidden]
Subscription: https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fcore&amp;data=02%7C01%7Cgdr%40microsoft.com%7Cbac1bec8811a46c6192c08d80c44fbdb%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637272837710085579&amp;sdata=bnbk6hvsnjfgNxhmib%2Bhbj%2B6wAGOBN3i%2B8FWlBgaPtY%3D&amp;reserved=0
Link to this post: https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fcore%2F2020%2F06%2F9299.php&amp;data=02%7C01%7Cgdr%40microsoft.com%7Cbac1bec8811a46c6192c08d80c44fbdb%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637272837710085579&amp;sdata=zNZkIDInxr54km%2FKH65iNCJbVygYtckzbi6TwkidFYc%3D&amp;reserved=0

Received on 2020-06-09 06:04:04