Issue 119979
Summary `Clang :: SemaCXX/msvc-pragma-function-no-builtin-attr.cpp` fails on 32-bit systems
Labels
Assignees
Reporter mgorny
    The test added in #119719 is failing on 32-bit systems (e.g. x86):

```
FAIL: Clang :: SemaCXX/msvc-pragma-function-no-builtin-attr.cpp (18443 of 21238)
******************** TEST 'Clang :: SemaCXX/msvc-pragma-function-no-builtin-attr.cpp' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: /var/tmp/portage/llvm-core/clang-20.0.0.9999/work/x/y/clang-abi_x86_32.x86/bin/clang --driver-mode=cl -fms-compatibility -Xclang -ast-dump -fsyntax-only -- /var/tmp/portage/llvm-core/clang-20.0.0.9999/work/clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp | /usr/lib/llvm/20/bin/FileCheck /var/tmp/portage/llvm-core/clang-20.0.0.9999/work/clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp
+ /var/tmp/portage/llvm-core/clang-20.0.0.9999/work/x/y/clang-abi_x86_32.x86/bin/clang --driver-mode=cl -fms-compatibility -Xclang -ast-dump -fsyntax-only -- /var/tmp/portage/llvm-core/clang-20.0.0.9999/work/clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp
+ /usr/lib/llvm/20/bin/FileCheck /var/tmp/portage/llvm-core/clang-20.0.0.9999/work/clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp
/var/tmp/portage/llvm-core/clang-20.0.0.9999/work/clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp:21:12: error: CHECK: expected string not found in input
 // CHECK: CXXMethodDecl {{.*}} foo 'int ()' delete
           ^
<stdin>:34:61: note: scanning from here
| `-NoBuiltinAttr 0x57422580 <<invalid sloc>> Implicit fabsf
 ^
<stdin>:44:4: note: possible intended match here
| |-CXXMethodDecl 0x57470738 <line:20:5, col:22> col:9 foo 'int () __attribute__((thiscall))' delete implicit-inline
 ^

Input file: <stdin>
Check file: /var/tmp/portage/llvm-core/clang-20.0.0.9999/work/clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp

-dump-input=help explains the following input dump.

Input was:
<<<<<<
            1: TranslationUnitDecl 0x57421708 <<invalid sloc>> <invalid sloc> 
 2: |-CXXRecordDecl 0x57421b60 <<invalid sloc>> <invalid sloc> implicit struct _GUID 
            3: | `-TypeVisibilityAttr 0x57421be0 <<invalid sloc>> Implicit Default 
            4: |-TypedefDecl 0x57421ec0 <<invalid sloc>> <invalid sloc> implicit __NSConstantString '__NSConstantString_tag' 
 5: | `-RecordType 0x57421ce0 '__NSConstantString_tag' 
            6: | `-CXXRecord 0x57421c88 '__NSConstantString_tag' 
            7: |-CXXRecordDecl 0x57421ef0 <<invalid sloc>> <invalid sloc> implicit class type_info 
            8: | `-TypeVisibilityAttr 0x57421f70 <<invalid sloc>> Implicit Default 
            9: |-TypedefDecl 0x57421fc8 <<invalid sloc>> <invalid sloc> implicit size_t 'unsigned int' 
           10: | `-BuiltinType 0x574217f0 'unsigned int' 
           11: |-TypedefDecl 0x57421c58 <<invalid sloc>> <invalid sloc> implicit __builtin_va_list 'char *' 
           12: | `-PointerType 0x57421c20 'char *' 
           13: | `-BuiltinType 0x57421770 'char' 
           14: |-LinkageSpecDecl 0x57422010 </var/tmp/portage/llvm-core/clang-20.0.0.9999/work/clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp:3:1, col:51> col:8 C 
           15: | `-FunctionDecl 0x57422140 <col:12, col:51> col:35 fabsf 'float (float) __attribute__((cdecl))':'float (float)' inline 
 16: | |-ParmVarDecl 0x57422060 <col:43, col:49> col:49 _X 'float' 
           17: | |-BuiltinAttr 0x57422208 <<invalid sloc>> Implicit 556 
 18: | |-NoThrowAttr 0x57422248 <col:35> Implicit 
           19: | `-ConstAttr 0x57422268 <col:35> Implicit 
           20: |-FunctionDecl 0x57422350 prev 0x57422140 <line:6:3, line:9:1> line:6:26 fabsf 'float (float) __attribute__((cdecl))':'float (float)' inline 
           21: | |-ParmVarDecl 0x574222a0 <col:34, col:40> col:40 _X 'float' 
           22: | |-CompoundStmt 0x574224bc <line:7:1, line:9:1> 
           23: | | `-ReturnStmt 0x574224b0 <line:8:5, col:12> 
           24: | | `-ImplicitCastExpr 0x574224a0 <col:12> 'float' <IntegralToFloating> 
 25: | | `-IntegerLiteral 0x57422480 <col:12> 'int' 0 
           26: | |-BuiltinAttr 0x574223e0 <<invalid sloc>> Inherited Implicit 556 
 27: | |-NoThrowAttr 0x57422400 <line:3:35> Inherited Implicit 
 28: | |-ConstAttr 0x57422420 <col:35> Inherited Implicit 
           29: | `-NoBuiltinAttr 0x57422440 <<invalid sloc>> Implicit fabsf 
           30: |-FunctionDecl 0x57422518 <line:13:1, line:15:1> line:13:5 bar 'int ()' 
 31: | |-CompoundStmt 0x57422608 <col:11, line:15:1> 
           32: | | `-ReturnStmt 0x574225fc <line:14:3, col:10> 
           33: | | `-IntegerLiteral 0x574225e0 <col:10> 'int' 0 
           34: | `-NoBuiltinAttr 0x57422580 <<invalid sloc>> Implicit fabsf 
check:21'0 X error: no match found
           35: |-CXXRecordDecl 0x57422620 <line:19:1, line:26:1> line:19:8 struct A definition 
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 36: | |-DefinitionData pass_in_registers empty aggregate standard_layout trivially_copyable pod trivial literal has_user_dec
lared_ctor has_constexpr_non_copy_move_ctor can_const_default_init 
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 37: | | |-DefaultConstructor exists trivial constexpr defaulted_is_constexpr 
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 38: | | |-CopyConstructor simple trivial has_const_param needs_implicit implicit_has_const_param 
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 39: | | |-MoveConstructor exists simple trivial needs_implicit 
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           40: | | |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param 
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 41: | | |-MoveAssignment exists simple trivial needs_implicit 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 42: | | `-Destructor simple irrelevant trivial needs_implicit 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 43: | |-CXXRecordDecl 0x57470670 <col:1, col:8> col:8 implicit referenced struct A 
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 44: | |-CXXMethodDecl 0x57470738 <line:20:5, col:22> col:9 foo 'int () __attribute__((thiscall))' delete implicit-inline 
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:21'1 ? po
ssible intended match
 45: | `-CXXConstructorDecl 0x574707f0 <line:23:5, col:17> col:5 constexpr A 'void () __attribute__((thiscall))' default trivial noexcept-unevaluated 0x574707f0 implicit-inline 
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 46: `-FunctionDecl 0x574708c0 <line:28:1, line:30:1> line:28:5 main 'int ()' 
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 47:  |-CompoundStmt 0x574709d8 <col:12, line:30:1> 
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           48:  | `-ReturnStmt 0x574709cc <line:29:5, col:12> 
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           49:  | `-IntegerLiteral 0x574709b0 <col:12> 'int' 0 
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           50: `-NoBuiltinAttr 0x57470950 <<invalid sloc>> Implicit fabsf 
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>

--

********************
```

Reproduced with c3276a96d909233b836e839a23a7ad510fae407a. I've used `FILECHECK_OPTS='--dump-input-context 100'` to get the full context. I've also confirmed that 64-bit build on the same system passes.

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

Reply via email to