[libcxx-commits] [libcxx] Add [[clang::lifetimebound]] to numerous functions in libc++ include headers (PR #112751)

Haojian Wu via libcxx-commits libcxx-commits at lists.llvm.org
Wed Oct 23 03:30:49 PDT 2024


hokein wrote:

> By the way - I keep getting [this confusing error](https://github.com/llvm/llvm-project/actions/runs/11472747270/job/31925816201?pr=112751#step:3:4068) in CI, and I'm not sure if I'm decorating something incorrectly. If anyone has an idea, please let me kno

(I don't have experience with libcxx.) 
At first glance, this seems like a false positive triggered by the newly introduced lifetimebound annotation. It’s possible that we might have an incorrect annotation somewhere causing this issue.

There is also another failure in the `lifetimebound.verify.cpp`:

```
File /home/runner/_work/llvm-project/llvm-project/libcxx/test/libcxx/utilities/utility/forward/lifetimebound.verify.cpp Line 28: no member named 'vector' in namespace 'std'
  # |   File /home/runner/_work/llvm-project/llvm-project/libcxx/test/libcxx/utilities/utility/forward/lifetimebound.verify.cpp Line 28: expected '(' for function-style cast or type construction
  # |   File /home/runner/_work/llvm-project/llvm-project/libcxx/test/libcxx/utilities/utility/forward/lifetimebound.verify.cpp Line 29: subscripted value is not an array, pointer, or vector
  # |   File /home/runner/_work/llvm-project/llvm-project/libcxx/test/libcxx/utilities/utility/forward/lifetimebound.verify.cpp Line 30: no template named 'set' in namespace 'std'; did you mean 'get'?
  # |   File /home/runner/_work/llvm-project/llvm-project/libcxx/test/libcxx/utilities/utility/forward/lifetimebound.verify.cpp Line 30: no matching function for call to 'get'
  # | error: 'expected-warning' diagnostics expected but not seen: 
  # |   File /home/runner/_work/llvm-project/llvm-project/libcxx/test/libcxx/utilities/utility/forward/lifetimebound.verify.cpp Line 29: temporary bound to local reference 'v6' will be destroyed at the end of the full-expression
  # |   File /home/runner/_work/llvm-project/llvm-project/libcxx/test/libcxx/utilities/utility/forward/lifetimebound.verify.cpp Line 31: temporary bound to local reference 'v7' will be destroyed at the end of the full-expression
```



https://github.com/llvm/llvm-project/pull/112751


More information about the libcxx-commits mailing list