llvm-project/libcxx
Louis Dionne 3560fbf304 [libc++] Improve diagnostics for non-const comparators and hashers in associative containers
Summary:
When providing a non-const-callable comparator in a map or set, the
warning diagnostic does not include the point of instantiation of
the container that triggered the warning, which makes it difficult
to track down the problem. This commit improves the diagnostic by
placing it directly in the body of the associative container.

The same change is applied to unordered associative containers, which
had a similar problem.

Finally, this commit cleans up the forward declarations of several
map and unordered_map helpers, which are not needed anymore.

<rdar://problem/41370747>

Reviewers: EricWF, mclow.lists

Subscribers: christof, dexonsmith, llvm-commits

Differential Revision: https://reviews.llvm.org/D48955

llvm-svn: 348529
2018-12-06 21:46:17 +00:00
..
benchmarks Add benchmarks for sorting and heap functions. 2018-11-20 17:15:17 +00:00
cmake [CMake] Passthrough CFLAGS when checking the compiler-rt path 2018-11-14 00:09:26 +00:00
docs [libc++] Improve diagnostics for non-const comparators and hashers in associative containers 2018-12-06 21:46:17 +00:00
fuzzing Fix the test for partition_copy so it is not ridiculously slow. Also, detab. 2018-11-04 17:57:25 +00:00
include [libc++] Improve diagnostics for non-const comparators and hashers in associative containers 2018-12-06 21:46:17 +00:00
lib [libcxx] Remove bad_array_length 2018-11-29 19:44:57 +00:00
src [libcxx] Remove bad_array_length 2018-11-29 19:44:57 +00:00
test [libc++] Improve diagnostics for non-const comparators and hashers in associative containers 2018-12-06 21:46:17 +00:00
utils [libcxx] Always convert 'use_system_cxx_lib' to an absolute path 2018-12-06 20:09:15 +00:00
www [libcxx] Implement P0318: unwrap_ref_decay and unwrap_reference 2018-12-03 14:03:27 +00:00
.arcconfig [libcxx] Set up .arcconfig to point to new Diffusion CXX repository 2017-12-04 17:55:28 +00:00
.clang-format Make clang-format use C++03 syntax 2017-04-15 02:45:43 +00:00
.gitignore Implement N4606 optional 2016-10-12 07:46:20 +00:00
CMakeLists.txt Rename cxx-benchmark-unittests target and convert to LIT. 2018-11-14 20:38:46 +00:00
CREDITS.TXT Try again, this time with the correct address 2017-12-29 19:26:53 +00:00
LICENSE.TXT Update year to 2017 2017-01-03 11:20:43 +00:00
NOTES.TXT Reland "Use custom command and target to install libc++ headers" 2018-06-12 03:10:02 +00:00
TODO.TXT Add list of filesystem NB comments to TODO.TXT so they can be tracked separately 2017-03-06 21:23:36 +00:00
appveyor-reqs-install.cmd Update LLVM version used on Appveyor bot, remove MSVC 2015 bot 2018-10-30 21:23:31 +00:00
appveyor.yml Update LLVM version used on Appveyor bot, remove MSVC 2015 bot 2018-10-30 21:23:31 +00:00