Refactor places which perform contextual implicit conversions to go through a
common function. The C++1y contextual implicit conversion rules themselves are not yet implemented, however. This also fixes a subtle bug where template instantiation context notes were dropped for diagnostics coming from conversions for integral constant expressions -- we were implicitly slicing a SemaDiagnosticBuilder into a DiagnosticBuilder when producing these diagnostics, and losing their context notes in the process. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182406 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/Basic/DiagnosticSemaKinds.td 6 additions, 2 deletionsinclude/clang/Basic/DiagnosticSemaKinds.td
- include/clang/Sema/Sema.h 60 additions, 26 deletionsinclude/clang/Sema/Sema.h
- lib/Sema/SemaExpr.cpp 45 additions, 105 deletionslib/Sema/SemaExpr.cpp
- lib/Sema/SemaExprCXX.cpp 79 additions, 75 deletionslib/Sema/SemaExprCXX.cpp
- lib/Sema/SemaOverload.cpp 39 additions, 44 deletionslib/Sema/SemaOverload.cpp
- lib/Sema/SemaStmt.cpp 19 additions, 21 deletionslib/Sema/SemaStmt.cpp
- test/SemaCXX/conversion-delete-expr.cpp 12 additions, 12 deletionstest/SemaCXX/conversion-delete-expr.cpp
- test/SemaCXX/explicit.cpp 2 additions, 2 deletionstest/SemaCXX/explicit.cpp
- test/SemaCXX/new-delete.cpp 2 additions, 2 deletionstest/SemaCXX/new-delete.cpp
- test/SemaCXX/switch.cpp 15 additions, 0 deletionstest/SemaCXX/switch.cpp
Loading
Please register or sign in to comment