-
Notifications
You must be signed in to change notification settings - Fork 7
Description
Reference (section label): [expr.const]
Issue description:
[expr.const] paragraphs 10:
An expression E is a core constant expression unless the evaluation of E, following the rules of the abstract machine ([intro.execution]), would evaluate one of the following:
— <...>
— an invocation of theva_argmacro ([cstdarg.syn]);
[expr.const] paragraph 12:
It is unspecified whether E is a core constant expression if E satisfies the constraints of a core constant expression, but evaluation of E would evaluate
— <...>
— an invocation of theva_startmacro ([cstdarg.syn])
Macros do not exist by the time analysis regarding core constant expressions happens.
Suggested resolution:
Change [expr.const] bullet 10.30 as follows:
An expression E is a core constant expression unless the evaluation of E, following the rules of the abstract machine ([intro.execution]), would evaluate one of the following:
— <...>
—an invocation ofconstructs resulting from the analysis of tokens expanded from theva_argmacro ([cstdarg.syn]);
Change [expr.const] bullet 12.2 as follows:
It is unspecified whether E is a core constant expression if E satisfies the constraints of a core constant expression, but evaluation of E would evaluate
— <...>
—an invocation ofconstructs resulting from the analysis of tokens expanded from theva_startmacro ([cstdarg.syn]).