AaronBallman wrote:

> The changes should also come with a release note, but I'm generally happy 
> with the code. I did have some suggestions for changes to documentation 
> though.

Suggestion for the release note would be something along these lines:
```
- Clang now supports ``[[clang::preferred_type(type-name)]]`` as an attribute
which can be applied to a bit-field. This attribute helps to map a bit-field
back to a particular type that may be better-suited to representing the bit-
field but cannot be used for other reasons and will impact the debug
information generated for the bit-field. This is most useful when mapping a
bit-field of basic integer type back to a ``bool`` or an enumeration type.
e.g.,

.. code-block:: c++

    enum E { Apple, Orange, Pear };
    struct S {
      [[clang::preferred_type(E)]] unsigned FruitKind : 2;
    };

When viewing ``S::FruitKind`` in a debugger, it will behave as if the member
was declared as type ``E`` rather than ``unsigned``.
```

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

Reply via email to