cjappl wrote: Hi @dougsonos
Seeing a possible bug when using `malloc` in a [[nonallocating]] context. Specifically this test program (partially stolen from one of your test cases) ```cpp #include <cstdlib> void nb4_inline() {} void nb4_not_inline(); void nb4() noexcept [[clang::nonallocating]] { float* ptr = (float*)malloc(100 * sizeof(float)); // SHOULD WARN BUT DOES NOT nb4_inline(); // OK nb4_not_inline(); // expected-warning {{'nonblocking' function must not call non-'nonblocking' function}} } ``` Produces warnings: ``` /Users/topher/code/rtsan_example/main.cpp:15:3: warning: 'nonallocating' function must not call non-'nonallocating' function 'nb4_not_inline' [-Wfunction-effects] 15 | nb4_not_inline(); // expected-warning {{'nonblocking' function must not call non-'nonblocking' function}} | ^ /Users/topher/code/rtsan_example/main.cpp:9:6: note: declaration cannot be inferred 'nonallocating' because it has no definition in this translation unit 9 | void nb4_not_inline(); | ^ ``` But we are missing the warning for the malloc call (which should be non-nonallocating) More simply: ``` #include <cstdlib> float* nb4() noexcept [[clang::nonallocating]] { float* ptr = (float*)malloc(100 * sizeof(float)); return ptr; } ``` Produces no warnings: ``` [2/2] Linking CXX executable helloWorld Build finished ``` https://github.com/llvm/llvm-project/pull/99656 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits