[Sema] adds basic -Wfree-nonheap-object functionality
authorChristopher Di Bella <cjdb@google.com>
Wed, 28 Oct 2020 23:16:17 +0000 (16:16 -0700)
committerGeorge Burgess IV <george.burgess.iv@gmail.com>
Wed, 28 Oct 2020 23:18:23 +0000 (16:18 -0700)
commit425a83a5f069eb1a692145d2c92e6d3bfe564a62
treeb9fe6f0ebbc96a6421142d99ed616a488a05e3f6
parent946406aebce298725b07097934cb39b1e5bee656
[Sema] adds basic -Wfree-nonheap-object functionality

Checks to make sure that stdlib's (std::)free is being appropriately
used. Presently checks for the following misuses:

- free(&stack_object)
- free(stack_array)

Differential Revision: https://reviews.llvm.org/D89988
clang/include/clang/Basic/Builtins.def
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/include/clang/Sema/Sema.h
clang/lib/AST/Decl.cpp
clang/lib/Sema/SemaChecking.cpp
clang/test/Sema/warn-free-nonheap-object.c [new file with mode: 0644]
clang/test/Sema/warn-free-nonheap-object.cpp [new file with mode: 0644]