]> granicus.if.org Git - clang/commit
C++1y sized deallocation: if we have a use, but not a definition, of a sized
authorRichard Smith <richard-llvm@metafoo.co.uk>
Tue, 5 Nov 2013 09:12:18 +0000 (09:12 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Tue, 5 Nov 2013 09:12:18 +0000 (09:12 +0000)
commit3cebc73895daccea85984d8881b5b45c8f8df9c6
tree26dd2d94e349351dd5bfb2a02583ec42a9370542
parent88407bb80311bf95619f80596cb6d5041420814a
C++1y sized deallocation: if we have a use, but not a definition, of a sized
deallocation function (and the corresponding unsized deallocation function has
been declared), emit a weak discardable definition of the function that
forwards to the corresponding unsized deallocation.

This allows a C++ standard library implementation to provide both a sized and
an unsized deallocation function, where the unsized one does not just call the
sized one, for instance by putting both in the same object file within an
archive.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194055 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/Decl.h
lib/AST/Decl.cpp
lib/CodeGen/CGClass.cpp
lib/CodeGen/CGExpr.cpp
lib/CodeGen/CodeGenFunction.cpp
lib/CodeGen/CodeGenFunction.h
lib/CodeGen/CodeGenModule.cpp
lib/Frontend/CompilerInvocation.cpp
test/CodeGenCXX/cxx1y-sized-deallocation.cpp
www/cxx_status.html