Preserve the "last diagnostic was suppressed" flag across SFINAE checks.
Sometimes we check the validity of some construct between producing a diagnostic and producing its notes. Ideally, we wouldn't do that, but in practice running code that "cannot possibly produce a diagnostic" in such a situation should be safe, and reasonable factoring of some code requires it with our current diagnostics infrastruture. If this does happen, a diagnostic that's suppressed due to SFINAE should not cause notes connected to the prior diagnostic to be suppressed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@319408 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/Basic/Diagnostic.h 5 additions, 3 deletionsinclude/clang/Basic/Diagnostic.h
- include/clang/Sema/Sema.h 6 additions, 1 deletioninclude/clang/Sema/Sema.h
- test/CXX/drs/dr4xx.cpp 3 additions, 0 deletionstest/CXX/drs/dr4xx.cpp
- test/SemaCXX/overload-call.cpp 8 additions, 0 deletionstest/SemaCXX/overload-call.cpp
Loading
Please register or sign in to comment