FailedChanges

Summary

  1. [NewGVN] Fix typo and format comment. NFCI.
  2. [NFC] Add original test that triggered crash post r301735 - this is added just for completeness sake (though the general case should be represented by the test added in the revision to that patch: https://reviews.llvm.org/rL301972 )
  3. Fix PR32831 (Try Again): 'this' capture while instantiating generic lambda call operator specialization When computing the appropriate cv-qualifiers for the 'this' capture, we have to examine each enclosing lambda - but when using the FunctionScopeInfo stack we have to ensure that the lambda below (outer) is the decl-context of the closure-class of the current lambda. https://bugs.llvm.org/show_bug.cgi?id=32831 This patch was initially committed here: https://reviews.llvm.org/rL301735 Then reverted here: https://reviews.llvm.org/rL301916 The issue with the original patch was a failure to check that the closure type has been created within the LambdaScopeInfo before querying its DeclContext - instead of just assuming it has (silly!). A reduced example such as this highlights the problem: struct X { int data; auto foo() { return [] { return [] -> decltype(data) { return 0; }; }; } }; When 'data' within decltype(data) tries to determine the type of 'this', none of the LambdaScopeInfo's have their closure types created at that point.
  4. Verify that all references point to actual DIEs in "llvm-dwarfdump --verify" LTO and other fancy linking previously led to DWARF that contained invalid references. We already validate that CU relative references fall into the CU, and the DW_FORM_ref_addr references fall inside the .debug_info section, but we didn't validate that the references pointed to correct DIE offsets. This new verification will ensure that all references refer to actual DIEs and not an offset in between. This caught a bug in DWARFUnit::getDIEForOffset() where if you gave it any offset, it would match the DIE that mathes the offset _or_ the next DIE. This has been fixed. Differential Revision: https://reviews.llvm.org/D32722
  5. [Sema] Update function doc; NFC
  6. Revert "Fix misnamed #include. Remove _NC suffix from ELF relocations TLSDESC_{LD64,ADD}_LO12" This reverts commit r301964. It broke the build.
  7. Simplify some va_start checking logic Combine the logic doing the ms_abi/sysv_abi checks into one function so that each check and its logical opposite are near each other. Now we don't need two Sema entry points for MS va_start and regular va_start. Refactor the code that checks if the va_start caller is a function, block, or obj-c method. We do this in three places, and they are all buggy for variadic lambdas (PR32737). After this change, I have one place to apply the functional fix. NFC
  8. [asan] Mark atos-symbolizer-dyld-root-path.cc testcase as unsupported on iOS.
Revision 301974 by davide:
[NewGVN] Fix typo and format comment. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/NewGVN.cpp (diff)llvm-revision.src/llvm/trunk/lib/Transforms/Scalar/NewGVN.cpp
Revision 301973 by faisalv:
[NFC] Add original test that triggered crash post r301735
- this is added just for completeness sake (though the general case should be represented by the test added in the revision to that patch:  https://reviews.llvm.org/rL301972 )
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/SemaCXX/warn-thread-safety-parsing.cpp (diff)llvm-revision.src/cfe/trunk/test/SemaCXX/warn-thread-safety-parsing.cpp
Revision 301972 by faisalv:
Fix PR32831 (Try Again): 'this' capture while instantiating generic lambda call operator specialization

When computing the appropriate cv-qualifiers for the 'this' capture, we have to examine each enclosing lambda - but when using the FunctionScopeInfo stack we have to ensure that the lambda below (outer) is the decl-context of the closure-class of the current lambda.

https://bugs.llvm.org/show_bug.cgi?id=32831

This patch was initially committed here: https://reviews.llvm.org/rL301735
Then reverted here: https://reviews.llvm.org/rL301916

The issue with the original patch was a failure to check that the closure type has been created within the LambdaScopeInfo before querying its DeclContext - instead of just assuming it has (silly!).  A reduced example such as this highlights the problem:
  struct X {
     int data;
     auto foo() { return [] { return [] -> decltype(data) { return 0; }; }; }
  };

When 'data' within decltype(data) tries to determine the type of 'this', none of the LambdaScopeInfo's have their closure types created at that point.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaExprCXX.cpp (diff)llvm-revision.src/cfe/trunk/lib/Sema/SemaExprCXX.cpp
The file was modified/cfe/trunk/test/SemaCXX/cxx1z-lambda-star-this.cpp (diff)llvm-revision.src/cfe/trunk/test/SemaCXX/cxx1z-lambda-star-this.cpp
Revision 301971 by gclayton:
Verify that all references point to actual DIEs in "llvm-dwarfdump --verify"

LTO and other fancy linking previously led to DWARF that contained invalid references. We already validate that CU relative references fall into the CU, and the DW_FORM_ref_addr references fall inside the .debug_info section, but we didn't validate that the references pointed to correct DIE offsets. This new verification will ensure that all references refer to actual DIEs and not an offset in between.

This caught a bug in DWARFUnit::getDIEForOffset() where if you gave it any offset, it would match the DIE that mathes the offset _or_ the next DIE. This has been fixed.

Differential Revision: https://reviews.llvm.org/D32722
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/DebugInfo/DWARF/DWARFContext.h (diff)llvm-revision.src/llvm/trunk/include/llvm/DebugInfo/DWARF/DWARFContext.h
The file was modified/llvm/trunk/include/llvm/DebugInfo/DWARF/DWARFUnit.h (diff)llvm-revision.src/llvm/trunk/include/llvm/DebugInfo/DWARF/DWARFUnit.h
The file was modified/llvm/trunk/lib/DebugInfo/DWARF/DWARFContext.cpp (diff)llvm-revision.src/llvm/trunk/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modified/llvm/trunk/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp (diff)llvm-revision.src/llvm/trunk/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
Revision 301970 by George Burgess IV:
[Sema] Update function doc; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaExpr.cpp (diff)llvm-revision.src/cfe/trunk/lib/Sema/SemaExpr.cpp
Revision 301969 by rafael:
Revert "Fix misnamed #include. Remove _NC suffix from ELF relocations TLSDESC_{LD64,ADD}_LO12"

This reverts commit r301964. It broke the build.
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/COFF/PDB.cpp (diff)llvm-revision.src/lld/trunk/COFF/PDB.cpp
The file was modified/lld/trunk/ELF/Target.cpp (diff)llvm-revision.src/lld/trunk/ELF/Target.cpp
Revision 301968 by rnk:
Simplify some va_start checking logic

Combine the logic doing the ms_abi/sysv_abi checks into one function so
that each check and its logical opposite are near each other. Now we
don't need two Sema entry points for MS va_start and regular va_start.

Refactor the code that checks if the va_start caller is a function,
block, or obj-c method. We do this in three places, and they are all
buggy for variadic lambdas (PR32737). After this change, I have one
place to apply the functional fix.

NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (diff)llvm-revision.src/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
The file was modified/cfe/trunk/include/clang/Sema/Sema.h (diff)llvm-revision.src/cfe/trunk/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cpp (diff)llvm-revision.src/cfe/trunk/lib/Sema/SemaChecking.cpp
The file was modified/cfe/trunk/test/Sema/varargs.c (diff)llvm-revision.src/cfe/trunk/test/Sema/varargs.c
Revision 301967 by kuba.brecka:
[asan] Mark atos-symbolizer-dyld-root-path.cc testcase as unsupported on iOS.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/asan/TestCases/Darwin/atos-symbolizer-dyld-root-path.cc (diff)llvm-revision.src/compiler-rt/trunk/test/asan/TestCases/Darwin/atos-symbolizer-dyld-root-path.cc