SuccessChanges

Summary

  1. Fix remaining GCC 7 build warnings
  2. Fix UDP Socket connections Some of the refactoring in r301492 broke UDP socket connections. This is a partial revert of that refactoring. At some point I'll spend more time diagnosing where the refactoring went wrong and how to better clean up this code, but I don't have time to do that today.
  3. [clang-tidy] Fix PR32896: detect initializer lists in modernize-use-empalce Summary: This patch fixes [[ https://bugs.llvm.org/show_bug.cgi?id=32896 | PR32896 ]]. The problem was that modernize-use-emplace incorrectly removed changed push_back into emplace_back, removing explicit constructor call with initializer list parameter, resulting in compiler error after applying fixits. modernize-use-emplace used to check if matched constructor had InitListExpr, but didn't check against CXXStdInitializerListExpr. Eg. ``` std::vector<std::vector<int>> v; v.push_back(std::vector<int>({1})); // --> v.emplace_back({1}); ``` Reviewers: Prazek, alexfh, aaron.ballman Reviewed By: Prazek, alexfh, aaron.ballman Subscribers: xazax.hun, cfe-commits Tags: #clang-tools-extra Differential Revision: https://reviews.llvm.org/D32767
  4. Fix new warnings emitted by GCC 7
  5. Remove isTlsLocalDynamicRel and isTlsInitialExecRel. This feels a bit hackish, but I think it is still an improvement. The way a tls address is computed in the various architectures is not that different. For example, for local dynamic we need the base of the tls (R_TLSLD or R_TLSLD_PC), and the offset of that particular symbol (R_ABS). Given the similarity, we can just use the expressions instead of having two additional target hooks.
  6. TargetLibraryInfo: Introduce wcslen wcslen is part of the C99 and C++98 standards. - This introduces the function to TargetLibraryInfo. - Also set attributes for wcslen in llvm::inferLibFuncAttributes(). Differential Revision: https://reviews.llvm.org/D32837
  7. AMDGPU/AMDHSA: Set COMPUTE_PGM_RSRC2:LDS_SIZE to 0 This field is populated by the CP Differential Revision: https://reviews.llvm.org/D32619
  8. [ScopBuilder] Move Scop::init to ScopBuilder. NFC. Scop::init is used only during SCoP construction. Therefore ScopBuilder seems the more appropriate place for it. We integrate it onto its only caller ScopBuilder::buildScop where some other construction steps already took place. Differential Revision: https://reviews.llvm.org/D32908
Revision 302283 by ericwf:
Fix remaining GCC 7 build warnings
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/src/experimental/filesystem/operations.cpp (diff)llvm-revision.src/libcxx/trunk/src/experimental/filesystem/operations.cpp
Revision 302282 by cbieneman:
Fix UDP Socket connections

Some of the refactoring in r301492 broke UDP socket connections. This is a partial revert of that refactoring. At some point I'll spend more time diagnosing where the refactoring went wrong and how to better clean up this code, but I don't have time to do that today.
Change TypePath in RepositoryPath in Workspace
The file was modified/lldb/trunk/include/lldb/Host/common/UDPSocket.h (diff)llvm-revision.src/lldb/trunk/include/lldb/Host/common/UDPSocket.h
The file was modified/lldb/trunk/source/Host/common/UDPSocket.cpp (diff)llvm-revision.src/lldb/trunk/source/Host/common/UDPSocket.cpp
Revision 302281 by kuhar:
[clang-tidy] Fix PR32896: detect initializer lists in modernize-use-empalce

Summary:
This patch fixes [[ https://bugs.llvm.org/show_bug.cgi?id=32896 | PR32896 ]].

The problem was that modernize-use-emplace incorrectly removed changed push_back into emplace_back, removing explicit constructor call with initializer list parameter, resulting in compiler error after applying fixits.
modernize-use-emplace used to check if matched constructor had InitListExpr, but didn't check against CXXStdInitializerListExpr.

Eg.

```
std::vector<std::vector<int>> v;
  v.push_back(std::vector<int>({1})); // --> v.emplace_back({1});
```

Reviewers: Prazek, alexfh, aaron.ballman

Reviewed By: Prazek, alexfh, aaron.ballman

Subscribers: xazax.hun, cfe-commits

Tags: #clang-tools-extra

Differential Revision: https://reviews.llvm.org/D32767
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-tidy/modernize/UseEmplaceCheck.cpp (diff)llvm-revision.src/clang-tools-extra/trunk/clang-tidy/modernize/UseEmplaceCheck.cpp
The file was modified/clang-tools-extra/trunk/test/clang-tidy/modernize-use-emplace.cpp (diff)llvm-revision.src/clang-tools-extra/trunk/test/clang-tidy/modernize-use-emplace.cpp
Revision 302280 by ericwf:
Fix new warnings emitted by GCC 7
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/__config (diff)llvm-revision.src/libcxx/trunk/include/__config
The file was modified/libcxx/trunk/include/locale (diff)llvm-revision.src/libcxx/trunk/include/locale
The file was modified/libcxx/trunk/src/locale.cpp (diff)llvm-revision.src/libcxx/trunk/src/locale.cpp
Revision 302279 by rafael:
Remove isTlsLocalDynamicRel and isTlsInitialExecRel.

This feels a bit hackish, but I think it is still an improvement.

The way a tls address is computed in the various architectures is not
that different. For example, for local dynamic we need the base of the
tls (R_TLSLD or R_TLSLD_PC), and the offset of that particular symbol
(R_ABS).

Given the similarity, we can just use the expressions instead of
having two additional target hooks.
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/ELF/Relocations.cpp (diff)llvm-revision.src/lld/trunk/ELF/Relocations.cpp
The file was modified/lld/trunk/ELF/Target.cpp (diff)llvm-revision.src/lld/trunk/ELF/Target.cpp
The file was modified/lld/trunk/ELF/Target.h (diff)llvm-revision.src/lld/trunk/ELF/Target.h
Revision 302278 by matze:
TargetLibraryInfo: Introduce wcslen

wcslen is part of the C99 and C++98 standards.

- This introduces the function to TargetLibraryInfo.
- Also set attributes for wcslen in llvm::inferLibFuncAttributes().

Differential Revision: https://reviews.llvm.org/D32837
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/TargetLibraryInfo.def (diff)llvm-revision.src/llvm/trunk/include/llvm/Analysis/TargetLibraryInfo.def
The file was modified/llvm/trunk/lib/Analysis/TargetLibraryInfo.cpp (diff)llvm-revision.src/llvm/trunk/lib/Analysis/TargetLibraryInfo.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/BuildLibCalls.cpp (diff)llvm-revision.src/llvm/trunk/lib/Transforms/Utils/BuildLibCalls.cpp
The file was modified/llvm/trunk/unittests/Analysis/TargetLibraryInfoTest.cpp (diff)llvm-revision.src/llvm/trunk/unittests/Analysis/TargetLibraryInfoTest.cpp
Revision 302277 by kzhuravl:
AMDGPU/AMDHSA: Set COMPUTE_PGM_RSRC2:LDS_SIZE to 0

This field is populated by the CP

Differential Revision: https://reviews.llvm.org/D32619
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/lds-size.ll (diff)llvm-revision.src/llvm/trunk/test/CodeGen/AMDGPU/lds-size.ll
Revision 302276 by meinersbur:
[ScopBuilder] Move Scop::init to ScopBuilder. NFC.

Scop::init is used only during SCoP construction. Therefore ScopBuilder
seems the more appropriate place for it. We integrate it onto its only
caller ScopBuilder::buildScop where some other construction steps
already took place.

Differential Revision: https://reviews.llvm.org/D32908
Change TypePath in RepositoryPath in Workspace
The file was modified/polly/trunk/lib/Analysis/ScopBuilder.cpp (diff)llvm-revision.src/polly/trunk/lib/Analysis/ScopBuilder.cpp
The file was modified/polly/trunk/lib/Analysis/ScopInfo.cpp (diff)llvm-revision.src/polly/trunk/lib/Analysis/ScopInfo.cpp