llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
26.82k stars 11k forks source link

[Clang][Static Analyzer][CTU] c++ 20 concept not supported #66502

Open chohc1210 opened 9 months ago

chohc1210 commented 9 months ago

It seems that c++20 related features are not completed. Is there any plan or schedule?

[build] In file included from C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\variant:23: [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:1775:16: error: cannot import unsupported AST node ConceptSpecializationExpr [build] 1775 | requires (!sized_sentinel_for<_BidIt1, _BidIt2>) [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:1957:9: error: cannot import unsupported AST node Concept [build] 1957 | concept _Constant_iterator = input_iterator<_Ty> && same_as<iter_const_reference_t<_Ty>, iter_reference_t<_Ty>>; [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:1980:9: error: cannot import unsupported AST node Concept [build] 1980 | concept _Not_a_const_iterator = !_Is_specialization_v<_Ty, basic_const_iterator>; [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:1993:9: error: cannot import unsupported AST node Concept [build] 1993 | concept _Bci_order = _Different_from<_Ty, basic_const_iterator<_Iter>> && random_access_iterator<_Iter> [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:1997:9: error: cannot import unsupported AST node Concept [build] 1997 | concept _Bci_order_3way = _Bci_order<_Ty, _Iter> && three_way_comparable_with<_Iter, _Ty>; [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:2000:9: error: cannot import unsupported AST node Concept [build] 2000 | concept _Not_bci_order = [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:3699:13: error: cannot import unsupported AST node Concept [build] 3699 | concept _Uses_nonqualification_pointer_conversion = [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:3704:13: error: cannot import unsupported AST node Concept [build] 3704 | concept _Convertible_to_non_slicing = [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:3720:13: error: cannot import unsupported AST node Concept [build] 3720 | concept _Pair_like_convertible_from = [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:3730:13: error: cannot import unsupported AST node Concept [build] 3730 | concept _Store_size = (_Ki == subrange_kind::sized) && (!sized_sentinel_for<_Se, _It>); [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:3743:18: error: cannot import unsupported AST node ConceptSpecializationExpr [build] 3743 | requires _Store_size<_It, _Se, _Ki> [build] | ^

llvmbot commented 9 months ago

@llvm/issue-subscribers-clang-static-analyzer

It seems that c++20 related features are not completed. Is there any plan or schedule? [build] In file included from C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\variant:23: [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:1775:16: error: cannot import unsupported AST node ConceptSpecializationExpr [build] 1775 | requires (!sized_sentinel_for<_BidIt1, _BidIt2>) [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:1957:9: error: cannot import unsupported AST node Concept [build] 1957 | concept _Constant_iterator = input_iterator<_Ty> && same_as<iter_const_reference_t<_Ty>, iter_reference_t<_Ty>>; [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:1980:9: error: cannot import unsupported AST node Concept [build] 1980 | concept _Not_a_const_iterator = !_Is_specialization_v<_Ty, basic_const_iterator>; [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:1993:9: error: cannot import unsupported AST node Concept [build] 1993 | concept _Bci_order = _Different_from<_Ty, basic_const_iterator<_Iter>> && random_access_iterator<_Iter> [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:1997:9: error: cannot import unsupported AST node Concept [build] 1997 | concept _Bci_order_3way = _Bci_order<_Ty, _Iter> && three_way_comparable_with<_Iter, _Ty>; [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:2000:9: error: cannot import unsupported AST node Concept [build] 2000 | concept _Not_bci_order = [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:3699:13: error: cannot import unsupported AST node Concept [build] 3699 | concept _Uses_nonqualification_pointer_conversion = [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:3704:13: error: cannot import unsupported AST node Concept [build] 3704 | concept _Convertible_to_non_slicing = [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:3720:13: error: cannot import unsupported AST node Concept [build] 3720 | concept _Pair_like_convertible_from = [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:3730:13: error: cannot import unsupported AST node Concept [build] 3730 | concept _Store_size = (_Ki == subrange_kind::sized) && (!sized_sentinel_for<_Se, _It>); [build] | ^ [build] C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xutility:3743:18: error: cannot import unsupported AST node ConceptSpecializationExpr [build] 3743 | requires _Store_size<_It, _Se, _Ki> [build] | ^
Endilll commented 9 months ago

Not speaking for static analyzer here, but there has been recent activity on the topic of AST nodes for concepts: c2bf9baf59870532d0c503066634bf438c35184f

steakhal commented 9 months ago

Usually, on the CSA side, we don't really support the most recent features, but I feel this isn't the case here. CTU is an experimental feature, and folks working on it/using it is limited. Usually, @balazske cares about these for the most part.

chohc1210 commented 9 months ago

thank for your kindly reply.