In SBE implementation for atan2 we extract arguments for atan2 in undefined order because _context->popExpr() is called several times as function argument:
https://github.com/mongodb/mongo/blob/424befe581c9aeb29e42f05c0b1439ba2e39af98/src/mongo/db/query/sbe_stage_builder_expression.cpp#L3481
C++ doesn't specify the order of computation for function argument, so with any compiler upgrader and/or change in compilation flags this function can break.
- is related to
-
SERVER-68222 Make arguments evaluation order consistent between built-in and instruction functions in SBE
- Closed