[clang] [clang] fix(85447): clang 18.1.0 crashes in clang::ASTContext::getTypeInfoImpl (PR #89850)

2024-05-01 Thread Oleksandr T. via cfe-commits
a-tarasyuk wrote: If no additional feedback is needed, it would be great if you could proceed with the merge. thanks https://github.com/llvm/llvm-project/pull/89850 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin

[clang] [clang] fix(85447): clang 18.1.0 crashes in clang::ASTContext::getTypeInfoImpl (PR #89850)

2024-05-01 Thread Oleksandr T. via cfe-commits
a-tarasyuk wrote: @cor3ntin If no additional feedback is needed, it would be great if you could proceed with the merge. thanks https://github.com/llvm/llvm-project/pull/89850 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.o

[clang] [clang] fix(92755): clang/include/clang/AST/Redeclarable.h: 4 * Function parameter should be passed by const reference (PR #92963)

2024-05-21 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk created https://github.com/llvm/llvm-project/pull/92963 Fixes #92755 >From f33697ce241213136a8d34c2cc32c68f8f827d6a Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Tue, 21 May 2024 22:56:06 +0300 Subject: [PATCH] fix(92755): use const references for operator== an

[clang] [clang] fix(92755): clang/include/clang/AST/Redeclarable.h: 4 * Function parameter should be passed by const reference (PR #92963)

2024-05-21 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/92963 >From f33697ce241213136a8d34c2cc32c68f8f827d6a Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Tue, 21 May 2024 22:56:06 +0300 Subject: [PATCH] fix(92755): use const references for operator== and operator!=

[clang] [clang] fix(92755): clang/include/clang/AST/Redeclarable.h: 4 * Function parameter should be passed by const reference (PR #92963)

2024-05-21 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/92963 >From f33697ce241213136a8d34c2cc32c68f8f827d6a Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Tue, 21 May 2024 22:56:06 +0300 Subject: [PATCH] fix(92755): use const references for operator== and operator!=

[clang] [clang] fix(93002): clang/lib/Sema/SemaOpenMP.cpp:7405: Possible & / && mixup ? (PR #93093)

2024-05-22 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk created https://github.com/llvm/llvm-project/pull/93093 Fixes #93002 >From 19c54263be42fea58403d30030af76da0355ef1e Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Wed, 22 May 2024 23:47:19 +0300 Subject: [PATCH] fix(93002): switch & to && for boolean values ---

[clang] [clang] fix(92759): clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp: 6 * Function parameter should be passed by const reference (PR #93252)

2024-05-23 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk created https://github.com/llvm/llvm-project/pull/93252 Fixes #92759 >From 994791b862dfecf7bb370f32834645011e69137d Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Fri, 24 May 2024 01:39:35 +0300 Subject: [PATCH] fix(92759): use const references --- .../Fronten

[clang] [clang] fix(92759): clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp: 6 * Function parameter should be passed by const reference (PR #93252)

2024-05-23 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/93252 >From 994791b862dfecf7bb370f32834645011e69137d Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Fri, 24 May 2024 01:39:35 +0300 Subject: [PATCH 1/2] fix(92759): use const references --- .../Frontend/Rewrite/

[clang] [clang] fix(93284): In Sema use new parentEvaluationContext function (PR #93338)

2024-05-24 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk created https://github.com/llvm/llvm-project/pull/93338 Fixes #93284 >From 43050fe6f93436b43b4aa336013a91eed1d6d23a Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Fri, 24 May 2024 22:46:53 +0300 Subject: [PATCH] fix(93284): replace direct access to ExprEvalConte

[clang] [clang] In Sema use new parentEvaluationContext function (PR #93338)

2024-05-24 Thread Oleksandr T. via cfe-commits
@@ -17693,12 +17691,13 @@ void Sema::PopExpressionEvaluationContext() { // Append the collected materialized temporaries into previous context before // exit if the previous also is a lifetime extending context. - auto &PrevRecord = ExprEvalContexts[ExprEvalContexts.size(

[clang] [clang] In Sema use new parentEvaluationContext function (PR #93338)

2024-05-25 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/93338 >From 43050fe6f93436b43b4aa336013a91eed1d6d23a Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Fri, 24 May 2024 22:46:53 +0300 Subject: [PATCH 1/2] fix(93284): replace direct access to ExprEvalContexts with

[clang] [clang] In Sema use new parentEvaluationContext function (PR #93338)

2024-05-26 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/93338 >From 43050fe6f93436b43b4aa336013a91eed1d6d23a Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Fri, 24 May 2024 22:46:53 +0300 Subject: [PATCH 1/3] fix(93284): replace direct access to ExprEvalContexts with

[clang] fix(91536): clang 18.1 parser crash (PR #93490)

2024-05-27 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk created https://github.com/llvm/llvm-project/pull/93490 Fixes #91536 >From a20c395f5d44f98363172216256c8ce61e96ffbe Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Mon, 27 May 2024 23:25:53 +0300 Subject: [PATCH] fix(91536): skip explicit 'this' check in non-vali

[clang] [Clang] prevent assertion failure by avoiding casts on type declarations that require complete types (PR #101426)

2024-07-31 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk created https://github.com/llvm/llvm-project/pull/101426 Fixes #101304 >From c972795aed2357bbceed3a013e12384a70f49489 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Thu, 1 Aug 2024 01:27:09 +0300 Subject: [PATCH] [Clang] prevent assertion failure by avoiding cas

[clang] [Clang] prevent assertion failure by avoiding casts on type declarations that require complete types (PR #101426)

2024-08-01 Thread Oleksandr T. via cfe-commits
@@ -9267,14 +9267,14 @@ bool Sema::RequireLiteralType(SourceLocation Loc, QualType T, if (!RT) return true; - const CXXRecordDecl *RD = cast(RT->getDecl()); - // A partially-defined class type can't be a literal type, because a literal // class type must have a t

[clang] [Clang] prevent assertion failure by avoiding casts on type declarations that require complete types (PR #101426)

2024-08-01 Thread Oleksandr T. via cfe-commits
@@ -9267,14 +9267,14 @@ bool Sema::RequireLiteralType(SourceLocation Loc, QualType T, if (!RT) return true; - const CXXRecordDecl *RD = cast(RT->getDecl()); - // A partially-defined class type can't be a literal type, because a literal // class type must have a t

[clang] [Clang] prevent assertion failure by avoiding casts on type declarations that require complete types (PR #101426)

2024-08-01 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk edited https://github.com/llvm/llvm-project/pull/101426 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] prevent assertion failure by avoiding casts on type declarations that require complete types (PR #101426)

2024-08-01 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/101426 >From 9aa69a721af265c6e7414f61331395197c398e3e Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Thu, 1 Aug 2024 13:00:04 +0300 Subject: [PATCH] [Clang] prevent assertion failure by avoiding required literal

[clang] [Clang] prevent assertion failure by avoiding required literal type checking in C context (PR #101426)

2024-08-01 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk edited https://github.com/llvm/llvm-project/pull/101426 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] prevent assertion failure by avoiding required literal type checking in C context (PR #101426)

2024-08-01 Thread Oleksandr T. via cfe-commits
@@ -9267,14 +9267,14 @@ bool Sema::RequireLiteralType(SourceLocation Loc, QualType T, if (!RT) return true; - const CXXRecordDecl *RD = cast(RT->getDecl()); - // A partially-defined class type can't be a literal type, because a literal // class type must have a t

[clang] [Clang] prevent assertion failure by avoiding required literal type checking in C context (PR #101426)

2024-08-01 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/101426 >From 314766a02c096bd5c867383b55e75451961af231 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Thu, 1 Aug 2024 13:00:04 +0300 Subject: [PATCH] [Clang] prevent assertion failure by avoiding required literal

[clang] [Clang] prevent assertion failure by avoiding required literal type checking in C context (PR #101426)

2024-08-01 Thread Oleksandr T. via cfe-commits
@@ -9267,14 +9267,14 @@ bool Sema::RequireLiteralType(SourceLocation Loc, QualType T, if (!RT) return true; - const CXXRecordDecl *RD = cast(RT->getDecl()); - // A partially-defined class type can't be a literal type, because a literal // class type must have a t

[clang] [Clang] prevent assertion failure by avoiding required literal type checking in C context (PR #101426)

2024-08-01 Thread Oleksandr T. via cfe-commits
@@ -9267,14 +9267,14 @@ bool Sema::RequireLiteralType(SourceLocation Loc, QualType T, if (!RT) return true; - const CXXRecordDecl *RD = cast(RT->getDecl()); - // A partially-defined class type can't be a literal type, because a literal // class type must have a t

[clang] [Clang] prevent assertion failure by avoiding required literal type checking in C context (PR #101426)

2024-08-02 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/101426 >From 314766a02c096bd5c867383b55e75451961af231 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Thu, 1 Aug 2024 13:00:04 +0300 Subject: [PATCH] [Clang] prevent assertion failure by avoiding required literal

[clang] [Clang] prevent assertion failure by avoiding required literal type checking in C context (PR #101426)

2024-08-02 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk deleted https://github.com/llvm/llvm-project/pull/101426 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] prevent assertion failure by avoiding required literal type checking in C context (PR #101426)

2024-08-02 Thread Oleksandr T. via cfe-commits
@@ -9267,14 +9267,14 @@ bool Sema::RequireLiteralType(SourceLocation Loc, QualType T, if (!RT) return true; - const CXXRecordDecl *RD = cast(RT->getDecl()); - // A partially-defined class type can't be a literal type, because a literal // class type must have a t

[clang] [Clang] prevent assertion failure by avoiding required literal type checking in C context (PR #101426)

2024-08-02 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk deleted https://github.com/llvm/llvm-project/pull/101426 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p2 requirements (PR #101853)

2024-08-03 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk created https://github.com/llvm/llvm-project/pull/101853 Fixes #101512 >From 16706eb1648653f41da5b6d10c1104b1cf1609bf Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sun, 4 Aug 2024 00:45:49 +0300 Subject: [PATCH] [Clang] strengthen checks for 'main' function to

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p2 requirements (PR #101853)

2024-08-03 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/101853 >From f4f091b742d7b7ca0a96725b42a7cd09530240f5 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sun, 4 Aug 2024 00:45:49 +0300 Subject: [PATCH] [Clang] strengthen checks for 'main' function to meet [basic.st

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p2 requirements (PR #101853)

2024-08-04 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/101853 >From 3f8050482f54138c8a836e67e45131d5e9ccf5cc Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sun, 4 Aug 2024 00:45:49 +0300 Subject: [PATCH] [Clang] strengthen checks for 'main' function to meet [basic.st

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p2 requirements (PR #101853)

2024-08-04 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk ready_for_review https://github.com/llvm/llvm-project/pull/101853 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p2 requirements (PR #101853)

2024-08-04 Thread Oleksandr T. via cfe-commits
@@ -990,6 +990,9 @@ def warn_main_redefined : Warning<"variable named 'main' with external linkage " "has undefined behavior">, InGroup; def ext_main_used : Extension< "referring to 'main' within an expression is a Clang extension">, InGroup; +def err_invalid_linkage_

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p2 requirements (PR #101853)

2024-08-04 Thread Oleksandr T. via cfe-commits
@@ -0,0 +1,29 @@ +// RUN: %clang_cc1 -fsyntax-only -verify -pedantic-errors %s + +namespace c { + extern "C" void main(); // expected-error {{invalid linkage specification 'extern "C"'}} +} +extern "C" { + int main(); // expected-error {{invalid linkage specification 'extern "C

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-05 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk edited https://github.com/llvm/llvm-project/pull/101853 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-05 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/101853 >From befd46e0c2d3244941e4c4d48dd03d4edb3d4c04 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sun, 4 Aug 2024 00:45:49 +0300 Subject: [PATCH] [Clang] strengthen checks for 'main' function to meet [basic.st

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-05 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/101853 >From a8d0a654c520508131aeaedcf9b16e0b1f527582 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sun, 4 Aug 2024 00:45:49 +0300 Subject: [PATCH] [Clang] strengthen checks for 'main' function to meet [basic.st

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-05 Thread Oleksandr T. via cfe-commits
@@ -12370,6 +12379,17 @@ void Sema::CheckMain(FunctionDecl* FD, const DeclSpec& DS) { } } +bool Sema::CheckLinkageSpecification(DeclContext *DC, Decl *D) { + // [basic.start.main] p2 + // The main function shall not be declared with a linkage-specification. + if (DC->i

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-05 Thread Oleksandr T. via cfe-commits
@@ -7353,6 +7353,15 @@ void emitReadOnlyPlacementAttrWarning(Sema &S, const VarDecl *VD) { } } +static bool isMainVar(DeclarationName Name, VarDecl *VD) { + if (Name.getAsIdentifierInfo() && Name.getAsIdentifierInfo()->isStr("main") && + !VD->getDescribedVarTemplate(

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-05 Thread Oleksandr T. via cfe-commits
@@ -8052,15 +8061,13 @@ NamedDecl *Sema::ActOnVariableDeclarator( } // Special handling of variable named 'main'. - if (Name.getAsIdentifierInfo() && Name.getAsIdentifierInfo()->isStr("main") && - NewVD->getDeclContext()->getRedeclContext()->isTranslationUnit() && -

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-06 Thread Oleksandr T. via cfe-commits
@@ -12370,6 +12379,17 @@ void Sema::CheckMain(FunctionDecl* FD, const DeclSpec& DS) { } } +bool Sema::CheckLinkageSpecification(DeclContext *DC, Decl *D) { + // [basic.start.main] p2 + // The main function shall not be declared with a linkage-specification. + if (DC->i

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-06 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/101853 >From 56c8d3a8e5f860ec1f68adf997d502849de1cb50 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sun, 4 Aug 2024 00:45:49 +0300 Subject: [PATCH] [Clang] strengthen checks for 'main' function to meet [basic.st

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-06 Thread Oleksandr T. via cfe-commits
@@ -990,6 +990,12 @@ def warn_main_redefined : Warning<"variable named 'main' with external linkage " "has undefined behavior">, InGroup; def ext_main_used : Extension< "referring to 'main' within an expression is a Clang extension">, InGroup; +def ext_main_invalid_li

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-06 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk edited https://github.com/llvm/llvm-project/pull/101853 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-06 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk edited https://github.com/llvm/llvm-project/pull/101853 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-06 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/101853 >From 56c8d3a8e5f860ec1f68adf997d502849de1cb50 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sun, 4 Aug 2024 00:45:49 +0300 Subject: [PATCH 1/2] [Clang] strengthen checks for 'main' function to meet [basi

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-06 Thread Oleksandr T. via cfe-commits
@@ -7353,6 +7353,15 @@ void emitReadOnlyPlacementAttrWarning(Sema &S, const VarDecl *VD) { } } +// Checks if VD is declared at global scope or with C language linkage a-tarasyuk wrote: Fixed https://github.com/llvm/llvm-project/pull/101853 ___

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-06 Thread Oleksandr T. via cfe-commits
@@ -8,6 +8,9 @@ // RUN: %clang_cc1 -fsyntax-only -verify %s -DTEST8 // RUN: %clang_cc1 -fsyntax-only -verify %s -DTEST9 // RUN: %clang_cc1 -fsyntax-only -verify %s -DTEST10 -ffreestanding +// RUN: %clang_cc1 -fsyntax-only -verify -pedantic-errors %s -DTEST11 +// RUN: %clang_cc1

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-06 Thread Oleksandr T. via cfe-commits
@@ -990,6 +990,12 @@ def warn_main_redefined : Warning<"variable named 'main' with external linkage " "has undefined behavior">, InGroup; def ext_main_used : Extension< "referring to 'main' within an expression is a Clang extension">, InGroup; +def ext_main_invalid_li

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-06 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/101853 >From 56c8d3a8e5f860ec1f68adf997d502849de1cb50 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sun, 4 Aug 2024 00:45:49 +0300 Subject: [PATCH 1/3] [Clang] strengthen checks for 'main' function to meet [basi

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-06 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/101853 >From 56c8d3a8e5f860ec1f68adf997d502849de1cb50 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sun, 4 Aug 2024 00:45:49 +0300 Subject: [PATCH 1/4] [Clang] strengthen checks for 'main' function to meet [basi

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-06 Thread Oleksandr T. via cfe-commits
@@ -8052,10 +8061,7 @@ NamedDecl *Sema::ActOnVariableDeclarator( } // Special handling of variable named 'main'. - if (Name.getAsIdentifierInfo() && Name.getAsIdentifierInfo()->isStr("main") && - NewVD->getDeclContext()->getRedeclContext()->isTranslationUnit() && -

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-06 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/101853 >From 56c8d3a8e5f860ec1f68adf997d502849de1cb50 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sun, 4 Aug 2024 00:45:49 +0300 Subject: [PATCH 1/5] [Clang] strengthen checks for 'main' function to meet [basi

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-07 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk deleted https://github.com/llvm/llvm-project/pull/101853 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-07 Thread Oleksandr T. via cfe-commits
@@ -8052,10 +8061,7 @@ NamedDecl *Sema::ActOnVariableDeclarator( } // Special handling of variable named 'main'. - if (Name.getAsIdentifierInfo() && Name.getAsIdentifierInfo()->isStr("main") && - NewVD->getDeclContext()->getRedeclContext()->isTranslationUnit() && -

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-07 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/101853 >From 56c8d3a8e5f860ec1f68adf997d502849de1cb50 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sun, 4 Aug 2024 00:45:49 +0300 Subject: [PATCH 1/6] [Clang] strengthen checks for 'main' function to meet [basi

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-07 Thread Oleksandr T. via cfe-commits
@@ -7353,13 +7353,26 @@ void emitReadOnlyPlacementAttrWarning(Sema &S, const VarDecl *VD) { } } -// Checks if VD is declared at global scope or with C language linkage. -static bool isMainVar(DeclarationName Name, VarDecl *VD) { - return Name.getAsIdentifierInfo() && -

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-07 Thread Oleksandr T. via cfe-commits
a-tarasyuk wrote: @Sirraide thanks https://github.com/llvm/llvm-project/pull/101853 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-07 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk deleted https://github.com/llvm/llvm-project/pull/101853 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-07 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk deleted https://github.com/llvm/llvm-project/pull/101853 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

2024-08-07 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk deleted https://github.com/llvm/llvm-project/pull/101853 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] fix crash by avoiding invalidation of extern main declaration during strictness checks (PR #104594)

2024-08-16 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/104594 >From 9ffe47795d3fa25d6ac020b5cebace0c2e758285 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Fri, 16 Aug 2024 17:21:38 +0300 Subject: [PATCH 1/4] [Clang] fix crash by avoiding invalidation of extern main

[clang] [Clang] fix crash by avoiding invalidation of extern main declaration during strictness checks (PR #104594)

2024-08-16 Thread Oleksandr T. via cfe-commits
@@ -78,12 +80,12 @@ namespace ns { extern "C" struct A { int main(); }; // ok namespace c { - extern "C" void main(); // expected-warning {{'main' should not be 'extern "C"'}} + extern "C" int main(); // expected-warning {{'main' should not be 'extern "C"'}} } extern "

[clang] [Clang] warn on discarded [[nodiscard]] function results after casting in C (PR #104677)

2024-08-17 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk created https://github.com/llvm/llvm-project/pull/104677 Fixes #104391 >From cd7ce740464c9c46ab231cf773fd1cf28e3495eb Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sat, 17 Aug 2024 19:43:45 +0300 Subject: [PATCH] [Clang] warn on discarded [[nodiscard]] function

[clang] [Clang] warn on discarded [[nodiscard]] function results after casting in C (PR #104677)

2024-08-18 Thread Oleksandr T. via cfe-commits
a-tarasyuk wrote: @cor3ntin Do you mean casting to `void` or declaring a `void` function? https://github.com/llvm/llvm-project/pull/104677 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com

[clang] [Clang] warn on discarded [[nodiscard]] function results after casting in C (PR #104677)

2024-08-18 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/104677 >From cd7ce740464c9c46ab231cf773fd1cf28e3495eb Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sat, 17 Aug 2024 19:43:45 +0300 Subject: [PATCH 1/2] [Clang] warn on discarded [[nodiscard]] function results a

[clang] [Clang] warn on discarded [[nodiscard]] function results after casting in C (PR #104677)

2024-08-18 Thread Oleksandr T. via cfe-commits
@@ -54,3 +54,9 @@ void test_missiles(void) { launch_missiles(); } +[[nodiscard]] int f3(); + +void f4() { a-tarasyuk wrote: @cor3ntin I've updated the test. Thanks for the review. https://github.com/llvm/llvm-project/pull/104677 ___

[clang] [Clang] warn on discarded [[nodiscard]] function results after casting in C (PR #104677)

2024-08-18 Thread Oleksandr T. via cfe-commits
@@ -54,3 +54,9 @@ void test_missiles(void) { launch_missiles(); } +[[nodiscard]] int f3(); + +void f4() { a-tarasyuk wrote: @cor3ntin could you merge it once the CI passes? Thanks https://github.com/llvm/llvm-project/pull/104677 ___

[clang] [Clang] warn on discarded [[nodiscard]] function results after casting in C (PR #104677)

2024-08-18 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk deleted https://github.com/llvm/llvm-project/pull/104677 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] prevent assertion failure when converting vectors to int/float with invalid expressions (PR #105727)

2024-08-22 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk created https://github.com/llvm/llvm-project/pull/105727 Fixes #105486 >From d8bed3f4db8056a6afa9bd7eae5d4a8361f83086 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Thu, 22 Aug 2024 23:25:31 +0300 Subject: [PATCH] [Clang] prevent assertion failure when convertin

[clang] [Clang] prevent assertion failure when converting vectors to int/float with invalid expressions (PR #105727)

2024-08-22 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/105727 >From d8bed3f4db8056a6afa9bd7eae5d4a8361f83086 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Thu, 22 Aug 2024 23:25:31 +0300 Subject: [PATCH] [Clang] prevent assertion failure when converting vectors to i

[clang] [Clang] restrict use of attribute names reserved by the C++ standard (PR #106036)

2024-08-25 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk created https://github.com/llvm/llvm-project/pull/106036 Fixes #92196 https://eel.is/c++draft/macro.names#2 > A translation unit shall not #define or #undef names lexically identical to > keywords, to the identifiers listed in Table > [4](https://eel.is/c++draft/

[clang] [Clang] restrict use of attribute names reserved by the C++ standard (PR #106036)

2024-08-25 Thread Oleksandr T. via cfe-commits
@@ -177,6 +177,26 @@ static bool isLanguageDefinedBuiltin(const SourceManager &SourceMgr, return false; } +static bool isReservedAttrName(Preprocessor &PP, IdentifierInfo *II) { a-tarasyuk wrote: >From my, attribute names aren't typical language keywords,

[clang] [Clang] restrict use of attribute names reserved by the C++ standard (PR #106036)

2024-08-25 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk edited https://github.com/llvm/llvm-project/pull/106036 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] restrict use of attribute names reserved by the C++ standard (PR #106036)

2024-08-25 Thread Oleksandr T. via cfe-commits
@@ -177,6 +177,26 @@ static bool isLanguageDefinedBuiltin(const SourceManager &SourceMgr, return false; } +static bool isReservedAttrName(Preprocessor &PP, IdentifierInfo *II) { a-tarasyuk wrote: > Can we tablegen that somehow? @cor3ntin Oke, I'll check..

[clang] [Clang] restrict use of attribute names reserved by the C++ standard (PR #106036)

2024-08-26 Thread Oleksandr T. via cfe-commits
@@ -177,6 +177,26 @@ static bool isLanguageDefinedBuiltin(const SourceManager &SourceMgr, return false; } +static bool isReservedAttrName(Preprocessor &PP, IdentifierInfo *II) { + const LangOptions &Lang = PP.getLangOpts(); + const StringRef Name = II->getName(); + + if

[clang] [Clang] restrict use of attribute names reserved by the C++ standard (PR #106036)

2024-08-26 Thread Oleksandr T. via cfe-commits
@@ -177,6 +177,26 @@ static bool isLanguageDefinedBuiltin(const SourceManager &SourceMgr, return false; } +static bool isReservedAttrName(Preprocessor &PP, IdentifierInfo *II) { a-tarasyuk wrote: @cor3ntin The [Attr.td](https://github.com/llvm/llvm-proje

[clang] [Clang] use parent declaration context to avoid asserting cast failure in defaulted comparison method (PR #96228)

2024-06-24 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/96228 >From 9e2730da07df0ee5102912490a687ba40bf06def Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Mon, 24 Jun 2024 18:55:51 +0300 Subject: [PATCH] [Clang] fix cast failures by adjusting the resolution of record

[clang] [Clang] use parent declaration context to avoid asserting cast failure in defaulted comparison method (PR #96228)

2024-06-24 Thread Oleksandr T. via cfe-commits
@@ -0,0 +1,18 @@ +// RUN: %clang_cc1 -std=c++20 -fsyntax-only -verify %s a-tarasyuk wrote: @shafik Thanks for the feedback. I've moved the test to the appropriate existing test. From my understanding, the crash is related to this https://github.com/llvm/llvm-pr

[clang] [Clang] fix cast failures by adjusting the resolution of record declaration contexts to handle semantic and lexical distinctions (PR #96228)

2024-06-24 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk edited https://github.com/llvm/llvm-project/pull/96228 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] improve RewriteModernObjC code quality by using const reference for function parameters (PR #93252)

2024-06-24 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/93252 >From d160eb6c869d41ac64ff27442d2f8d964beb3ebf Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Fri, 24 May 2024 01:39:35 +0300 Subject: [PATCH] [Clang] improve RewriteModernObjC code quality by using const r

[clang] [Clang] use const references for function parameters in operator== and operator!= overloads in Redeclarable.h (PR #92963)

2024-06-24 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/92963 >From c94e7cbe04c0f23094a7f2a3d2a7cbd103750301 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Tue, 21 May 2024 22:56:06 +0300 Subject: [PATCH] [Clang] use const references for function parameters in operato

[clang] [Clang] use const references for function parameters in operator== and operator!= overloads in Redeclarable.h (PR #92963)

2024-06-24 Thread Oleksandr T. via cfe-commits
a-tarasyuk wrote: Ping https://github.com/llvm/llvm-project/pull/92963 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] use const references for function parameters in operator== and operator!= overloads in Redeclarable.h (PR #92963)

2024-06-27 Thread Oleksandr T. via cfe-commits
a-tarasyuk wrote: ping https://github.com/llvm/llvm-project/pull/92963 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] improve RewriteModernObjC code quality by using const reference for function parameters (PR #93252)

2024-06-28 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/93252 >From d160eb6c869d41ac64ff27442d2f8d964beb3ebf Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Fri, 24 May 2024 01:39:35 +0300 Subject: [PATCH] [Clang] improve RewriteModernObjC code quality by using const r

[clang] [Clang] use const references for function parameters in operator== and operator!= overloads in Redeclarable.h (PR #92963)

2024-06-28 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/92963 >From c94e7cbe04c0f23094a7f2a3d2a7cbd103750301 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Tue, 21 May 2024 22:56:06 +0300 Subject: [PATCH] [Clang] use const references for function parameters in operato

[clang] [Clang] fix cast failures by adjusting the resolution of record declaration contexts to handle semantic and lexical distinctions (PR #96228)

2024-06-28 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/96228 >From 9e2730da07df0ee5102912490a687ba40bf06def Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Mon, 24 Jun 2024 18:55:51 +0300 Subject: [PATCH] [Clang] fix cast failures by adjusting the resolution of record

[clang] [Clang] use const references for function parameters in operator== and operator!= overloads in Redeclarable.h (PR #92963)

2024-06-28 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/92963 >From c94e7cbe04c0f23094a7f2a3d2a7cbd103750301 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Tue, 21 May 2024 22:56:06 +0300 Subject: [PATCH] [Clang] use const references for function parameters in operato

[clang] [Clang] improve RewriteModernObjC code quality by using const reference for function parameters (PR #93252)

2024-06-28 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/93252 >From d160eb6c869d41ac64ff27442d2f8d964beb3ebf Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Fri, 24 May 2024 01:39:35 +0300 Subject: [PATCH] [Clang] improve RewriteModernObjC code quality by using const r

[clang] [Clang] fix cast failures by adjusting the resolution of record declaration contexts to handle semantic and lexical distinctions (PR #96228)

2024-06-29 Thread Oleksandr T. via cfe-commits
a-tarasyuk wrote: ping https://github.com/llvm/llvm-project/pull/96228 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] prevent recovery call expression from proceeding with explicit attributes and undeclared templates (PR #107786)

2024-09-11 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/107786 >From b50e49be3765c31b1c555384c41e1f528d529a88 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Mon, 9 Sep 2024 02:30:35 +0300 Subject: [PATCH] [Clang] prevent recovery call expression from proceeding with e

[clang] [Clang] prevent recovery call expression from proceeding with explicit attributes and undeclared templates (PR #107786)

2024-09-12 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/107786 >From b50e49be3765c31b1c555384c41e1f528d529a88 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Mon, 9 Sep 2024 02:30:35 +0300 Subject: [PATCH] [Clang] prevent recovery call expression from proceeding with e

[clang] [Clang] prevent recovery call expression from proceeding with explicit attributes and undeclared templates (PR #107786)

2024-09-13 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/107786 >From 8774b4b073b5ebb52bdf35a7c44c613c6fcf56fc Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Fri, 13 Sep 2024 17:55:15 +0300 Subject: [PATCH] [Clang] prevent recovery call expression from proceeding with

[clang] [Clang] prevent recovery call expression from proceeding with explicit attributes and undeclared templates (PR #107786)

2024-09-13 Thread Oleksandr T. via cfe-commits
a-tarasyuk wrote: @AaronBallman could you please review this PR when you have a chance? thanks https://github.com/llvm/llvm-project/pull/107786 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-

[clang] [Clang] prevented assertion failure by handling integral to boolean conversions for boolean vectors (PR #108657)

2024-09-13 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk created https://github.com/llvm/llvm-project/pull/108657 Fixes #108326 >From 70d1be2a2a0f2f44cdd70bfb4397e7a36f1c9f30 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sat, 14 Sep 2024 01:46:28 +0300 Subject: [PATCH] [Clang] prevented assertion failure by handling

[clang] [Clang] prevented assertion failure by handling integral to boolean conversions for boolean vectors (PR #108657)

2024-09-13 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/108657 >From 70d1be2a2a0f2f44cdd70bfb4397e7a36f1c9f30 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sat, 14 Sep 2024 01:46:28 +0300 Subject: [PATCH] [Clang] prevented assertion failure by handling integral to bo

[clang] [Clang] handle invalid close location in static assert declaration (PR #108701)

2024-09-14 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk created https://github.com/llvm/llvm-project/pull/108701 Fixes #108687 >From 3e7e69e36e93f12c33ccdda9fea78e22cc9bdd84 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sat, 14 Sep 2024 17:02:01 +0300 Subject: [PATCH] [Clang] handle invalid close location in static

[clang] [Clang] handle invalid close location in static assert declaration (PR #108701)

2024-09-14 Thread Oleksandr T. via cfe-commits
https://github.com/a-tarasyuk updated https://github.com/llvm/llvm-project/pull/108701 >From cbe06cf33277f904fe002db90d428a55b777ff5d Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Sat, 14 Sep 2024 17:02:01 +0300 Subject: [PATCH] [Clang] handle invalid close location in static assert declara

[clang] [Clang] handle invalid close location in static assert declaration (PR #108701)

2024-09-14 Thread Oleksandr T. via cfe-commits
@@ -1110,6 +1110,8 @@ Decl *Parser::ParseStaticAssertDeclaration(SourceLocation &DeclEnd) { } T.consumeClose(); + if (T.getCloseLocation().isInvalid()) +return nullptr; a-tarasyuk wrote: @cor3ntin Thanks for the review. I've added changes to omit re

[clang] [Clang] handle invalid close location in static assert declaration (PR #108701)

2024-09-14 Thread Oleksandr T. via cfe-commits
a-tarasyuk wrote: @cor3ntin when you get a chance, could you merge this? I don’t have the permissions. thanks! https://github.com/llvm/llvm-project/pull/108701 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mail

[clang] [Clang] handle invalid close location in static assert declaration (PR #108701)

2024-09-14 Thread Oleksandr T. via cfe-commits
a-tarasyuk wrote: > So this looks like a regression: https://gcc.godbolt.org/z/h6GexT18E @shafik https://gcc.godbolt.org/z/Ebvnjrc8e https://github.com/llvm/llvm-project/pull/108701 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists

<    1   2   3   4   5   6   7   8   9   10   >