0

I'm trying to get a handle (du-dum-tsh) on clang's acquire_handle and release_handle attributes. I've written

int create_foo(void) __attribute__((acquire_handle("foo")));
void destroy_foo(int __attribute__((release_handle("foo"))) foo);

void func(void)
{
    int foo = create_foo();
    destroy_foo(foo);
    destroy_foo(foo);
}

Though it compiles just fine, why doesn't

scan-build clang -c foo.c

detect the double release?

This is clang 14.0.0.

Daniel Walker
  • 6,380
  • 5
  • 22
  • 45

0 Answers0