On Tue, May 6, 2025 at 11:45 AM Michael Wong <fraggamuffin@gmail.com> wrote:
Hi all, for tomorrow's SG14 meeting, we can discuss Patrice game paper, and Khalil's paper which he posted to the reflector yesterday. 

Are there any other papers of interest? Thanks.

Michael Wong is inviting you to a scheduled Zoom meeting.

Topic: SG14 monthly
Time: 2nd Wednesdays 02:00 PM Eastern Time (US and Canada)
    Every month on the Second Wed,

Join from PC, Mac, Linux, iOS or Android:
https://iso.zoom.us/j/93151864365?pwd=aDhOcDNWd2NWdTJuT1loeXpKbTcydz09
    Password: 789626

Or iPhone one-tap :
    US: +12532158782,,93151864365# or +13017158592,,93151864365#
Or Telephone:
    Dial(for higher quality, dial a number based on your current location):
        US: +1 253 215 8782 or +1 301 715 8592 or +1 312 626 6799 or +1
346 248 7799 or +1 408 638 0968 or +1 646 876 9923 or +1 669 900 6833
 or 877 853 5247 (Toll Free)
    Meeting ID: 931 5186 4365
    Password: 789626
    International numbers available: https://iso.zoom.us/u/abRrVivZoD

Or Skype for Business (Lync):
    https://iso.zoom.us/skype/93151864365

Agenda:

1. Opening and introduction

ISO Code of Conduct
<
https://isotc.iso.org/livelink/livelink?func=ll&objId=20882226&objAction=Open&nexturl=%2Flivelink%2Flivelink%3Ffunc%3Dll%26objId%3D20158641%26objAction%3Dbrowse%26viewType%3D1
*>*

ISO patent policy.
https://isotc.iso.org/livelink/livelink/fetch/2000/2122/3770791/Common_Policy.htm?nodeid=6344764&vernum=-2

IEC Code of Conduct:

https://www.iec.ch/basecamp/iec-code-conduct-technical-work

WG21 Code of Conduct:

https://isocpp.org/std/standing-documents/sd-4-wg21-practices-and-procedures

1.1 Roll call of participants
Paul, Andre, Andrew D, Arthur O, Bryan, Gianluca, Guy, Jens, John M, Khalil, Michael , Scott D, Michel L


1.2 Adopt agenda

1.3 Approve minutes from the previous meeting, and approve publishing
 previously approved minutes to ISOCPP.org

1.4 Action items from previous meetings

2. Main issues (125 min)

2.1 General logistics

2025 planning

CPPCON SG14/19

Future and past meeting plans

* Jan 8, 2025 02:00 PM ET: Cancelled
* Feb 12, 2025 02:00 PM ET: Hagenberg F2F; Cancelled
* Mar 12, 2025 02:00 PM ET: DST cancelled
* Apr 9, 2025 02:00 PM ET: Finance
* May 7, 2025 02:00 PM ET: Games
* June 11, 2025 02:00 PM ET: Sofia F2F
* July 9, 2025 02:00 PM ET: Embedded
* Aug 13, 2025 02:00 PM ET: Finance
* Sep 10, 2025 02:00 PM ET: CPPCON 9/14
* Oct 8, 2025 02:00 PM ET: Games
* Nov 12, 2025 02:00 PM ET: F2F
* Dec 10, 2025 02:00 PM ET: Embedded


2.2 Paper reviews

 

The meeting discussed the proposal to enhance the inline keyword in C++ to provide standardized inlining behavior, reducing the need for compiler-specific attributes. Key points included the need for backward compatibility, the potential for a "force inline" attribute, and the importance of maintaining performance. The second proposal aimed to standardize floating-point arithmetic for reproducible results, considering options like new library types, functions, and pairwise reduction techniques. Feedback emphasized the need for clear specifications and compatibility with existing code, and the importance of addressing performance implications.

Action Items

  • [ ] Incorporate the feedback and prepare revision 3 of the inline keyword proposal.
  • [ ] Send the updated proposal to the reflector and SG6 for further review.

Outline


Introduction to Paper P3676

  • Khalil introduces the paper P3676, focusing on enhancing the inline keyword in C++.
  • The paper aims to provide a standard inline keyword to hint the compiler about inlining, reducing the need for compiler-specific attributes.
  • Khalil   explains the current limitations of the inline keyword and the proposed changes to make it more versatile.
  • The paper includes examples and use cases, highlighting the benefits of standardizing inline behavior.

Feedback and Discussion on the Inline Proposal

  • concerns about the compatibility of the inline keyword with existing code and the need for backward compatibility.
  • suggests separating the semantic meaning of the inline keyword from the non-semantic meaning, using attributes for the latter.
  • discuss the potential need for a "force inline" attribute to ensure compilers adhere to the specified behavior.
  • Khalil   acknowledges the feedback and mentions the possibility of revising the paper based on the discussion.

Reproducible Floating Point Results Proposal

  • Guy introduces the proposal for reproducible floating point results in C++, addressing the lack of standardization in floating point arithmetic.
  • The proposal aims to ensure that floating point operations produce the same results on different platforms, crucial for applications like scientific computing and video games.
  • Guy   outlines various approaches, including using compiler options, fences, and new library types, to achieve reproducibility.
  • The discussion includes feedback from other participants, suggesting the use of functions instead of new types and the importance of maintaining performance.

Pairwise Reduction Techniques

  • introduces the concept of pairwise reduction to improve the accuracy of floating point operations.
  • The technique involves splitting the summation of floating point values into pairs, reducing the accumulation errors.
  • discuss the implementation details and the potential benefits of pairwise reduction.
  • The conversation highlights the need for a well-defined sequence to ensure reproducibility across different instruction sets.

Embedded:
* P3132 Accept attributes with user-defined prefixes
* P3134 Attribute [[asserts_rvo]]
Deterministic Exception for Embedded by James Renwick
https://www.pure.ed.ac.uk/ws/portalfiles/portal/78829292/low_cost_deterministic_C_exceptions_for_embedded_systems.pdf

Freestanding Updates

Games paper review

Arthur's suggestions:
(1) I put in the Slack channel
<https://cpplang.slack.com/archives/C3TK2M6HH/p1703947057425609> a while
ago Clang PR #76596 <https://github.com/llvm/llvm-project/pull/76596>, from
one Max Winkler, apparently in game dev. I don't think the PR stands much
chance of getting merged into Clang; but it might still be of interest to
SG14 folks. The issue description is very long and somewhat detailed, and
then there's more discussion/debate in the comments
<https://github.com/llvm/llvm-project/pull/76596#issuecomment-1872601156>.
(I'd actually be interested in talking to Max, but he doesn't publish his
email address on GitHub and I guess that might be on purpose.)

(2) LEWG will be seeing my P3055 "Relax wording to permit relocation
optimizations in the STL"
<https://quuxplusone.github.io/draft/d3055-relocation.html> in a telecon on
February 20th. (Related blog post.
<https://quuxplusone.github.io/blog/2024/01/02/bsl-vector-erase/>) Might
be interesting to folks who do EASTL-style containers. I'd be interested in
early feedback and/or telecon attendance.


Discussion on Embedded:
Paul's suggestions
The next meeting would then be Embedded and I would be interested in
knowing if people think a module std.freestanding is worth pursuing.
In that context I'd like to get some feedback perhaps already for the
upcoming meeting, if people have started using modules, and if so if it has
brought the promised expectations or if you are holding back if you see any
relevance in modules.

Review latest mailings:
P2532 Removing exception_ptr from the receivers concept
Based on the last meeting and the discussions here.
P2544 C++ Exceptions are becoming more and more problematic
We might want to chime in here.
/Paul
P. S. P2327 de-deprecating volatile received a "consensus" straw poll.


Discussion on Low Latency/Finance topics

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1839r4.pdf





Discussion about Games topics:

 P2388R1 - Minimum Contract Support: either Ignore or Check_and_abort
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2388r1.html>





2.2.1 any other proposal for reviews?



SG14/SG19 features/issues/defects:

https://docs.google.com/spreadsheets/d/1JnUJBO72QVURttkKr7gn0_WjP--P0vAne8JBfzbRiy0/edit#gid=0

2.3 Domain-specific discussions

2.3.1 SIG chairs

   - Embedded Programming chairs: Ben Craig, Wouter van Ooijen and Odin
 Holmes, John McFarlane

   - Financial/Trading chairs: Bryan St. amour
   - Games chairs: Rene Riviera, Guy Davidson and Paul Hampson, Patrice Roy

   - Linear Algebra chairs: Bob Steagall, Mark Hoemmen, Guy Davidson

2.4 Other Papers and proposals

2.5 Future F2F meetings:

2.6 future C++ Standard meetings:
https://isocpp.org/std/meetings-and-participation/upcoming-meetings

-

3. Any other business
Reflector
https://lists.isocpp.org/mailman/listinfo.cgi/sg14
As well as look through papers marked "SG14" in recent standards committee
paper mailings:
http://open-std.org/jtc1/sc22/wg21/docs/papers/2015/
http://open-std.org/jtc1/sc22/wg21/docs/papers/2016/

Code and proposal Staging area
https://github.com/WG21-SG14/SG14
4. Review

4.1 Review and approve resolutions and issues [e.g., changes to SG's
working draft]

4.2 Review action items (5 min)

5. Closing process

5.1 Establish next agenda

5.2 Future meeting


Future and past meeting plans

* Jan 8, 2025 02:00 PM ET: Cancelled
* Feb 12, 2025 02:00 PM ET: Hagenberg F2F; Cancelled
* Mar 12, 2025 02:00 PM ET: DST cancelled
* Apr 9, 2025 02:00 PM ET: Finance
* May 7, 2025 02:00 PM ET: Games
* June 11, 2025 02:00 PM ET: Sofia F2F
* July 9, 2025 02:00 PM ET: Embedded
* Aug 13, 2025 02:00 PM ET: Finance
* Sep 10, 2025 02:00 PM ET: CPPCON 9/14
* Oct 8, 2025 02:00 PM ET: Games
* Nov 12, 2025 02:00 PM ET: F2F
* Dec 10, 2025 02:00 PM ET: Embedded