Skip to content
Success

Changes

Summary

  1. Update enum.tex (details)
  2. Update ReplacePseudoFunc, mostly the runtime lookup for attribute pseudo-function. It is imcomplete and returning dummy value (details)
  3. Fix analysis error in string-input testing. (details)
  4. Fix string reading bug: Manipulator `ignore` should not write to its output argument. (details)
Commit 367725d425be6bcb501fa6d005c7cb8e01598898 by j82liang
Update enum.tex
The file was modifieddoc/proposals/enum.tex
The file was modifiedsrc/Validate/ReplacePseudoFunc.cpp
Commit 544deb9e858ecd53a7b4d97ac4ac077c84729e37 by j82liang
Update ReplacePseudoFunc, mostly the runtime lookup for attribute pseudo-function. It is imcomplete and returning dummy value
The file was modifiedsrc/AST/Decl.hpp
The file was modifiedsrc/Validate/ReplacePseudoFunc.cpp
The file was modifiedsrc/Validate/Autogen.cpp
Commit 8a33777063862817f6f9b06eedc39d326a95ca25 by Michael Brooks
Fix analysis error in string-input testing.

Add comments correlating .in file content with line of code that reads it.

This test's correctness expectation is bootstrapped from the actual behaviour of scanf.
A mistake in knowing "which character are we on at this point"
led to an inaccurate understanding of what scanf does on an edge case.
The test was showing that the CFA analogs behave the same as scanf.
But the test was not exercising the case that it suggested it was.
This issue is now fixed.

Old position, mistaken: case 14 begins on line ccccuuuucccc
Old position, corrected: cases 12/13 consume leading cccc; case 14 begins on uuuucccc
New positions: as commented in test .cfa

prior scanf understanding, mistaken: include skips unwanted characters before capturing
wanted characters, while exclude fails on unwanted characters

scanf understanding, corrected: include and exclude fail on unwanted characters
The file was modifiedtests/io/.expect/manipulatorsInput.arm64.txt
The file was modifiedtests/io/.expect/manipulatorsInput.x64.txt
The file was modifiedtests/io/.in/manipulatorsInput.txt
The file was modifiedtests/io/manipulatorsInput.cfa
The file was modifiedtests/collections/.expect/string-istream-manip.txt
The file was modifiedtests/collections/.in/string-istream-manip.txt
The file was modifiedtests/collections/string-istream-manip.cfa
The file was modifiedtests/io/.expect/manipulatorsInput.x86.txt
Commit 3db78b894ae3be5dacb95d3d43fd6c10d981cd5e by Michael Brooks
Fix string reading bug: Manipulator `ignore` should not write to its output argument.

The prior test expectation was wrong.
The test was not following its rule that it should expect
the CFA library to show scanf-analogous behaviour.

Note, the corresponding expectation in collections/string-istream-manip was already correct.
The file was modifiedtests/io/.expect/manipulatorsInput.arm64.txt
The file was modifiedtests/io/.expect/manipulatorsInput.x86.txt
The file was modifiedlibcfa/src/iostream.cfa
The file was modifiedtests/io/.expect/manipulatorsInput.x64.txt