SuccessChanges

Summary

  1. gold/CMakeLists.txt: Prune (-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64). They are handled in HandleLLVMOptions.cmake for -m32. They are not required for -m64.
  2. Prune trailing linefeed at eof.
  3. [Sema] Fix operator lookup to consider local extern declarations. Summary: Previously Clang was not considering operator declarations that occur at function scope. This is incorrect according to [over.match.oper]p3 > The set of non-member candidates is the result of the unqualified lookup of operator@ in the context of the expression according to the usual rules for name lookup in unqualified function calls. This patch changes operator name lookup to consider block scope declarations. This patch fixes PR27027. Reviewers: rsmith Reviewed By: rsmith Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D35297
  4. DebugInfo: Fix r309526, ensure resetting base address selection entries are used Missed the resetting base address selections when going from a base address version to zero base address for non-base-addressed entries.
  5. Mark LWG 2942 as complete
  6. Mark LWG 2961 as complete
  7. DebugInfo: Use base address selection entries in debug_ranges to reduce relocations (from comments in the test) Group ranges in a range list that apply to the same section and use a base address selection entry to reduce the number of relocations to one reloc per section per range list. DWARF5 debug_rnglist will be more efficient than this in terms of relocations, but it's still better than one reloc per entry in a range list. This is an object/executable size tradeoff - shrinking objects, but growing the linked executable. In one large binary tested, total object size (not just debug info) shrank by 16%, entirely relocation entries. Linked executable grew by 4%. This was with compressed debug info in the objects, uncompressed in the linked executable. Without compression in the objects, the win would be smaller (the growth of debug_ranges itself would be more significant).
  8. test: add an additional cfi_return_column test Ensure that we still coalesce identical CIEs across FDEs even with cfi_return_column alterations.
  9. test: make the test clearer (NFC) Use `llvm-objdump -dwarf=frames` to dump the .eh_frame to validate the output textually rather than compare the binary output. This makes it easier to see what is being checked. NFC.
  10. Also pass -pie back to the linker when linking on OpenBSD.
  11. Fix a typo.
  12. NFC: spell correction. On behalf of jbhateja Differential Revision: https://reviews.llvm.org/D35885
Revision 309532 by chapuni:
gold/CMakeLists.txt: Prune (-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64).

They are handled in HandleLLVMOptions.cmake for -m32.
They are not required for -m64.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/gold/CMakeLists.txtllvm.src/tools/gold/CMakeLists.txt
Revision 309531 by chapuni:
Prune trailing linefeed at eof.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/gold/CMakeLists.txtllvm.src/tools/gold/CMakeLists.txt
Revision 309530 by ericwf:
[Sema] Fix operator lookup to consider local extern declarations.

Summary:
Previously Clang was not considering operator declarations that occur at function scope. This is incorrect according to [over.match.oper]p3
> The set of non-member candidates is the result of the unqualified lookup of operator@ in the context of the expression according to the usual rules for name lookup in unqualified function calls.

This patch changes operator name lookup to consider block scope declarations.
This patch fixes PR27027.




Reviewers: rsmith

Reviewed By: rsmith

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D35297
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaLookup.cppclang.src/lib/Sema/SemaLookup.cpp
The file was modified/cfe/trunk/test/SemaCXX/overloaded-operator.cppclang.src/test/SemaCXX/overloaded-operator.cpp
Revision 309529 by dblaikie:
DebugInfo: Fix r309526, ensure resetting base address selection entries are used

Missed the resetting base address selections when going from a base
address version to zero base address for non-base-addressed entries.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cppllvm.src/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modified/llvm/trunk/test/DebugInfo/X86/range_reloc.llllvm.src/test/DebugInfo/X86/range_reloc.ll
Revision 309528 by ericwf:
Mark LWG 2942 as complete
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/owner_before_shared_ptr.pass.cpplibcxx.src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/owner_before_shared_ptr.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/owner_before_weak_ptr.pass.cpplibcxx.src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/owner_before_weak_ptr.pass.cpp
The file was modified/libcxx/trunk/www/cxx2a_status.htmllibcxx.src/www/cxx2a_status.html
Revision 309527 by ericwf:
Mark LWG 2961 as complete
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/www/cxx2a_status.htmllibcxx.src/www/cxx2a_status.html
Revision 309526 by dblaikie:
DebugInfo: Use base address selection entries in debug_ranges to reduce relocations

(from comments in the test)
Group ranges in a range list that apply to the same section and use a base
address selection entry to reduce the number of relocations to one reloc per
section per range list. DWARF5 debug_rnglist will be more efficient than this
in terms of relocations, but it's still better than one reloc per entry in a
range list.

This is an object/executable size tradeoff - shrinking objects, but growing
the linked executable. In one large binary tested, total object size (not just
debug info) shrank by 16%, entirely relocation entries. Linked executable
grew by 4%. This was with compressed debug info in the objects, uncompressed
in the linked executable. Without compression in the objects, the win would be
smaller (the growth of debug_ranges itself would be more significant).
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cppllvm.src/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was added/llvm/trunk/test/DebugInfo/X86/range_reloc.llllvm.src/test/DebugInfo/X86/range_reloc.ll
Revision 309525 by Saleem Abdulrasool:
test: add an additional cfi_return_column test

Ensure that we still coalesce identical CIEs across FDEs even with
cfi_return_column alterations.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Assembler/return-column.sllvm.src/test/Assembler/return-column.s
Revision 309524 by Saleem Abdulrasool:
test: make the test clearer (NFC)

Use `llvm-objdump -dwarf=frames` to dump the .eh_frame to validate the
output textually rather than compare the binary output.  This makes it
easier to see what is being checked.  NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Assembler/return-column.sllvm.src/test/Assembler/return-column.s
Revision 309523 by brad:
Also pass -pie back to the linker when linking on OpenBSD.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/ToolChains/OpenBSD.cppclang.src/lib/Driver/ToolChains/OpenBSD.cpp
The file was modified/cfe/trunk/test/Driver/openbsd.cclang.src/test/Driver/openbsd.c
Revision 309522 by brad:
Fix a typo.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Preprocessor/init.cclang.src/test/Preprocessor/init.c
Revision 309521 by lsaba:
NFC: spell correction.

On behalf of jbhateja

Differential Revision: https://reviews.llvm.org/D35885
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/TableGen/DAGISelMatcherGen.cppllvm.src/utils/TableGen/DAGISelMatcherGen.cpp