[clang] [Sema] Propagate preferred_name attribute to existing specializations (PR #186741)

via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 16 01:35:44 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

The build failed before running any tests. Click on a failure below to see the details.

<details>
<summary>[code=1] tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaDeclAttr.cpp.obj</summary>

```
FAILED: [code=1] tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaDeclAttr.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DCLANG_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\clang\lib\Sema -IC:\_work\llvm-project\llvm-project\clang\lib\Sema -IC:\_work\llvm-project\llvm-project\clang\include -IC:\_work\llvm-project\llvm-project\build\tools\clang\include -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaDeclAttr.cpp.obj /Fdtools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1270,77): error: function definition is not allowed here
1270 | static void handleNoSpecializations(Sema &S, Decl *D, const ParsedAttr &AL) {
|                                                                             ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1278,61): error: function definition is not allowed here
1278 | bool Sema::isValidPointerAttrType(QualType T, bool RefOkay) {
|                                                             ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1307,61): error: function definition is not allowed here
1307 |                                 bool isReturnValue = false) {
|                                                             ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1320,71): error: function definition is not allowed here
1320 | static void handleNonNullAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
|                                                                       ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1367,62): error: function definition is not allowed here
1367 |                                        const ParsedAttr &AL) {
|                                                              ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1386,78): error: function definition is not allowed here
1386 | static void handleReturnsNonNullAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
|                                                                              ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1396,72): error: function definition is not allowed here
1396 | static void handleNoEscapeAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
|                                                                        ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1411,77): error: function definition is not allowed here
1411 | static void handleAssumeAlignedAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
|                                                                             ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1417,74): error: function definition is not allowed here
1417 | static void handleAllocAlignAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
|                                                                          ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1422,43): error: function definition is not allowed here
1422 |                                 Expr *OE) {
|                                           ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1466,47): error: function definition is not allowed here
1466 |                              Expr *ParamExpr) {
|                                               ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1495,48): error: function definition is not allowed here
1495 | static bool normalizeName(StringRef &AttrName) {
|                                                ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1504,73): error: function definition is not allowed here
1504 | static void handleOwnershipAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
|                                                                         ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1626,71): error: function definition is not allowed here
1626 | static void handleWeakRefAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
|                                                                       ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1689,52): error: function definition is not allowed here
1689 |                                     StringRef Str) {
|                                                    ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1716,69): error: function definition is not allowed here
1716 | static void handleIFuncAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
|                                                                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1732,69): error: function definition is not allowed here
1732 | static void handleAliasAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
|                                                                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1767,72): error: function definition is not allowed here
1767 | static void handleTLSModelAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
|                                                                        ^
C:\_work\llvm-project\llvm-project\clang\lib\Sema\SemaDeclAttr.cpp(1784,72): error: function definition is not allowed here
1784 | static void handleRestrictAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
|                                                                        ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

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


More information about the cfe-commits mailing list