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: Mon, 15 Jun 2020 16:47:32 +0000
| -----Original Message-----
| From: Ville Voutilainen <ville.voutilainen_at_gmail.com>
| Sent: Monday, June 15, 2020 7:58 AM
| To: Gabriel Dos Reis <gdr_at_[hidden]>
| Cc: core_at_lists.isocpp.org; Barry Revzin <barry.revzin_at_gmail.com>; Marek
| Polacek <polacek_at_[hidden]>; sg10_at_lists.isocpp.org
| Subject: Re: [isocpp-core] [SG10] Feature-test macro for ADL calls with
| template arguments?
|
| On Mon, 15 Jun 2020 at 17:48, Gabriel Dos Reis <gdr_at_microsoft.com>
| wrote:
| >
| > These protracted debate over feature test macros always remind me of the
| sage words of the inventor of macros for C, Doug McIlroy (and the inventor
| of the field of Software Engineering):
| >
| >
| >
| > Ø Most #ifdef's and #if's memorialize failures of imagination
| >
| > Ø or care, often in the name of "portability". Code is
| >
| > Ø NOT portable if it has to be rewritten according to the
| >
| > Ø conventions of each environment. Ifdef expresses just such
| >
| > Ø rewriting, and in an egregious style: it inverts the
| >
| > Ø logical structure of a program, bringing the tweaks to
| >
| > Ø the top while fragmenting the real architecture.
| >
| >
| >
| > Source:
| https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fww
| w.mail-archive.com%2Fhugs-
| users%40haskell.org%2Fmsg00795.html&amp;data=02%7C01%7Cgdr%40mi
| crosoft.com%7Cee9dd2b23a324774abfe08d8113c8185%7C72f988bf86f141
| af91ab2d7cd011db47%7C1%7C0%7C637278298848862642&amp;sdata=mK
| 3dcx8abeLYvrcFaaXQJPnPvBIJ%2F7rZ%2FZqry5%2BEImA%3D&amp;reserved
| =0
|
| I don't have a shade of illusion of portability here; it's all about
| selectively enabling superior
| functionality when it's available, and it's not yet available
| ubiquitously. Early adopters can adopt
| early, without waiting for everything to synchronize into a brave new world.

As a user depending on that superior functionality, how do I use it in practice when I am compiling with two different compilers with differing levels of support? Or, I am not supposed to see any difference?

-- Gaby

Received on 2020-06-15 11:50:43