cplusplus / draft

C++ standards drafts
http://www.open-std.org/jtc1/sc22/wg21/
5.73k stars 751 forks source link

Freestanding note in [basic.start.main.1] has no normative backing #3529

Open ben-craig opened 4 years ago

ben-craig commented 4 years ago

[Note: In a freestanding environment, start-up and termination is implementation-defined; start-up contains the execution of constructors for objects of namespace scope with static storage duration; termination contains the execution of destructors for objects with static storage duration. — end note]

There are very few mentions of freestanding in the WD, and this is one of them. [basic.start.main.1] does make the requirement of a main function implementation defined in a freestanding implementation, but start-up and termination do not appear to be specified in relation to the execution of main.

My editorial suggestion is to remove this aspirationaly normative note. Motivated parties can submit papers to get normative text added that accomplishes the goals of the note.

jensmaurer commented 4 years ago

The choice here is to remove this bad note right away, or have it done by some future "freestanding" improvement paper.

jensmaurer commented 4 years ago

Editorial meeting: Maybe promote this note to normative text. CWG to decide.