yronglin wrote:

> Did you check locally that this works with sanitizers enabled?

Yeah, the memory leak issue in https://github.com/llvm/llvm-project/pull/99895 
seems to be caused by other floating point builtins in 
clang/test/CodeGen/builtins.c. The new examples added in this PR do not have 
any floating point operations. And I've verifyed in my local with address 
sanitizer enabled.
Clang build with:
```
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS=clang 
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;compiler-rt;libunwind" 
-DLLVM_TARGETS_TO_BUILD="X86;AArch64" -DCMAKE_C_FLAGS="-fsanitize=address" 
-DCMAKE_CXX_FLAGS="-fsanitize=address" -DLLVM_USE_SANITIZER=Address 
../llvm-project/llvm
```
```
➜  test cat os_format.cpp 
void test_builtin_os_log(void *buf, int i, const char *data) {
  constexpr int len = __builtin_os_log_format_buffer_size("%d %{public}s 
%{private}.16P", i, data, data);
  static_assert(len > 0, "Expect len > 0");
}
➜  test ../rel/bin/clang++ -c  -fexperimental-new-constant-interpreter 
./os_format.cpp
➜  test 
```

https://github.com/llvm/llvm-project/pull/100566
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to