[libcxx-commits] [PATCH] D118930: [SystemZ]:[z/OS]:[libcxx]: fix the mask in stage2_float_loop function

Sean via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Feb 16 09:52:33 PST 2022


SeanP added a comment.

@ldionne, did the explanation help?  I was thinking we could clean this logic up even better by adding a reference parameter to `__stage2_float_loop()` to track whether `__exp` has been seen or not rather than trying to store state in the character.

The logic around line 558 would become:

  else if (!__seen_exp && _VSTD::toupper(__x) == __exp)
  {
      __seen_exp = true;

And the compare on line 549 would simplify to:

  if (__a_end == __a || (_VSTD::toupper(__a_end[-1]) == __exp))


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D118930/new/

https://reviews.llvm.org/D118930



More information about the libcxx-commits mailing list