Thanks for the heads up!  Fixed in 305491.  Turns out a function that 
AllocateMacroInfo returns a pointer, but the PP still owns it.  
MacroArgs::create returns a pointer, and expects the user to delete it.  I 
added a unique_ptr with a custom delete to call the macro-args 'destroy' 
function. 

-----Original Message-----
From: Kostya Serebryany via Phabricator [mailto:revi...@reviews.llvm.org] 
Sent: Thursday, June 15, 2017 10:44 AM
To: Keane, Erich <erich.ke...@intel.com>; r...@google.com; 
rich...@metafoo.co.uk; arpha...@gmail.com
Cc: k...@google.com; cfe-commits@lists.llvm.org
Subject: [PATCH] D32046: [Preprocessor]Correct Macro-Arg allocation of 
StringifiedArguments, correct getNumArguments

kcc added a comment.

the bots complain about a leak in the new test code. 
Please fix/revert ASAP. 
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/5691/steps/check-clang%20asan/logs/stdio

28905==ERROR: LeakSanitizer: detected memory leaks 
==================================================

Direct leak of 216 byte(s) in 1 object(s) allocated from:

  #0 0x4eca08 in __interceptor_malloc 
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:66
  #1 0xefcb8f in clang::MacroArgs::create(clang::MacroInfo const*, 
llvm::ArrayRef<clang::Token>, bool, clang::Preprocessor&) 
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Lex/MacroArgs.cpp:51:27
  #2 0x54dc56 in (anonymous 
namespace)::LexerTest_DontOverallocateStringifyArgs_Test::TestBody() 
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/unittests/Lex/LexerTest.cpp:405:19
  #3 0x65154e in HandleExceptionsInMethodIfSupported<testing::Test, void> 
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/utils/unittest/googletest/src/gtest.cc:2458:12
  #4 0x65154e in testing::Test::Run() 
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/utils/unittest/googletest/src/gtest.cc:2474
  #5 0x653848 in testing::TestInfo::Run() 
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/utils/unittest/googletest/src/gtest.cc:2656:11
  #6 0x654b86 in testing::TestCase::Run() 
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/utils/unittest/googletest/src/gtest.cc:2774:28
  #7 0x675586 in testing::internal::UnitTestImpl::RunAllTests() 
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/utils/unittest/googletest/src/gtest.cc:4649:43
  #8 0x67487e in 
HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> 
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/utils/unittest/googletest/src/gtest.cc:2458:12
  #9 0x67487e in testing::UnitTest::Run() 
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/utils/unittest/googletest/src/gtest.cc:4257
  #10 0x634bfe in RUN_ALL_TESTS 
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/utils/unittest/googletest/include/gtest/gtest.h:2233:46
  #11 0x634bfe in main 
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/utils/unittest/UnitTestMain/TestMain.cpp:51
  #12 0x7f016e9cb82f in __libc_start_main 
(/lib/x86_64-linux-gnu/libc.so.6+0x2082f)


Repository:
  rL LLVM

https://reviews.llvm.org/D32046



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to