Date: Mon, 19 Dec 2022 16:16:57 +0000
On Mon, 19 Dec 2022 at 13:11, Bo Persson via Std-Proposals <
std-proposals_at_[hidden]> wrote:
> On 2022-12-19 at 12:32, Sébastien Bini via Std-Proposals wrote:
>
> >
> > With the updated rules, if std::pair has the
> > [[no_parameter_reloc(auto)]]attribute, then std::pair<MyString,int>
> > opts-out, while std::pair<MyString,UserDefinedOptInType> opts-in.
> >
> > I am also thinking of allowing a function attribute to opt-out on
> > function level for tricky cases.
> >
> > Anyone have some thoughts on the matter?
> >
>
> At least originally, there was a basic idea that ignoring an attribute
> should not affect the validity of a program. Like [[nodiscard]] and
> [[maybe_unused]] would affect warnings, but not the generated code.
>
> Adding ABI-modifying attributes seems to be totally contrary to this.
>
Modifying ABI does not affect the validity of a program; since ABI is
unspecified, a sufficiently perverse compiler could use a different ABI on
each execution.
std-proposals_at_[hidden]> wrote:
> On 2022-12-19 at 12:32, Sébastien Bini via Std-Proposals wrote:
>
> >
> > With the updated rules, if std::pair has the
> > [[no_parameter_reloc(auto)]]attribute, then std::pair<MyString,int>
> > opts-out, while std::pair<MyString,UserDefinedOptInType> opts-in.
> >
> > I am also thinking of allowing a function attribute to opt-out on
> > function level for tricky cases.
> >
> > Anyone have some thoughts on the matter?
> >
>
> At least originally, there was a basic idea that ignoring an attribute
> should not affect the validity of a program. Like [[nodiscard]] and
> [[maybe_unused]] would affect warnings, but not the generated code.
>
> Adding ABI-modifying attributes seems to be totally contrary to this.
>
Modifying ABI does not affect the validity of a program; since ABI is
unspecified, a sufficiently perverse compiler could use a different ABI on
each execution.
Received on 2022-12-19 16:17:10