Issue 141639
Summary clang-tidy: --enable-check-profile is empty
Labels clang-tidy
Assignees
Reporter fzakaria
    I run the following on our codebase:
```
clang-tidy --checks="-bugprone-sizeof-_expression_" ./src/libexpr-tests/nix_api_value.cc -p build/compile_commands.json --enable-check-profile 
```

It seems to emit some warnings but **no timing information**

```
clang-tidy --checks="-bugprone-sizeof-_expression_" ./src/libexpr-tests/nix_api_value.cc -p build/compile_commands.json --enable-check-profile --store-check-profile=""
1 warning generated.
../src/libexpr-tests/nix_api_value.cc:218:5: warning: Potential leak of memory pointed to by 'out_name' [clang-analyzer-unix.Malloc]
  218 | ASSERT_EQ(2u, nix_get_attrs_size(ctx, value));
      | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest.h:1914:31: note: expanded from macro 'ASSERT_EQ'
 1914 | #define ASSERT_EQ(val1, val2) GTEST_ASSERT_EQ(val1, val2)
      | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest.h:1898:3: note: expanded from macro 'GTEST_ASSERT_EQ'
 1898 | ASSERT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
 | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest_pred_impl.h:148:44: note: expanded from macro 'ASSERT_PRED_FORMAT2'
  148 | GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_FATAL_FAILURE_)
      | ^
../src/libexpr-tests/nix_api_value.cc:203:46: note: Memory is allocated
 203 |     const char ** out_name = (const char **) malloc(sizeof(char *));
 | ^~~~~~~~~~~~~~~~~~~~~~
../src/libexpr-tests/nix_api_value.cc:218:5: note: Control jumps to 'case 0:'  at line 218
  218 |     ASSERT_EQ(2u, nix_get_attrs_size(ctx, value));
      | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest.h:1914:31: note: expanded from macro 'ASSERT_EQ'
 1914 | #define ASSERT_EQ(val1, val2) GTEST_ASSERT_EQ(val1, val2)
      | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest.h:1898:3: note: expanded from macro 'GTEST_ASSERT_EQ'
 1898 | ASSERT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
 | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest_pred_impl.h:148:3: note: expanded from macro 'ASSERT_PRED_FORMAT2'
  148 | GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_FATAL_FAILURE_)
      | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest_pred_impl.h:134:3: note: expanded from macro 'GTEST_PRED_FORMAT2_'
  134 | GTEST_ASSERT_(pred_format(#v1, #v2, v1, v2), on_failure)
      | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest_pred_impl.h:78:3: note: expanded from macro 'GTEST_ASSERT_'
   78 | GTEST_AMBIGUOUS_ELSE_BLOCKER_                                 \
      | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/internal/gtest-port.h:730:3: note: expanded from macro 'GTEST_AMBIGUOUS_ELSE_BLOCKER_'
  730 |   switch (0)                          \
      | ^
../src/libexpr-tests/nix_api_value.cc:218:5: note: Assuming the condition is false
  218 |     ASSERT_EQ(2u, nix_get_attrs_size(ctx, value));
      | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest.h:1914:31: note: expanded from macro 'ASSERT_EQ'
 1914 | #define ASSERT_EQ(val1, val2) GTEST_ASSERT_EQ(val1, val2)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest.h:1898:3: note: expanded from macro 'GTEST_ASSERT_EQ'
 1898 | ASSERT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest_pred_impl.h:148:3: note: expanded from macro 'ASSERT_PRED_FORMAT2'
  148 | GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_FATAL_FAILURE_)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest_pred_impl.h:134:3: note: expanded from macro 'GTEST_PRED_FORMAT2_'
  134 | GTEST_ASSERT_(pred_format(#v1, #v2, v1, v2), on_failure)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest_pred_impl.h:79:40: note: expanded from macro 'GTEST_ASSERT_'
   79 |   if (const ::testing::AssertionResult gtest_ar = (_expression_)) \
      | ^~~~~~~~
../src/libexpr-tests/nix_api_value.cc:218:5: note: Taking false branch
  218 |     ASSERT_EQ(2u, nix_get_attrs_size(ctx, value));
      | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest.h:1914:31: note: expanded from macro 'ASSERT_EQ'
 1914 | #define ASSERT_EQ(val1, val2) GTEST_ASSERT_EQ(val1, val2)
      | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest.h:1898:3: note: expanded from macro 'GTEST_ASSERT_EQ'
 1898 | ASSERT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
 | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest_pred_impl.h:148:3: note: expanded from macro 'ASSERT_PRED_FORMAT2'
  148 | GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_FATAL_FAILURE_)
      | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest_pred_impl.h:134:3: note: expanded from macro 'GTEST_PRED_FORMAT2_'
  134 | GTEST_ASSERT_(pred_format(#v1, #v2, v1, v2), on_failure)
      | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest_pred_impl.h:79:3: note: expanded from macro 'GTEST_ASSERT_'
   79 |   if (const ::testing::AssertionResult gtest_ar = (_expression_)) \
      | ^
../src/libexpr-tests/nix_api_value.cc:218:5: note: Potential leak of memory pointed to by 'out_name'
  218 |     ASSERT_EQ(2u, nix_get_attrs_size(ctx, value));
      | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest.h:1914:31: note: expanded from macro 'ASSERT_EQ'
 1914 | #define ASSERT_EQ(val1, val2) GTEST_ASSERT_EQ(val1, val2)
      | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest.h:1898:3: note: expanded from macro 'GTEST_ASSERT_EQ'
 1898 | ASSERT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
 | ^
/nix/store/hg937h00c72z4mhdc0j6c2pialvdgcbs-gtest-1.16.0-dev/include/gtest/gtest_pred_impl.h:148:44: note: expanded from macro 'ASSERT_PRED_FORMAT2'
  148 | GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_FATAL_FAILURE_)
      | ^
```

I tried the `prefix` option `--store-check-profile="" but the JSON is also empty.
```
cat profile/20250527102426043627730-nix_api_value.cc.json 
{
"file": "../src/libexpr-tests/nix_api_value.cc",
"timestamp": "2025-05-27 10:24:26.043627730",
"profile": {

}
}
```

I can't tell if it's a bug or a dumb user error that should also be informed.

Thank you.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to