[clang] [clang][ASTImporter] Support Importer of BuiltinBitCastExpr (PR #74813)

2023-12-07 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky created https://github.com/llvm/llvm-project/pull/74813 This patch aims to fix the [crash](https://github.com/llvm/llvm-project/issues/74774) >From 49ec0838ecef753d86562ce4c12b3d84000a859e Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 8 Dec 2023 15:26:01 +0800 Su

[clang] [clang][ASTImporter] Support Importer of BuiltinBitCastExpr (PR #74813)

2023-12-07 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/74813 >From 0cab02331a5f1eb85649ab381d73ddb71d354b5b Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 8 Dec 2023 15:26:01 +0800 Subject: [PATCH] [clang][ASTImporter] Support Importer of BuiltinBitCastExpr --- clang/l

[clang] [clang][ASTImporter] skip TemplateTypeParmDecl in VisitTypeAliasTemplateDecl (PR #74919)

2023-12-08 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky created https://github.com/llvm/llvm-project/pull/74919 Skip checking `TemplateTypeParmDecl ` in `VisitTypeAliasTemplateDecl`. [Fix this crash](https://github.com/llvm/llvm-project/issues/74765) >From b3c28d66efb98dff8b8f879bda92341bf62f45d3 Mon Sep 17 00:00:00 2001 F

[clang] [clang][ASTImporter] Support Importer of BuiltinBitCastExpr (PR #74813)

2023-12-08 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky edited https://github.com/llvm/llvm-project/pull/74813 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ASTImporter] Support Importer of BuiltinBitCastExpr (PR #74813)

2023-12-09 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/74813 >From 53e0a0bb8061e5fbd49c58b30bc1217cbb669352 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 8 Dec 2023 15:26:01 +0800 Subject: [PATCH] [clang][ASTImporter] Support Importer of BuiltinBitCastExpr --- clang/l

[clang] [clang][ASTImporter] Support Importer of BuiltinBitCastExpr (PR #74813)

2023-12-09 Thread Qizhi Hu via cfe-commits
@@ -7820,6 +7820,18 @@ ExpectedStmt ASTNodeImporter::VisitExplicitCastExpr(ExplicitCastExpr *E) { *ToLParenLocOrErr, OCE->getBridgeKind(), E->getCastKind(), *ToBridgeKeywordLocOrErr, ToTypeInfoAsWritten, ToSubExpr); } + case Stmt::BuiltinBitCastExprClass: {

[clang] [clang][ASTImporter] delay import funtion return type (PR #74991)

2023-12-10 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky created https://github.com/llvm/llvm-project/pull/74991 Import return type of a function would lead infinite recursion when `getAssociatedDecl()` returns itself in `ASTNodeImporter::VisitSubstNonTypeTemplateParmExpr`. Delay import the return type whether it is auto w

[clang] [clang][ASTImporter] skip TemplateTypeParmDecl in VisitTypeAliasTemplateDecl (PR #74919)

2023-12-10 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/74919 >From e656aa2a3850f845987bb0ddc56b308d22d2dafd Mon Sep 17 00:00:00 2001 From: huqizhi Date: Sat, 9 Dec 2023 12:00:02 +0800 Subject: [PATCH] [clang][ASTImporter] skip TemplateTypeParmDecl in VisitTypeAliasTemplate

[clang] [clang][ASTImporter] delay import funtion return type (PR #74991)

2023-12-11 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/74991 >From 8dc4955fad0147db16bddfe8fc7d227ae69b89a1 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Sun, 10 Dec 2023 21:01:49 +0800 Subject: [PATCH] [clang][ASTImporter] add processing of SubstNonTypeTemplateParmExpr in

[clang] [clang][ASTImporter] delay import funtion return type (PR #74991)

2023-12-11 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/74991 >From 07b7415da7af38c45f4d22ba4d42f435c6a9fe68 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Sun, 10 Dec 2023 21:01:49 +0800 Subject: [PATCH] [clang][ASTImporter] add processing of SubstNonTypeTemplateParmExpr in

[clang] [clang][ASTImporter] add processing of SubstNonTypeTemplateParmExpr in isAncestorDeclContextOf (PR #74991)

2023-12-11 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky edited https://github.com/llvm/llvm-project/pull/74991 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ASTImporter] add processing of SubstNonTypeTemplateParmExpr in isAncestorDeclContextOf (PR #74991)

2023-12-11 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky edited https://github.com/llvm/llvm-project/pull/74991 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ASTImporter] add processing of SubstNonTypeTemplateParmExpr in isAncestorDeclContextOf (PR #74991)

2023-12-11 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/74991 >From e5a6b1423919ded1ae11b431b2afa7213d052c41 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Sun, 10 Dec 2023 21:01:49 +0800 Subject: [PATCH] [clang][ASTImporter] add processing of SubstNonTypeTemplateParmExpr in

[clang-tools-extra] [clang] [clang-tidy] fix match for binaryOperator in ExprMutationAnalyzer for misc-const-correctness (PR #70559)

2023-11-06 Thread Qizhi Hu via cfe-commits
jcsxky wrote: how about adding a function call like `f()`? will this can prevent clang to emit empty function body? https://github.com/llvm/llvm-project/pull/70559 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/

[clang] [analyzer] Loop should contain CXXForRangeStmt (PR #70190)

2023-10-26 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky closed https://github.com/llvm/llvm-project/pull/70190 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang] [clang-tidy] fix match for binaryOperator in ExprMutationAnalyzer for misc-const-correctness (PR #70559)

2023-10-30 Thread Qizhi Hu via cfe-commits
jcsxky wrote: > The top-level Linux and Windows tests work, but inside the `Trigger > Build`/`clang-ci` run, the windows test step fails. I'm not sure what the > difference is between these two Windows tests. This is interesting! Generally speaking, AST of the code in Windows and Linux pla

[clang-tools-extra] [clang-tidy] fix false positive in cppcoreguidelines-missing-std-forward (PR #77056)

2024-01-05 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/77056 >From 4b8438f448010d8a805549d8c0fa902266c643e0 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Wed, 3 Jan 2024 09:44:26 +0800 Subject: [PATCH] [clang-tidy] fix false positive in cppcoreguidelines-missing-std-forward

[clang-tools-extra] [clang-tidy] fix false positive in cppcoreguidelines-missing-std-forward (PR #77056)

2024-01-05 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/77056 >From 0f1e72b143d360c1f005f4bd63a378c5277d4480 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Wed, 3 Jan 2024 09:44:26 +0800 Subject: [PATCH] [clang-tidy] fix false positive in cppcoreguidelines-missing-std-forward

[clang-tools-extra] [clang-tidy] fix false positive in cppcoreguidelines-missing-std-forward (PR #77056)

2024-01-05 Thread Qizhi Hu via cfe-commits
@@ -53,18 +53,76 @@ AST_MATCHER(ParmVarDecl, isTemplateTypeParameter) { FuncTemplate->getTemplateParameters()->getDepth(); } +AST_MATCHER_P(NamedDecl, hasSameNameAsBoundNode, std::string, BindingID) { + const auto &Name = Node.getNameAsString(); jcsx

[clang-tools-extra] [clang-tidy] fix false positive in cppcoreguidelines-missing-std-forward (PR #77056)

2024-01-05 Thread Qizhi Hu via cfe-commits
@@ -147,4 +147,24 @@ class AClass { T data; }; +template +void lambda_value_reference(T&& t) { + [&]() { T other = std::forward(t); }; +} + +template +void lambda_value_reference_capture_list_ref_1(T&& t) { +[=, &t] { T other = std::forward(t); }; +} + +template +void

[clang-tools-extra] [clang-tidy] fix false positive in cppcoreguidelines-missing-std-forward (PR #77056)

2024-01-05 Thread Qizhi Hu via cfe-commits
@@ -53,18 +53,76 @@ AST_MATCHER(ParmVarDecl, isTemplateTypeParameter) { FuncTemplate->getTemplateParameters()->getDepth(); } +AST_MATCHER_P(NamedDecl, hasSameNameAsBoundNode, std::string, BindingID) { + const auto &Name = Node.getNameAsString(); + + return Builder->

[clang-tools-extra] [clang-tidy] fix false positive in cppcoreguidelines-missing-std-forward (PR #77056)

2024-01-05 Thread Qizhi Hu via cfe-commits
@@ -53,18 +53,76 @@ AST_MATCHER(ParmVarDecl, isTemplateTypeParameter) { FuncTemplate->getTemplateParameters()->getDepth(); } +AST_MATCHER_P(NamedDecl, hasSameNameAsBoundNode, std::string, BindingID) { + const auto &Name = Node.getNameAsString(); + + return Builder->

[clang-tools-extra] [clang-tidy] fix false positive in cppcoreguidelines-missing-std-forward (PR #77056)

2024-01-06 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/77056 >From 880554dc7a73fbfad8229e15f8398097611e326d Mon Sep 17 00:00:00 2001 From: huqizhi Date: Wed, 3 Jan 2024 09:44:26 +0800 Subject: [PATCH] [clang-tidy] fix false positive in cppcoreguidelines-missing-std-forward

[clang-tools-extra] [clang-tidy] fix false positive in cppcoreguidelines-missing-std-forward (PR #77056)

2024-01-06 Thread Qizhi Hu via cfe-commits
@@ -295,6 +295,11 @@ Changes in existing checks coroutine functions and increase issue detection for cases involving type aliases with references. +- Improved :doc:`cppcoreguidelines-missing-std-forward + ` check to + provide fixes of false positive that forwarded in cap

[clang-tools-extra] [clang-tidy] fix false positive in cppcoreguidelines-missing-std-forward (PR #77056)

2024-01-06 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky closed https://github.com/llvm/llvm-project/pull/77056 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] pop explicit to keep context stack balance (PR #77312)

2024-01-08 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky created https://github.com/llvm/llvm-project/pull/77312 None >From d0a51d88d54420570bfa351e8ca70777ea15e4b7 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Mon, 8 Jan 2024 22:15:09 +0800 Subject: [PATCH] [clang] pop explicit to keep context stack balance --- clang/lib/

[clang] [clang] pop explicit to keep context stack balance (PR #77312)

2024-01-08 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/77312 >From e31bf72dfadd4f4b9a316917cc0919fdef203498 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Mon, 8 Jan 2024 22:15:09 +0800 Subject: [PATCH] [clang] pop explicit to keep context stack balance --- clang/lib/Parse/

[clang] [clang] pop explicit to keep context stack balance (PR #77312)

2024-01-08 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/77312 >From f5813ab00fb26148b79f8a419436abf14ad9ee34 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Mon, 8 Jan 2024 22:15:09 +0800 Subject: [PATCH] [clang] pop explicit to keep context stack balance --- clang/lib/Parse/

[clang] [clang] pop explicit to keep context stack balance (PR #77312)

2024-01-08 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/77312 >From f3671079bb27100dd77f9572a20445285c6850dd Mon Sep 17 00:00:00 2001 From: huqizhi Date: Mon, 8 Jan 2024 22:15:09 +0800 Subject: [PATCH] [clang] pop explicit to keep context stack balance --- clang/lib/Parse/

[clang] [clang] pop explicit to keep context stack balance (PR #77312)

2024-01-08 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky edited https://github.com/llvm/llvm-project/pull/77312 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] pop explicit to keep context stack balance (PR #77312)

2024-01-08 Thread Qizhi Hu via cfe-commits
jcsxky wrote: > Reference in new issue > Edit > Hide > Delete > Report conte Test case has been added and update description. https://github.com/llvm/llvm-project/pull/77312 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.or

[clang] [clang] pop explicit to keep context stack balance (PR #77312)

2024-01-08 Thread Qizhi Hu via cfe-commits
jcsxky wrote: > Can you explain why this change is needed, and provide a test case? (in > `clang/test/Parser`) Thanks Test case has been added and update description. https://github.com/llvm/llvm-project/pull/77312 ___ cfe-commits mailing list cfe-co

[clang] [clang] pop explicit to keep context stack balance (PR #77312)

2024-01-08 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/77312 >From 1579c73d40a285caad1c51a74a1324d6476d633c Mon Sep 17 00:00:00 2001 From: huqizhi Date: Mon, 8 Jan 2024 22:15:09 +0800 Subject: [PATCH] [clang] pop explicit to keep context stack balance --- clang/lib/Parse/

[clang] [clang] pop explicitly to keep context stack balance (PR #77312)

2024-01-08 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky edited https://github.com/llvm/llvm-project/pull/77312 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Parser] pop explicitly to keep context stack balance (PR #77312)

2024-01-09 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky edited https://github.com/llvm/llvm-project/pull/77312 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Parser] pop explicitly to keep context stack balance (PR #77312)

2024-01-09 Thread Qizhi Hu via cfe-commits
jcsxky wrote: > This looks like a duplicate of #77312 @danix800 The opposite is true. I will close this pr. https://github.com/llvm/llvm-project/pull/77312 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/

[clang] [Clang][Parser] pop explicitly to keep context stack balance (PR #77312)

2024-01-09 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky closed https://github.com/llvm/llvm-project/pull/77312 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][SemaCXX] improve sema check of clang::musttail attribute (PR #77727)

2024-01-10 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky created https://github.com/llvm/llvm-project/pull/77727 Call function with no-return attribute generate code with unreachable instruction instead of return and if the call statement has `clang::musttail` attribute, it would crash in Verify. Check this condition in

[clang] [Clang][SemaCXX] improve sema check of clang::musttail attribute (PR #77727)

2024-01-10 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/77727 >From c554108eeb950c9885291962018ce31233589e8e Mon Sep 17 00:00:00 2001 From: huqizhi Date: Thu, 11 Jan 2024 13:02:21 +0800 Subject: [PATCH] [Clang][SemaCXX] improve sema check of clang::musttail attribute ---

[clang] [Clang][SemaCXX] improve sema check of clang::musttail attribute (PR #77727)

2024-01-10 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/77727 >From 74fa4ef52b07df154d7b6682323d2da7ff2b12ef Mon Sep 17 00:00:00 2001 From: huqizhi Date: Thu, 11 Jan 2024 13:02:21 +0800 Subject: [PATCH] [Clang][SemaCXX] improve sema check of clang::musttail attribute ---

[clang] [Clang][SemaCXX] improve sema check of clang::musttail attribute (PR #77727)

2024-01-11 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky edited https://github.com/llvm/llvm-project/pull/77727 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][SemaCXX] improve sema check of clang::musttail attribute (PR #77727)

2024-01-11 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/77727 >From cdc04d0b5b934c4dc4c8294dd000539275bf4222 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Thu, 11 Jan 2024 13:02:21 +0800 Subject: [PATCH] [Clang][SemaCXX] improve sema check of clang::musttail attribute ---

[clang] [Clang][SemaCXX] improve sema check of clang::musttail attribute (PR #77727)

2024-01-11 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/77727 >From 75e9a81a5aa4042197201450fa676b8036a3d2cd Mon Sep 17 00:00:00 2001 From: huqizhi Date: Thu, 11 Jan 2024 13:02:21 +0800 Subject: [PATCH] [Clang][SemaCXX] improve sema check of clang::musttail attribute ---

[clang] [Clang][Sema] improve sema check of clang::musttail attribute (PR #77727)

2024-01-11 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky edited https://github.com/llvm/llvm-project/pull/77727 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] improve sema check of clang::musttail attribute (PR #77727)

2024-01-11 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky edited https://github.com/llvm/llvm-project/pull/77727 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] improve sema check of clang::musttail attribute (PR #77727)

2024-01-11 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/77727 >From 0281f6d55865f690d11845005580039dcd80da72 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Thu, 11 Jan 2024 13:02:21 +0800 Subject: [PATCH] [Clang][SemaCXX] improve sema check of clang::musttail attribute ---

[clang] [clang] Fix crash when compiling error with invalid decl (PR #77893)

2024-01-12 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky created https://github.com/llvm/llvm-project/pull/77893 `APValue::LValueBase::LValueBase` constructs `ValueDecl` with its canonicalDecl, even though it's invalid. And when obtain its type, it also check all redecls and ignore checking if it's valid. This will cause cr

[clang] [clang][dataflow]Use cast_or_null instead cast to prevent crash (PR #68510)

2023-10-15 Thread Qizhi Hu via cfe-commits
jcsxky wrote: @ymand Could you take a look at this pr? https://github.com/llvm/llvm-project/pull/68510 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow]Use cast_or_null instead of cast to prevent crash (PR #68510)

2023-10-15 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky edited https://github.com/llvm/llvm-project/pull/68510 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang][dataflow]Use cast_or_null instead of cast to prevent crash (PR #68510)

2023-10-18 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/68510 >From a5c5fc7a17f57a0b6ae328f7138435b4aaf7f9b5 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Sun, 8 Oct 2023 16:00:29 +0800 Subject: [PATCH] [clang][analysis]Use dyn_cast_or_null instead of cast to prevent crash

[clang-tools-extra] [clang][dataflow]Use cast_or_null instead of cast to prevent crash (PR #68510)

2023-10-18 Thread Qizhi Hu via cfe-commits
jcsxky wrote: > Thanks, looks good! > > You can submit as is, but if you're up for it, it would actually be better to > add the new test case directly to the model's unittests. Something like this > test (though just one case is enough -- please put it in a separate TEST_P): > > https://githu

[clang-tools-extra] [clang][dataflow]Use cast_or_null instead of cast to prevent crash (PR #68510)

2023-10-20 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky closed https://github.com/llvm/llvm-project/pull/68510 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [analyzer] Loop should contain CXXForRangeStmt (PR #70190)

2023-10-25 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky created https://github.com/llvm/llvm-project/pull/70190 Static analyze can't report diagnose when statement after a CXXForRangeStmt and enable widen, because `ExprEngine::processCFGBlockEntrance` lacks of CXXForRangeStmt and when `AMgr.options.maxBlockVisitOnPath - 1`

[clang] [analyzer] Loop should contain CXXForRangeStmt (PR #70190)

2023-10-25 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/70190 >From f65ad2217e169b1d6876696201b97ffca5f9c886 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Wed, 25 Oct 2023 18:13:21 +0800 Subject: [PATCH] [analyzer] Loop should contain CXXForRangeStmt --- clang/lib/StaticAna

[clang] [analyzer] Loop should contain CXXForRangeStmt (PR #70190)

2023-10-25 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/70190 >From b1b49db9f155d0bf0aef626d620b6287509fb538 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Wed, 25 Oct 2023 18:13:21 +0800 Subject: [PATCH] [analyzer] Loop should contain CXXForRangeStmt --- clang/lib/StaticAna

[clang] [clang][AST][ASTMerge] prevent AST nodes from being deallocated early (PR #73096)

2023-11-22 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky created https://github.com/llvm/llvm-project/pull/73096 This patch aims to fix [error in ast-merge to new ast file](https://github.com/llvm/llvm-project/issues/72783). `ASTUnit` is put in `for` body and AST nodes would be deallocated by allocator. Using these nodes la

[clang] [clang][AST][ASTMerge] prevent AST nodes from being deallocated early (PR #73096)

2023-11-23 Thread Qizhi Hu via cfe-commits
jcsxky wrote: > > Debug the #72783 can prove it. Address interval (local from 0x3a9a00 to > > 0x3aaa00) allocated by allocator contains a IdentifierInfo variable (local > > address:0x3aa190) whose address is freed early. > > In this case, it looks better to extract the use-after-free variable

[clang] [clang][AST][ASTMerge] prevent AST nodes from being deallocated early (PR #73096)

2023-11-23 Thread Qizhi Hu via cfe-commits
jcsxky wrote: > You have found that reason for the crash is that references to > `IdentifierInfo` are remaining in `OnDiskChainedHashTableGenerator` and > previously deallocated by `ASTUnit` destruction? In this case why is the > `ASTUnit` (or something in it, probably `ASTContext`) the owner

[clang] [clang][AST][ASTMerge] prevent AST nodes from being deallocated early (PR #73096)

2023-11-23 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky closed https://github.com/llvm/llvm-project/pull/73096 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ASTImporter] IdentifierInfo of Attribute should be set using 'ToASTContext' (PR #73290)

2023-11-23 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky created https://github.com/llvm/llvm-project/pull/73290 None >From cc883836b0c24368a7a438873cec2229776323da Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 24 Nov 2023 13:55:45 +0800 Subject: [PATCH] [clang][ASTImporter] IdentifierInfo of Attribute should be set us

[clang] [clang][ASTImporter] IdentifierInfo of Attribute should be set using 'ToASTContext' (PR #73290)

2023-11-23 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/73290 >From 150993c21943203d3fd116c3a0456eaea81008de Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 24 Nov 2023 13:55:45 +0800 Subject: [PATCH] [clang][ASTImporter] IdentifierInfo of Attribute should be set using To

[clang] [clang][ASTImporter] IdentifierInfo of Attribute should be set using 'ToASTContext' (PR #73290)

2023-11-23 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/73290 >From 52b972fd84877793fa8099cfb0b5d934c39e5925 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 24 Nov 2023 13:55:45 +0800 Subject: [PATCH] [clang][ASTImporter] IdentifierInfo of Attribute should be set using To

[clang] [clang][ASTImporter] IdentifierInfo of Attribute should be set using 'ToASTContext' (PR #73290)

2023-11-23 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/73290 >From a29523ed19ccb36554ea7ad2597631da26d8baaa Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 24 Nov 2023 13:55:45 +0800 Subject: [PATCH] [clang][ASTImporter] IdentifierInfo of Attribute should be set using To

[clang] [clang][ASTImporter] IdentifierInfo of Attribute should be set using 'ToASTContext' (PR #73290)

2023-11-24 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/73290 >From 20aab6095691f3de5568bc61c83427f380e28350 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 24 Nov 2023 13:55:45 +0800 Subject: [PATCH] [clang][ASTImporter] IdentifierInfo of Attribute should be set using To

[clang] [clang][ASTImporter] IdentifierInfo of Attribute should be set using 'ToASTContext' (PR #73290)

2023-11-24 Thread Qizhi Hu via cfe-commits
jcsxky wrote: > I think it is better to add the import of AttrName to the attribute import > code (function `Import(const Attr *FromAttr)` and what is called from it). > Probably it works to add it to `AttrImporter::cloneAttr` and do it like > `const IdentifierInfo *ToAttrName = > Importer.Im

[clang] [clang][ASTImporter] IdentifierInfo of Attribute should be set using 'ToASTContext' (PR #73290)

2023-11-28 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky closed https://github.com/llvm/llvm-project/pull/73290 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ASTImporter] skip TemplateTypeParmDecl in VisitTypeAliasTemplateDecl (PR #74919)

2023-12-13 Thread Qizhi Hu via cfe-commits
jcsxky wrote: > The `VisitTypeAliasTemplateDecl` function should be re-designed to check for > structural equivalence at import. The following test does not pass because an > existing `TypeAliasTemplateDecl` declaration with the same name is always > found and returned, without check for struc

[clang] [clang][ASTImporter] skip TemplateTypeParmDecl in VisitTypeAliasTemplateDecl (PR #74919)

2023-12-13 Thread Qizhi Hu via cfe-commits
jcsxky wrote: > The problem may be related to the fact that template parameter declarations > can have the `TranslationUnitDecl` as parent until the template (with these > parameters) is finally created. In the temporary phase the object > (`TemplateTypeParmDecl`) is found with lookup if it ha

[clang] [clang][ASTImporter] skip TemplateTypeParmDecl in VisitTypeAliasTemplateDecl (PR #74919)

2023-12-13 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/74919 >From e4e981ed4f545f3dd4cc709bab30468a8ceb3962 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Sat, 9 Dec 2023 12:00:02 +0800 Subject: [PATCH] [clang][ASTImporter] skip TemplateTypeParmDecl in VisitTypeAliasTemplate

[clang] [clang][ASTImporter] skip TemplateTypeParmDecl in VisitTypeAliasTemplateDecl (PR #74919)

2023-12-13 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/74919 >From a2dcc7f471237e78f374c204216c6574059aa950 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Sat, 9 Dec 2023 12:00:02 +0800 Subject: [PATCH] [clang][ASTImporter] skip TemplateTypeParmDecl in VisitTypeAliasTemplate

[clang] [clang][ASTImporter] skip TemplateTypeParmDecl in VisitTypeAliasTemplateDecl (PR #74919)

2023-12-13 Thread Qizhi Hu via cfe-commits
jcsxky wrote: > The `VisitTypeAliasTemplateDecl` function should be re-designed to check for > structural equivalence at import. The following test does not pass because an > existing `TypeAliasTemplateDecl` declaration with the same name is always > found and returned, without check for struc

[clang] [clang][ASTImporter] Fix import of variable template redeclarations. (PR #72841)

2023-12-13 Thread Qizhi Hu via cfe-commits
=?utf-8?q?Balázs_Kéri?= , =?utf-8?q?Balázs_Kéri?= Message-ID: In-Reply-To: @@ -5050,6 +5050,59 @@ TEST_P(ImportFriendClasses, RecordVarTemplateDecl) { EXPECT_EQ(ToTUX, ToX); } +TEST_P(ASTImporterOptionSpecificTestBase, VarTemplateDeclConflict) { + getToTuDecl( + R"(

[clang] [clang][ASTImporter] Support Importer of BuiltinBitCastExpr (PR #74813)

2023-12-17 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/74813 >From 4e2ac40eece61343b5947ae906e5a4be8a82c823 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 8 Dec 2023 15:26:01 +0800 Subject: [PATCH] [clang][ASTImporter] Support Importer of BuiltinBitCastExpr --- clang/l

[clang] [clang][ASTImporter] Support Importer of BuiltinBitCastExpr (PR #74813)

2023-12-17 Thread Qizhi Hu via cfe-commits
@@ -9284,6 +9284,24 @@ TEST_P(ASTImporterOptionSpecificTestBase, // EXPECT_EQ(ToF1Imported->getPreviousDecl(), ToF1); } +const internal::VariadicDynCastAllOfMatcher +builtinBitCastExpr; + +TEST_P(ASTImporterOptionSpecificTestBase, ImportBuiltinBitCastExpr) { + const cha

[clang] [clang][ASTImporter] add processing of SubstNonTypeTemplateParmExpr in isAncestorDeclContextOf (PR #74991)

2023-12-17 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/74991 >From 6bb37862cb6b09fd252d991d5f3ce0d2208bedac Mon Sep 17 00:00:00 2001 From: huqizhi Date: Sun, 10 Dec 2023 21:01:49 +0800 Subject: [PATCH] [clang][ASTImporter] add processing of SubstNonTypeTemplateParmExpr in

[clang] [clang][ASTImporter] add processing of SubstNonTypeTemplateParmExpr in isAncestorDeclContextOf (PR #74991)

2023-12-17 Thread Qizhi Hu via cfe-commits
@@ -9284,6 +9284,26 @@ TEST_P(ASTImporterOptionSpecificTestBase, // EXPECT_EQ(ToF1Imported->getPreviousDecl(), ToF1); } +TEST_P(ASTImporterOptionSpecificTestBase, ImportFunctionAutoType) { jcsxky wrote: Code has been fixed. https://github.com/llvm/llvm-pro

[clang] [clang][ASTImporter] skip TemplateTypeParmDecl in VisitTypeAliasTemplateDecl (PR #74919)

2023-12-19 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/74919 >From 583cbd47533ff1aa71874c502affc44ce5b5c107 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Sat, 9 Dec 2023 12:00:02 +0800 Subject: [PATCH] [clang][ASTImporter] skip TemplateTypeParmDecl in VisitTypeAliasTemplate

[clang] [clang][ASTImporter] Support Importer of BuiltinBitCastExpr (PR #74813)

2023-12-20 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/74813 >From d1f48502c1ec7a58ca18a19dc3631265e5c1b137 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 8 Dec 2023 15:26:01 +0800 Subject: [PATCH] [clang][ASTImporter] Support Importer of BuiltinBitCastExpr --- clang/l

[clang] [clang][ASTImporter] Support Importer of BuiltinBitCastExpr (PR #74813)

2023-12-20 Thread Qizhi Hu via cfe-commits
@@ -3220,6 +3220,12 @@ TEST_P(ImportExpr, UnresolvedMemberExpr) { compoundStmt(has(callExpr(has(unresolvedMemberExpr()); } +TEST_P(ImportExpr, BuiltinBitCastExpr) { + MatchVerifier Verifier; + testImport("void declToImport(int T) { (void)__builtin_bi

[clang] [clang][ASTImporter] add processing of SubstNonTypeTemplateParmExpr in isAncestorDeclContextOf (PR #74991)

2023-12-20 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky closed https://github.com/llvm/llvm-project/pull/74991 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalence on recordType (PR #76226)

2023-12-22 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky created https://github.com/llvm/llvm-project/pull/76226 Types comparison in `StructuralEquivalence` ignores its `DeclContext` when they are generated by template specialization implicitly and this will produce incorrect result. Add comparison of `DeclContext` of Clas

[clang] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalence on recordType (PR #76226)

2023-12-22 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky edited https://github.com/llvm/llvm-project/pull/76226 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ASTImporter] Support Importer of BuiltinBitCastExpr (PR #74813)

2023-12-22 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky closed https://github.com/llvm/llvm-project/pull/74813 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalence on recordType (PR #76226)

2023-12-22 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/76226 >From 08a2bb64e19fe244361cb58a1e8eed64a2c1f0cd Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 22 Dec 2023 17:56:32 +0800 Subject: [PATCH] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalen

[clang] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalence on recordType (PR #76226)

2023-12-22 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/76226 >From 9a8cea81eba77eef914089e3cffd96e863aac36f Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 22 Dec 2023 17:56:32 +0800 Subject: [PATCH] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalen

[clang] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalence on recordType (PR #76226)

2023-12-22 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/76226 >From be62fb62934052db668eea57a9ff241fcd06cd2c Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 22 Dec 2023 17:56:32 +0800 Subject: [PATCH] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalen

[clang] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalence on recordType (PR #76226)

2023-12-22 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/76226 >From 574fa37117614fc4e23c12a7ecd297304d5eb337 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 22 Dec 2023 17:56:32 +0800 Subject: [PATCH] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalen

[clang] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalence on recordType (PR #76226)

2023-12-22 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/76226 >From 27005dba5f7530143657c514250a362670e3d67d Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 22 Dec 2023 17:56:32 +0800 Subject: [PATCH] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalen

[clang] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalence on recordType (PR #76226)

2023-12-23 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/76226 >From 77976022454865df8bee1e4a09682a16658ed035 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 22 Dec 2023 17:56:32 +0800 Subject: [PATCH] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalen

[clang] [clang][ASTImporter] skip TemplateTypeParmDecl in VisitTypeAliasTemplateDecl (PR #74919)

2023-12-24 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky closed https://github.com/llvm/llvm-project/pull/74919 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ASTImporter] import InstantiatedFromMember of ClassTemplateSpecializationDecl (PR #76493)

2023-12-27 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky created https://github.com/llvm/llvm-project/pull/76493 import of `ClassTemplateSpecializationDecl` didn't set `InstantiatedFromMember` and this makes ast-dump crash. import and set `InstantiatedFromMember`. fix [issue](https://github.com/llvm/llvm-project/issues/7646

[clang] [clang][ASTImporter] import InstantiatedFromMember of ClassTemplateSpecializationDecl (PR #76493)

2023-12-28 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/76493 >From 057f9324bb83141ea07c69beb3afe5158fb3f194 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Thu, 28 Dec 2023 15:51:32 +0800 Subject: [PATCH] [clang][ASTImporter] import InstantiatedFromMember of ClassTemplateSpec

[clang] [clang][ASTImporter] import InstantiatedFromMember of ClassTemplateSpecializationDecl (PR #76493)

2023-12-28 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/76493 >From 9a9a203bbea079a033a14e610a3c00dff5ec408a Mon Sep 17 00:00:00 2001 From: huqizhi Date: Thu, 28 Dec 2023 15:51:32 +0800 Subject: [PATCH] [clang][ASTImporter] import InstantiatedFromMember of ClassTemplateSpec

[clang] [clang][ASTImporter] import InstantiatedFromMember of ClassTemplateSpecializationDecl (PR #76493)

2023-12-28 Thread Qizhi Hu via cfe-commits
@@ -9342,6 +9342,38 @@ TEST_P(ASTImporterOptionSpecificTestBase, ImportConflictTypeAliasTemplate) { EXPECT_FALSE(ImportedCallable); } +AST_MATCHER(ClassTemplateSpecializationDecl, hasInstantiatedFromMember) { + if (auto Instantiate = Node.getInstantiatedFrom()) { +if (

[clang] [clang][ASTImporter] import InstantiatedFromMember of ClassTemplateSpecializationDecl (PR #76493)

2023-12-28 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/76493 >From a891331098d34724495798650e4a6e7ad9ebefcb Mon Sep 17 00:00:00 2001 From: huqizhi Date: Thu, 28 Dec 2023 15:51:32 +0800 Subject: [PATCH] [clang][ASTImporter] import InstantiatedFromMember of ClassTemplateSpec

[clang] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalence on recordType (PR #76226)

2024-01-02 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/76226 >From ab1ace9573588153f1e8caf992a6abda3322c6a7 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 22 Dec 2023 17:56:32 +0800 Subject: [PATCH] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalen

[clang] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalence on recordType (PR #76226)

2024-01-02 Thread Qizhi Hu via cfe-commits
@@ -1491,6 +1492,12 @@ static bool IsRecordContextStructurallyEquivalent(RecordDecl *D1, return false; } +if (auto *D1Spec = dyn_cast(DC1)) { + auto *D2Spec = dyn_cast(DC2); jcsxky wrote: Done. https://github.com/llvm/llvm-project/pull/

[clang] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalence on recordType (PR #76226)

2024-01-03 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/76226 >From 77976022454865df8bee1e4a09682a16658ed035 Mon Sep 17 00:00:00 2001 From: huqizhi Date: Fri, 22 Dec 2023 17:56:32 +0800 Subject: [PATCH] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalen

[clang] [clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalence on recordType (PR #76226)

2024-01-03 Thread Qizhi Hu via cfe-commits
@@ -1491,6 +1492,12 @@ static bool IsRecordContextStructurallyEquivalent(RecordDecl *D1, return false; } +if (auto *D1Spec = dyn_cast(DC1)) { + auto *D2Spec = dyn_cast(DC2); jcsxky wrote: revert https://github.com/llvm/llvm-project/pull

[clang] [clang][ASTImporter] import InstantiatedFromMember of ClassTemplateSpecializationDecl (PR #76493)

2024-01-03 Thread Qizhi Hu via cfe-commits
https://github.com/jcsxky updated https://github.com/llvm/llvm-project/pull/76493 >From ef18bd2237ebb045033001076a14d2b7c1e926db Mon Sep 17 00:00:00 2001 From: huqizhi Date: Thu, 28 Dec 2023 15:51:32 +0800 Subject: [PATCH] [clang][ASTImporter] import InstantiatedFromMember of ClassTemplateSpec

  1   2   3   4   5   >