From b6837f0350ff66c13582b0e94178dd5ca283ff0a Mon Sep 17 00:00:00 2001 From: Alex Light Date: Thu, 12 Nov 2020 17:05:28 +0000 Subject: Revert^2 "Partial LSE analysis & store removal" A ScopedArenaAllocator in a single test was accidentally loaded using operator new which is not supported. This caused a memory leak. This reverts commit fe270426c8a2a69a8f669339e83b86fbf40e25a1. This unreverts commit bb6cda60e4418c0ab557ea4090e046bed8206763. Bug: 67037140 Reason for revert: Fixed memory leak in LoadStoreAnalysisTest.PartialEscape test case Test: SANITIZE_HOST=address ASAN_OPTIONS=detect_leaks=0 m test-art-host-gtest-dependencies Run art_compiler_tests Change-Id: I34fa2079df946ae54b8c91fa771a44d56438a719 --- libartbase/base/iteration_range.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'libartbase/base/iteration_range.h') diff --git a/libartbase/base/iteration_range.h b/libartbase/base/iteration_range.h index eaed8b06a8..c916250751 100644 --- a/libartbase/base/iteration_range.h +++ b/libartbase/base/iteration_range.h @@ -18,6 +18,7 @@ #define ART_LIBARTBASE_BASE_ITERATION_RANGE_H_ #include +#include namespace art { @@ -49,9 +50,11 @@ inline IterationRange MakeIterationRange(const Iter& begin_it, const Iter& return IterationRange(begin_it, end_it); } -template -inline IterationRange MakeIterationRange(List& list) { - return IterationRange(list.begin(), list.end()); +template +inline auto MakeIterationRange(List& list) -> IterationRange { + static_assert(std::is_same_v, + "Different iterator types"); + return MakeIterationRange(list.begin(), list.end()); } template -- cgit v1.2.3-59-g8ed1b