[clang-cl][sanitizer] Add -fsanitize-address-use-after-return to clang.
authorKevin Athey <kda@google.com>
Fri, 11 Jun 2021 17:13:10 +0000 (10:13 -0700)
committerKevin Athey <kda@google.com>
Fri, 11 Jun 2021 19:07:35 +0000 (12:07 -0700)
commite0b469ffa142353fc90bfc6eadb638a805ebed75
tree00af58ee3f64017f5e90ffe86b820a7565624ab6
parentc0c5a98b2c47bfb93a99b408cee2416005c16274
[clang-cl][sanitizer] Add -fsanitize-address-use-after-return to clang.

Also:
  - add driver test (fsanitize-use-after-return.c)
  - add basic IR test (asan-use-after-return.cpp)
  - (NFC) cleaned up logic for generating table of __asan_stack_malloc
    depending on flag.

for issue: https://github.com/google/sanitizers/issues/1394

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D104076
12 files changed:
clang/include/clang/Basic/CodeGenOptions.def
clang/include/clang/Basic/Sanitizers.h
clang/include/clang/Driver/Options.td
clang/include/clang/Driver/SanitizerArgs.h
clang/lib/Basic/Sanitizers.cpp
clang/lib/CodeGen/BackendUtil.cpp
clang/lib/Driver/SanitizerArgs.cpp
clang/test/CodeGen/asan-use-after-return.cpp [new file with mode: 0644]
clang/test/Driver/cl-options.c
clang/test/Driver/fsanitize-use-after-return.c [new file with mode: 0644]
llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp