User Details
- User Since
- Oct 21 2017, 7:38 PM (308 w, 5 d)
Sep 29 2022
Sep 14 2022
LGTM
Sep 12 2022
Aug 10 2022
Aug 9 2022
LGTM
Jun 7 2022
Jun 3 2022
Apr 20 2022
Mar 25 2022
Mar 1 2022
- Add a trigraph test case
Feb 28 2022
- Revert some auto's
Restore the right diff
Nit
Use the right copy of clang-format
Feb 25 2022
Re-run build
Rebase
Rebase
- Remove decltype(auto) from the patch
- Parenthesize deduced casts in AST print
Feb 24 2022
- Do not overwrite braced inits when forming AST
- Explain why losing decltype(auto) as written in AST
Feb 23 2022
- Add more tests to diagnose other forms of casts
Feb 18 2022
Feb 11 2022
Rerun pre-merge checks
- Rephrase a warning message
Feb 10 2022
Rebased
- Retarget Clang 15
Rebased
Jan 29 2022
LGTM
@rsmith, your suggestion in 2017 solves this issue:
Jan 27 2022
Rebased
Looks nice, and works for me (as in https://github.com/llvm/llvm-project/issues/53430).
Jan 26 2022
Jan 25 2022
Ping.
Jan 23 2022
Jan 22 2022
Restricted the ellipsis only to diagnosis. Type comparison now shows full initializers, which could be made smarter next time.
Jan 21 2022
- Flip the default and set EntireContentsOfLargeArray off only in diagnosis
Jan 12 2022
Rebase
- clang-format
Dec 28 2021
- Put tests in TypePrinterTest.cpp
Dec 24 2021
- Fix categorizing int64_t chars of negative values
- More ArrayRef
- Fix and test the EntireContentsOfLargeArray bit
Dec 22 2021
Looks reasonable to me.
Dec 15 2021
@rsmith Ping. I'm all on you :) You are almost the only one designed these files.
Dec 13 2021
Dec 7 2021
Ping. Ready to review again.
Dec 4 2021
- Switch to llvm::SmallString
- Refactor code that prints C-style builtin escape sequences
- Stop printing strings with embedded NULs in NTTP types
- Add an EntireContentsOfLargeArray pretty-print policy
Dec 3 2021
Ensure the ellipses output is never shorter than the normal ones (will look at review comments later)
Add EOL to source file
- Add tests
Fix failed assertion
Dec 1 2021
I reverted the attempt to fix auto(&a)->n = 0; in this revision. The fix is definitely not 3 lines and does not fit in this patch.
Long story short, our tentative parsing code does not look at trailing return types and fails to disambiguate template <class T> void e(auto (*p)(T y) -> decltype(y())) {} if it is still ambiguous after seen auto (. The following files have more interesting cases:
CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p2.cpp CXX/dcl/dcl.fct/p17.cpp CodeGenCXX/mangle-exprs.cpp Parser/cxx0x-ambig.cpp Parser/cxx1z-decomposition.cpp SemaCXX/trailing-return-0x.cpp SemaTemplate/alias-templates.cpp
and not all of them are correct. It needs a closer look in a future issue.
- revert the tentative parsing fix
- warn in -Wpre-c++2b-compat and -Wdecltype-auto-cast (ExtWarn)
Nov 25 2021
Ping. Please review.
Nov 23 2021
- Adapt tests instead
- Implement decltype(auto)(x) as well
Nov 13 2021
Thanks for the patch! It works for me, both for the auto{x} and new auto{x} cases. Some corner cases left:
- Manually adjust auto{x} formatting
Address review comments
Nov 10 2021
Nov 8 2021
Clang-format