SuccessChanges

Summary

  1. [flang] More clean-up of CookedSource API (details)
  2. Revert "[libc++] Make rotate a constexpr." (details)
  3. [Take 2] [libc++] Make rotate a constexpr. (details)
  4. [flang] Fix bug for forward referenced type (details)
Commit 5881bf0050398f4bb2d9761167d06a9ecfc8a371 by pklausler
[flang] More clean-up of CookedSource API

The std::string holding the content of a CookedSource no longer
needs to be exposed in its API after the recent work that allows
the parsing context to hold multiple instances of a CookedSource.
So clean the API.  These changes were extracted from some work in
progress that was made easier by the API changes.

Differential Revision: https://reviews.llvm.org/D87635
The file was modifiedflang/lib/Lower/OpenACC.cpp (diff)
The file was modifiedflang/unittests/Evaluate/intrinsics.cpp (diff)
The file was modifiedflang/tools/f18/f18.cpp (diff)
The file was modifiedflang/include/flang/Parser/provenance.h (diff)
The file was modifiedflang/lib/Parser/provenance.cpp (diff)
The file was modifiedflang/include/flang/Parser/parse-state.h (diff)
The file was modifiedflang/include/flang/Semantics/semantics.h (diff)
The file was modifiedflang/lib/Parser/prescan.cpp (diff)
Commit ed653184ac6385945e32535feb7af2876ec52d40 by zoecarver
Revert "[libc++] Make rotate a constexpr."

This reverts commit 1ec02efee9b1d01cde89f31ca9ba6a46b7662ac5.
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp (diff)
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp (diff)
The file was modifiedlibcxx/www/cxx2a_status.html (diff)
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp (diff)
The file was modifiedlibcxx/include/iterator (diff)
The file was modifiedlibcxx/include/algorithm (diff)
Commit 3ed89b51da38f081fedb57727076262abb81d149 by Louis Dionne
[Take 2] [libc++] Make rotate a constexpr.

This patch makes `std::rotate` a constexpr. In doing so, this patch also
updates the internal `__move` and `__move_backward` funtions to be
constexpr.

This patch was previously reverted in ed653184ac63 because it was missing
some UNSUPPORTED markup for older compilers. This commit adds it.

Differential Revision: https://reviews.llvm.org/D65721
The file was modifiedlibcxx/include/iterator (diff)
The file was modifiedlibcxx/www/cxx2a_status.html (diff)
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp (diff)
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp (diff)
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp (diff)
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate_copy.pass.cpp (diff)
The file was modifiedlibcxx/include/algorithm (diff)
The file was modifiedlibcxx/test/std/algorithms/alg.sorting/alg.merge/merge_comp.pass.cpp (diff)
The file was modifiedlibcxx/test/std/algorithms/alg.sorting/alg.merge/merge.pass.cpp (diff)
Commit cdbfb47998cd37ab0384ad944fa8e4ba1e1b47d0 by psteinfeld
[flang] Fix bug for forward referenced type

A type name in an IMPLICIT declaration that was later used in a PARAMETER
statement caused problems because the default symbol scope had not yet been
initialized.  I avoided dereferencing in the situation where the default scope
was uninitialized and added a test that triggers the problem.

Also, once I corrected the bad dereference, the compiler was putting out
misleading error messages.  The underlying error us due to violating section
7.5.10, paragraph 4, which states:
  A structure constructor shall not appear before the referenced type is
  defined.

I fixed this by testing to see if a type that is used in a structure
constructor is forward referenced.

Differential Revision: https://reviews.llvm.org/D87535
The file was modifiedflang/test/Semantics/bad-forward-type.f90 (diff)
The file was modifiedflang/lib/Semantics/expression.cpp (diff)