C++ Logo

SG14

Advanced search

Subject: Re: SG14 Sept 8 (Games) zoom call
From: Michael Wong (fraggamuffin_at_[hidden])
Date: 2021-09-08 14:57:02


Thanks to Rene for Chairing.

On Tue, Sep 7, 2021 at 10:53 AM Michael Wong <fraggamuffin_at_[hidden]> wrote:

> Topic: SG14 Low Latency Monthly
>
> This meeting is focused on Games .
>
> Hi,
>
> Michael Wong is inviting you to a scheduled Zoom meeting.
>
> Topic: SG14 monthly
> Time: 2nd Wednesdays 02:00 PM Eastern Time 1800 UTC (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
>
> 1.2 Adopt agenda
>
> 1.3 Approve minutes from 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
>
> Future meeting plans
>
> July 14, 2021 02:00 PM ET/1800 UTC: Finance/Low Latency
>
> Aug 11, 2021 02:00 PM ET/1800 UTC: Games Cancelled
> Sep 8 , 2021 02:00 PM ET/1800 UTC: Games
> Oct 13, 2021 02:00 PM ET/1800 UTC: Embedded
> Nov 10, 2021 02:00 PM ET/1800 UTC: DST change/cancelled
> Dec 8, 2021 02:00 PM ET/1800 UTC: Finance/Low Latency
>
> 2.2 Paper reviews
>
> 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>
>
 P2388R1:
What is stopping static analyzers
want to allow programmers to declare good contract annotations in 23
so that in 26 tools can have annotations
min annotations
need from std:
portable notatoion
type system checking declared expre
guarantee that predicates can be rt evaluated if needed
ack disappearing side effects in declared expr
ack possibility of halting the program

ignore mode
check and abort: noexcept by default
allow compiler to provide a way to install contract violation handler but
not require it: how about a compiler flag ?
possible to have pre/post-condition in hdr or cpp file: require from first
declaration; they are not part of type system
builtin unreachable is being standadized

side effects in predicates as no way to be sure it is side effect free:
allowed but discouraged, may be evaluated, may be evaluated twice
ub if evaluation of one affects the other

how does it interact with constexpr? constexpr fn with non-constexpr
predicate

postconditions:
eval after destructors of local objects called
eval before destructors of function
referred objects values are those ...

check value of parameter at the point it was passed, so need to make a copy
of the parameter in case parameter is changed during execution
if copy is made implicitly, then compiler can only optimize copy in some
cases by eliding
in ignore mode, you can avoid the copy

precondition failure reported on caller side, rather then calleebut its not
always possible because we can not guarantee

dropped from C++20 contracts
assertion levels
guaranteed non-evaluation of predicates (axiom)
continuation mode
interface

Retained from C++20 contracts
contract annotations on first declaration
ODR identical annotations on overriding functions
access to private and protected members from predicates

use case weher you want to widen and narroe the derived class contracts and
caller needs to be able to depend on the post condition being true
if you want to check you really need to check both the pre and post
conditions on the interface fn you call through so if you are calling
through a ptr to base , the caller is going to depend on the fact that the
post conditions and the pre and post conditions of the ptr you are calling
through are checked and the callee is going to depend on the fact that the
pre and post conditions it declares are going to be checked. Crrectly
checking the right things when they can be different is complicated
So MVP approach is just require them to be the same for now and explore
what can be done later to be different

Not addresign overriding fn issue, then this proposal will survive.

Feedback on ignore mode, and const values
anything concern you on this approach?
in safety critical setting, might not be annotations we want them to be not
affecting too deeply the rest of the functions: can make it uniform by
referrng to a function input and output by value and are not const-able

idiomatic constructor with operator plus trick would have to be rewritten?

> Patrice's WIP on Games issues.
>
Making C++ better for Game Developers: some Request
based on survey from local Montreal game companies
general principles:
simplify C++
make it teachable due to high turn over
avoid negative perf impact
debugging matters

how to split these 30 proposals?

similar to freestanding, chop into many small pieces
but also good to have an omnibus paper before the split
do a few feature per meeting, or wait until January for the next Games focus
should address Arthur's feedback and generate V2
some are low latency and can be in Dec meeting
updates coming

Finance topics from July 14, 2021.
>
> https://lists.isocpp.org/sg14/2021/06/0636.php
>
> https://lists.isocpp.org/sg14/2021/07/0642.php
>
> 2.2.1 any other proposal for reviews?
>
> 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?
>
> 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: Staffan
> TjernstrÃÃâ€
> ’Ãâ€
> ’¶m,
> Carl
> Cooke, Neal
> Horlock,
> Mateusz Pusz, Clay Trychta,
>

Richard Smith to take over paper

> - 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
>
> Oct 13, 2021 02:00 PM ET/1800 UTC: Embedded
> Nov 10, 2021 02:00 PM ET/1800 UTC: DST change/cancelled
> Dec 8, 2021 02:00 PM ET/1800 UTC: Finance/Low Latency
>
> Kind Rgds
>



SG14 list run by sg14-owner@lists.isocpp.org

Older Archives on Google Groups