[clang] d912433 - [clang][NFC] Annotate `Sema/DelayedDiagnostic.h` with `preferred_type`

2024-02-10 Thread Vlad Serebrennikov via cfe-commits
Author: Vlad Serebrennikov Date: 2024-02-11T10:40:05+03:00 New Revision: d9124332aa3b95725b149617066fdd1f525b530d URL: https://github.com/llvm/llvm-project/commit/d9124332aa3b95725b149617066fdd1f525b530d DIFF:

[clang] [clang][NFC] Refactor `Sema::TemplateDeductionResult` (PR #81398)

2024-02-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll commented: Since this patch is rather large, I left two comments highlighting potentially interesting parts of it. https://github.com/llvm/llvm-project/pull/81398 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [clang][NFC] Refactor `Sema::TemplateDeductionResult` (PR #81398)

2024-02-10 Thread Vlad Serebrennikov via cfe-commits
@@ -11445,11 +11452,16 @@ static void DiagnoseBadDeduction(Sema , NamedDecl *Found, Decl *Templated, (ParamD = Param.dyn_cast()) || (ParamD = Param.dyn_cast()) || (ParamD = Param.dyn_cast()); - switch (DeductionFailure.Result) { - case Sema::TDK_Success: -

[clang] [clang][NFC] Refactor `Sema::TemplateDeductionResult` (PR #81398)

2024-02-10 Thread Vlad Serebrennikov via cfe-commits
@@ -295,6 +297,10 @@ struct DeductionFailureInfo { /// Free any memory associated with this deduction failure. void Destroy(); + + TemplateDeductionResult getResult() const { +return static_cast(Result); Endilll wrote: @erichkeane This is also worth

[clang] [clang][NFC] Refactor `Sema::TemplateDeductionResult` (PR #81398)

2024-02-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/81398 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] 6a7cf80 - [clang][NFC] Annotate `Sema/ParsedAttr.h` with `preferred_type`

2024-02-10 Thread Vlad Serebrennikov via cfe-commits
Author: Vlad Serebrennikov Date: 2024-02-11T00:21:37+03:00 New Revision: 6a7cf806a66c67df01818fda01116a2dd2d90b0d URL: https://github.com/llvm/llvm-project/commit/6a7cf806a66c67df01818fda01116a2dd2d90b0d DIFF:

[clang] 425fd3e - [clang][NFC] Rename FirstCoroutineStmtKind enumerators

2024-02-10 Thread Vlad Serebrennikov via cfe-commits
Author: Vlad Serebrennikov Date: 2024-02-11T00:15:25+03:00 New Revision: 425fd3eb10f29e73d722b4c2bc9cb50798de18e8 URL: https://github.com/llvm/llvm-project/commit/425fd3eb10f29e73d722b4c2bc9cb50798de18e8 DIFF:

[clang] d2812d2 - [clang][NFC] Annotate `Sema/Overload.h` with `preferred_type`

2024-02-10 Thread Vlad Serebrennikov via cfe-commits
Author: Vlad Serebrennikov Date: 2024-02-11T00:11:13+03:00 New Revision: d2812d2d1a9b4edb64e95a9a86a2599a24bcb5ec URL: https://github.com/llvm/llvm-project/commit/d2812d2d1a9b4edb64e95a9a86a2599a24bcb5ec DIFF:

[clang] 4e16a75 - [clang][NFC] Annotate `Sema/ScopeInfo.h` with `preferred_type`

2024-02-10 Thread Vlad Serebrennikov via cfe-commits
Author: Vlad Serebrennikov Date: 2024-02-10T23:58:26+03:00 New Revision: 4e16a75902d5718f4932fae9b2a07c410cd0ba34 URL: https://github.com/llvm/llvm-project/commit/4e16a75902d5718f4932fae9b2a07c410cd0ba34 DIFF:

[clang] 3a05e76 - [clang][NFC] Annotate `Sema/DeclSpec.h` with `preferred_type`

2024-02-10 Thread Vlad Serebrennikov via cfe-commits
Author: Vlad Serebrennikov Date: 2024-02-10T23:37:00+03:00 New Revision: 3a05e7651bc71b3c71757bb406f211645c1c1a37 URL: https://github.com/llvm/llvm-project/commit/3a05e7651bc71b3c71757bb406f211645c1c1a37 DIFF:

[clang] [clang] Refactor `IdentifierInfo::ObjcOrBuiltinID` (PR #71709)

2024-02-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/71709 >From 2823d38544d18213b5bf48c67e4eedd52acce850 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Wed, 8 Nov 2023 20:30:37 +0300 Subject: [PATCH 1/4] [clang] Refactor `IdentifierInfo::ObjcOrBuiltinID` This

[clang] [clang] Refactor `IdentifierInfo::ObjcOrBuiltinID` (PR #71709)

2024-02-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/71709 >From 2823d38544d18213b5bf48c67e4eedd52acce850 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Wed, 8 Nov 2023 20:30:37 +0300 Subject: [PATCH 1/4] [clang] Refactor `IdentifierInfo::ObjcOrBuiltinID` This

[clang] [Clang][Sema]: Allow copy constructor side effects (PR #81127)

2024-02-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll approved this pull request. LGTM Make sure @cor3ntin is happy, too. https://github.com/llvm/llvm-project/pull/81127 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [clang] Refactor `IdentifierInfo::ObjcOrBuiltinID` (PR #71709)

2024-02-10 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/71709 >From 2823d38544d18213b5bf48c67e4eedd52acce850 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Wed, 8 Nov 2023 20:30:37 +0300 Subject: [PATCH 1/3] [clang] Refactor `IdentifierInfo::ObjcOrBuiltinID` This

[clang] [Clang][Sema]: Allow copy constructor side effects (PR #81127)

2024-02-10 Thread Vlad Serebrennikov via cfe-commits
@@ -183,7 +185,12 @@ void foo(int size) { NonTriviallyDestructible array[2]; // no warning NonTriviallyDestructible nestedArray[2][2]; // no warning + // Copy initialzation gives warning before C++17 +#if __cplusplus <= 201402L Foo fooScalar = 1; // expected-warning

[clang] [Clang][Sema]: Allow copy constructor side effects (PR #81127)

2024-02-10 Thread Vlad Serebrennikov via cfe-commits
@@ -183,7 +185,12 @@ void foo(int size) { NonTriviallyDestructible array[2]; // no warning NonTriviallyDestructible nestedArray[2][2]; // no warning + // Copy initialzation gives warning before C++17 +#if __cplusplus <= 201402L Foo fooScalar = 1; // expected-warning

[clang] [clang] Refactor `IdentifierInfo::ObjcOrBuiltinID` (PR #71709)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/71709 >From 2823d38544d18213b5bf48c67e4eedd52acce850 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Wed, 8 Nov 2023 20:30:37 +0300 Subject: [PATCH 1/3] [clang] Refactor `IdentifierInfo::ObjcOrBuiltinID` This

[clang] [clang] Add some CodeGen tests for CWG 1xx issues (PR #80338)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/80338 >From 9c434c59a1b09a3d1217bbab4e44112a92bf6360 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Thu, 1 Feb 2024 23:44:53 +0300 Subject: [PATCH 1/2] [clang] Add some CodeGen tests for CWG 1xx issues

[clang] [libcxx] [clang][Sema] Add checks for validity of default ctor's class (PR #78898)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll closed https://github.com/llvm/llvm-project/pull/78898 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add some CodeGen tests for CWG 2xx issues (PR #80823)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/80823 >From 560713b5d45236956198654a10e0795eb56cad7b Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Tue, 6 Feb 2024 13:23:36 +0300 Subject: [PATCH 1/4] [Clang] Add some CodeGen tests for CWG 2xx issues This

[clang] [clang] Add some CodeGen tests for CWG 2xx issues (PR #80823)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,33 @@ +// RUN: %clang_cc1 -std=c++98 %s -triple x86_64-linux-gnu -emit-llvm -disable-llvm-passes -o - -fexceptions -fcxx-exceptions -pedantic-errors | llvm-cxxfilt -n | FileCheck %s --check-prefixes CHECK +// RUN: %clang_cc1 -std=c++11 %s -triple x86_64-linux-gnu

[clang] [clang] Add some CodeGen tests for CWG 2xx issues (PR #80823)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,43 @@ +// RUN: %clang_cc1 -std=c++98 %s -triple x86_64-linux-gnu -emit-llvm -disable-llvm-passes -O0 -o - -fexceptions -fcxx-exceptions -pedantic-errors | llvm-cxxfilt -n | FileCheck %s --check-prefixes CHECK +// RUN: %clang_cc1 -std=c++11 %s -triple x86_64-linux-gnu

[clang] [clang] Add some CodeGen tests for CWG 1xx issues (PR #80338)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/80338 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add some CodeGen tests for CWG 1xx issues (PR #80338)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/80338 >From 9c434c59a1b09a3d1217bbab4e44112a92bf6360 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Thu, 1 Feb 2024 23:44:53 +0300 Subject: [PATCH 1/2] [clang] Add some CodeGen tests for CWG 1xx issues

[clang] [libcxx] [clang][Sema] Add checks for validity of default ctor's class (PR #78898)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/78898 >From b99a75a8756a7841657fc78ffbd40f780a412f2b Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Sun, 21 Jan 2024 16:26:29 +0300 Subject: [PATCH 1/3] [clang][Sema] Add checks for validity of default ctor's

[clang] [clang] Add tests for DRs about inheriting constructors (PR #79981)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll closed https://github.com/llvm/llvm-project/pull/79981 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add tests for DRs about inheriting constructors (PR #79981)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/79981 >From 634c7d1a1205c9d047f8b3000cb93128a278006f Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Tue, 30 Jan 2024 14:01:11 +0300 Subject: [PATCH 1/3] [clang] Add tests for DRs about inheriting constructors

[clang] [clang] Add some CodeGen tests for CWG 2xx issues (PR #80823)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/80823 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Sema] Add checks for validity of default ctor's class (PR #78898)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/78898 >From b99a75a8756a7841657fc78ffbd40f780a412f2b Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Sun, 21 Jan 2024 16:26:29 +0300 Subject: [PATCH 1/2] [clang][Sema] Add checks for validity of default ctor's

[clang] [clang] Do less advertising for unresolved issues in `cxx_dr_status.html` (PR #78836)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: @AaronBallman I updated this PR following our offline discussion. Title, description, contents are basically all new. @cor3ntin It would be nice if you can go over your tests to check that date or paper number is what you want them to be. I filled them in based on latest

[clang] [clang] Do less advertising for unresolved issues in `cxx_dr_status.html` (PR #78836)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/78836 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Stop reporting unresolved issues in `cxx_dr_status.html` (PR #78836)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/78836 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Stop reporting unresolved issues in `cxx_dr_status.html` (PR #78836)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/78836 >From c931f87fdabe83e1e3507f0e52ebb3201a41cb82 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Sat, 20 Jan 2024 12:04:32 +0300 Subject: [PATCH 1/4] [clang] Stop reporting unresolved issues in

[clang] [clang] Stop reporting unresolved issues in `cxx_dr_status.html` (PR #78836)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/78836 >From c931f87fdabe83e1e3507f0e52ebb3201a41cb82 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Sat, 20 Jan 2024 12:04:32 +0300 Subject: [PATCH 1/3] [clang] Stop reporting unresolved issues in

[clang] [Clang][Sema]: Allow copy constructor side effects (PR #81127)

2024-02-09 Thread Vlad Serebrennikov via cfe-commits
@@ -1,5 +1,5 @@ // RUN: %clang_cc1 -fsyntax-only -Wunused-variable -Wunused-label -Wno-c++1y-extensions -verify %s -// RUN: %clang_cc1 -fsyntax-only -Wunused-variable -Wunused-label -Wno-c++1y-extensions -verify -std=gnu++11 %s +// RUN: %clang_cc1 -fsyntax-only

[clang] [Clang] Add some CodeGen tests for CWG 2xx issues (PR #80823)

2024-02-08 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,41 @@ +// RUN: %clang_cc1 -std=c++98 %s -triple x86_64-linux-gnu -emit-llvm -disable-llvm-passes -O0 -o - -fexceptions -fcxx-exceptions -pedantic-errors | llvm-cxxfilt -n | FileCheck %s --check-prefixes CHECK +// RUN: %clang_cc1 -std=c++11 %s -triple x86_64-linux-gnu

[clang] [Clang] Add some CodeGen tests for CWG 2xx issues (PR #80823)

2024-02-08 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/80823 >From 560713b5d45236956198654a10e0795eb56cad7b Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Tue, 6 Feb 2024 13:23:36 +0300 Subject: [PATCH 1/2] [Clang] Add some CodeGen tests for CWG 2xx issues This

[clang] [Clang] Add some CodeGen tests for CWG 2xx issues (PR #80823)

2024-02-08 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,43 @@ +// RUN: %clang_cc1 -std=c++98 %s -triple x86_64-linux-gnu -emit-llvm -disable-llvm-passes -O0 -o - -fexceptions -fcxx-exceptions -pedantic-errors | llvm-cxxfilt -n | FileCheck %s --check-prefixes CHECK +// RUN: %clang_cc1 -std=c++11 %s -triple x86_64-linux-gnu

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-08 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll approved this pull request. https://github.com/llvm/llvm-project/pull/80171 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-08 Thread Vlad Serebrennikov via cfe-commits
@@ -17242,6 +17242,23 @@ Sema::ActOnTag(Scope *S, unsigned TagSpec, TagUseKind TUK, SourceLocation KWLoc, return true; } + if (TUK == TUK_Friend && Kind == TagTypeKind::Enum) { +// C++23 [dcl.type.elab]p4: +// If an elaborated-type-specifier appears with

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-08 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/80171 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema]: Allow copy constructor side effects (PR #81127)

2024-02-08 Thread Vlad Serebrennikov via cfe-commits
@@ -1,5 +1,5 @@ // RUN: %clang_cc1 -fsyntax-only -Wunused-variable -Wunused-label -Wno-c++1y-extensions -verify %s -// RUN: %clang_cc1 -fsyntax-only -Wunused-variable -Wunused-label -Wno-c++1y-extensions -verify -std=gnu++11 %s +// RUN: %clang_cc1 -fsyntax-only

[clang] [Clang][Sema]: Allow copy constructor side effects (PR #81127)

2024-02-08 Thread Vlad Serebrennikov via cfe-commits
@@ -1,5 +1,5 @@ // RUN: %clang_cc1 -fsyntax-only -Wunused-variable -Wunused-label -Wno-c++1y-extensions -verify %s -// RUN: %clang_cc1 -fsyntax-only -Wunused-variable -Wunused-label -Wno-c++1y-extensions -verify -std=gnu++11 %s +// RUN: %clang_cc1 -fsyntax-only

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-07 Thread Vlad Serebrennikov via cfe-commits
@@ -17242,6 +17242,23 @@ Sema::ActOnTag(Scope *S, unsigned TagSpec, TagUseKind TUK, SourceLocation KWLoc, return true; } + if (TUK == TUK_Friend && Kind == TagTypeKind::Enum) { +// C++23 [dcl.type.elab]p4: +// If an elaborated-type-specifier appears with

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-07 Thread Vlad Serebrennikov via cfe-commits
@@ -1637,10 +1637,8 @@ def err_inline_namespace_std : Error< def err_unexpected_friend : Error< "friends can only be classes or functions">; def ext_enum_friend : ExtWarn< - "befriending enumeration type %0 is a C++11 extension">, InGroup; -def warn_cxx98_compat_enum_friend

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-07 Thread Vlad Serebrennikov via cfe-commits
@@ -1637,10 +1637,8 @@ def err_inline_namespace_std : Error< def err_unexpected_friend : Error< "friends can only be classes or functions">; def ext_enum_friend : ExtWarn< - "befriending enumeration type %0 is a C++11 extension">, InGroup; -def warn_cxx98_compat_enum_friend

[clang] [Clang][Sema] Diagnose declarative nested-name-specifiers naming alias templates (PR #80842)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -6295,22 +6297,36 @@ bool Sema::diagnoseQualifiedDeclaration(CXXScopeSpec , DeclContext *DC, << FixItHint::CreateRemoval(TemplateId->TemplateKWLoc); NestedNameSpecifierLoc SpecLoc(SS.getScopeRep(), SS.location_data()); - while (SpecLoc.getPrefix()) { + do {

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -252,4 +252,14 @@ namespace dr2397 { // dr2397: 17 auto (*c)[5] = } } // namespace dr2397 + +// CWG2363 was closed as NAD, but its resolution does affirm that +// a friend declaration cannot have an opaque-enumm-specifier. +namespace dr2363 { // dr2363: yes +struct A

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/80171 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/80171 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -1637,10 +1637,8 @@ def err_inline_namespace_std : Error< def err_unexpected_friend : Error< "friends can only be classes or functions">; def ext_enum_friend : ExtWarn< - "befriending enumeration type %0 is a C++11 extension">, InGroup; -def warn_cxx98_compat_enum_friend

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -1637,10 +1637,8 @@ def err_inline_namespace_std : Error< def err_unexpected_friend : Error< "friends can only be classes or functions">; def ext_enum_friend : ExtWarn< - "befriending enumeration type %0 is a C++11 extension">, InGroup; -def warn_cxx98_compat_enum_friend

[clang] [Clang][Sema] Implement proposed resolution for CWG2847 (PR #80899)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/80899 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Implement proposed resolution for CWG2847 (PR #80899)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll approved this pull request. DR testing looks good now. Thank you for bearing with me! I tried to give this a proper in-depth review, but the only corner case that comes to my mind is conversion functions. Feel free to dismiss it if you don't think it's relevant or

[clang] [Clang][Sema] Implement proposed resolution for CWG2847 (PR #80899)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,41 @@ +// RUN: %clang_cc1 -std=c++20 -verify=expected %s + +namespace dr2847 { // dr2847: 19 + Endilll wrote: `#if __cplusplus >= 202302L` skips over C++20, which doesn't seem intentional given the previous iteration of this PR I reviewed. I also put

[clang] [Clang][Sema] Implement proposed resolution for CWG2847 (PR #80899)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll commented: Much better, thank you. Couple of small changes, and DR test should be good to go. https://github.com/llvm/llvm-project/pull/80899 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [Clang][Sema] Implement proposed resolution for CWG2847 (PR #80899)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/80899 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Implement proposed resolution for CWG2847 (PR #80899)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,41 @@ +// RUN: %clang_cc1 -std=c++20 -verify=expected %s Endilll wrote: Can you copy RUN lines from `dr26xx.cpp`, adding verify prefixed you need in your test (`since-cxx20`)? https://github.com/llvm/llvm-project/pull/80899

[clang] [Clang][Sema] Implement proposed resolution for CWG2847 (PR #80899)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,41 @@ +// RUN: %clang_cc1 -std=c++20 -verify=expected %s + +namespace dr2847 { // dr2847: 19 + Endilll wrote: As this test requires C++20, it should be wrapped in `#if __cplusplus`. https://github.com/llvm/llvm-project/pull/80899

[clang] [Clang][Sema] Implement proposed resolution for CWG2847 (PR #80899)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,41 @@ +// RUN: %clang_cc1 -std=c++20 -verify=expected %s + +namespace dr2847 { // dr2847: 19 + +template +void i(); + +struct A { + template + void f() requires true; + + template<> + void f() requires true; // expected-error {{explicit specialization cannot have

[clang] [Clang][Sema] Implement proposed resolution for CWG2847 (PR #80899)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll requested changes to this pull request. Since you're creating a new file in C++ DR test suite, I left several comments to guide you towards bringing this new file up to speed with the rest of the suite. https://github.com/llvm/llvm-project/pull/80899

[clang] [Clang][Sema] Implement proposed resolution for CWG2847 (PR #80899)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/80899 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/80171 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -1637,10 +1637,8 @@ def err_inline_namespace_std : Error< def err_unexpected_friend : Error< "friends can only be classes or functions">; def ext_enum_friend : ExtWarn< - "befriending enumeration type %0 is a C++11 extension">, InGroup; -def warn_cxx98_compat_enum_friend

[clang] [Clang][Sema] Diagnose declarative nested-name-specifiers naming alias templates (PR #80842)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/80842 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] require template arg list after template kw (PR #80801)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/80801 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] require template arg list after template kw (PR #80801)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -1414,7 +1414,7 @@ namespace dr96 { // dr96: no // FIXME: This is ill-formed, because 'f' is not a template-id and does not Endilll wrote: @opensdh Thank you for the clarification. I guess I read [N1528](https://wg21.link/n1528) Would it be a correct

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -252,4 +252,14 @@ namespace dr2397 { // dr2397: 17 auto (*c)[5] = } } // namespace dr2397 + +// CWG2363 was closed as NAD, but its resolution does affirm that Endilll wrote: I find it totally normal for DR tests to tests NAD issues to affirm the

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -252,4 +252,14 @@ namespace dr2397 { // dr2397: 17 auto (*c)[5] = } } // namespace dr2397 + +// CWG2363 was closed as NAD, but its resolution does affirm that +// a friend declaration cannot have an opaque-enumm-specifier. +namespace dr2363 { // dr2363: yes +struct A

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -1637,10 +1637,8 @@ def err_inline_namespace_std : Error< def err_unexpected_friend : Error< "friends can only be classes or functions">; def ext_enum_friend : ExtWarn< - "befriending enumeration type %0 is a C++11 extension">, InGroup; -def warn_cxx98_compat_enum_friend

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -252,4 +252,14 @@ namespace dr2397 { // dr2397: 17 auto (*c)[5] = } } // namespace dr2397 + +// CWG2363 was closed as NAD, but its resolution does affirm that +// a friend declaration cannot have an opaque-enumm-specifier. +namespace dr2363 { // dr2363: yes +struct A

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -107,6 +107,7 @@ namespace dr1638 { // dr1638: 3.1 struct B { friend enum class A::E; // since-cxx11-error@-1 {{reference to enumeration must use 'enum' not 'enum class'}} +// since-cxx11-error@-2 {{cannot be a friend}} Endilll wrote: Can

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/80171 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (PR #80171)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll requested changes to this pull request. https://github.com/llvm/llvm-project/pull/80171 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang] [llvm] [Clang] Add some CodeGen tests for CWG 2xx issues (PR #80823)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,43 @@ +// RUN: %clang_cc1 -std=c++98 %s -triple x86_64-linux-gnu -emit-llvm -disable-llvm-passes -O0 -o - -fexceptions -fcxx-exceptions -pedantic-errors | llvm-cxxfilt -n | FileCheck %s --check-prefixes CHECK +// RUN: %clang_cc1 -std=c++11 %s -triple x86_64-linux-gnu

[llvm] [clang-tools-extra] [clang] [Clang] Add some CodeGen tests for CWG 2xx issues (PR #80823)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,43 @@ +// RUN: %clang_cc1 -std=c++98 %s -triple x86_64-linux-gnu -emit-llvm -disable-llvm-passes -O0 -o - -fexceptions -fcxx-exceptions -pedantic-errors | llvm-cxxfilt -n | FileCheck %s --check-prefixes CHECK +// RUN: %clang_cc1 -std=c++11 %s -triple x86_64-linux-gnu

[llvm] [clang] [clang-tools-extra] [Clang] Add some CodeGen tests for CWG 2xx issues (PR #80823)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,43 @@ +// RUN: %clang_cc1 -std=c++98 %s -triple x86_64-linux-gnu -emit-llvm -disable-llvm-passes -O0 -o - -fexceptions -fcxx-exceptions -pedantic-errors | llvm-cxxfilt -n | FileCheck %s --check-prefixes CHECK +// RUN: %clang_cc1 -std=c++11 %s -triple x86_64-linux-gnu

[clang-tools-extra] [clang] [llvm] [Clang] Add some CodeGen tests for CWG 2xx issues (PR #80823)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,38 @@ +// RUN: %clang_cc1 -std=c++98 %s -triple x86_64-linux-gnu -emit-llvm -disable-llvm-passes -O0 -o - -fexceptions -fcxx-exceptions -pedantic-errors | llvm-cxxfilt -n | FileCheck %s --check-prefixes CHECK +// RUN: %clang_cc1 -std=c++11 %s -triple x86_64-linux-gnu

[clang-tools-extra] [clang] [llvm] [Clang] Add some CodeGen tests for CWG 2xx issues (PR #80823)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/80823 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang-tools-extra] [Clang] Add some CodeGen tests for CWG 2xx issues (PR #80823)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,43 @@ +// RUN: %clang_cc1 -std=c++98 %s -triple x86_64-linux-gnu -emit-llvm -disable-llvm-passes -O0 -o - -fexceptions -fcxx-exceptions -pedantic-errors | llvm-cxxfilt -n | FileCheck %s --check-prefixes CHECK +// RUN: %clang_cc1 -std=c++11 %s -triple x86_64-linux-gnu

[clang-tools-extra] [clang] [llvm] [Clang] Add some CodeGen tests for CWG 2xx issues (PR #80823)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/80823 This patch covers CWG issues [201](https://cplusplus.github.io/CWG/issues/201.html), [210](https://cplusplus.github.io/CWG/issues/210.html), [292](https://cplusplus.github.io/CWG/issues/292.html).

[clang-tools-extra] [clang] [llvm] [Clang] Fix : More Detailed "No expected directives found" (PR #78338)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/78338 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang-tools-extra] [Clang] Fix : More Detailed "No expected directives found" (PR #78338)

2024-02-06 Thread Vlad Serebrennikov via cfe-commits
@@ -179,7 +179,7 @@ def err_verify_invalid_no_diags : Error< "%select{expected|'expected-no-diagnostics'}0 directive cannot follow " "%select{'expected-no-diagnostics' directive|other expected directives}0">; Endilll wrote: @Sh0g0-1758 Please have

[clang-tools-extra] [llvm] [clang] [Clang] Fix : More Detailed "No expected directives found" (PR #78338)

2024-02-04 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > gentle ping. Please check the mergeability of this PR. Friendly reminder of one ping per week policy. https://github.com/llvm/llvm-project/pull/78338 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [clang][Diagnostics] Highlight code snippets (PR #66514)

2024-02-02 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > We can't push internally a compiler that crashes unless we disable color > diagnostics. I hope you realize this is self-imposed limitation that Clang community doesn't necessary have to respect. https://github.com/llvm/llvm-project/pull/66514

[clang] [clang][Diagnostics] Highlight code snippets (PR #66514)

2024-02-02 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > > As mentioned above, `-fno-color-diagnostics` is the flag you can deploy > > internally this very moment. > > Disabling color diagnostics would make the job of other software engineers > harder, right? This hammer is a bit too big for the problem at hand, right? I thought

[clang] [clang][Diagnostics] Highlight code snippets (PR #66514)

2024-02-02 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: @bgra8 Thank you! This is helpful. > The problem is extremely hard to reduce as it happens during preprocessing > and even removing unrelated headers causes the crash to disappear. Yeah, crashes happening at this stage can easily be insane to reduce manually. > This crash is

[clang] [clang] Update documentation for `#pragma diagnostic` (PR #78095)

2024-02-02 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll closed https://github.com/llvm/llvm-project/pull/78095 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Fix a possible out-of-bounds read (PR #80023)

2024-02-01 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll approved this pull request. https://github.com/llvm/llvm-project/pull/80023 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Fix a possible out-of-bounds read (PR #80023)

2024-02-01 Thread Vlad Serebrennikov via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: @@ -109,6 +109,7 @@ class ByteCodeExprGen : public ConstStmtVisitor, bool>, bool VisitCXXScalarValueInitExpr(const CXXScalarValueInitExpr *E); bool VisitSizeOfPackExpr(const SizeOfPackExpr *E); bool

[clang] [clang][Diagnostics] Highlight code snippets (PR #66514)

2024-02-01 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > For us, these crashes block a solid piece of internal testing, thus new > unnoticed errors accumulate and make things exponentially harder for the > future. If you have a solid piece of internal testing blocked by this, can you provide us with more data? Ideally a working

[clang] [clang][Diagnostics] Highlight code snippets (PR #66514)

2024-02-01 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: @eaeltsin I'm against reverting this or introducing a switch until we get a reproducer (or author figures out what's wrong). I believe it's a very worthwhile feature, and we want some actionable feedback to improve it. Author has been very responsive so far, so we are good on

[clang] [clang] Add some CodeGen tests for CWG 1xx issues (PR #80338)

2024-02-01 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/80338 Covers CWG issues [185](https://cplusplus.github.io/CWG/issues/185.html), [193](https://cplusplus.github.io/CWG/issues/193.html), [199](https://cplusplus.github.io/CWG/issues/199.html). I also looked at

[clang] [clang] Add tests for DRs about inheriting constructors (PR #79981)

2024-01-31 Thread Vlad Serebrennikov via cfe-commits
@@ -0,0 +1,33 @@ +// RUN: %clang_cc1 -std=c++98 %s -triple x86_64-linux-gnu -emit-llvm -o - -fexceptions -fcxx-exceptions -pedantic-errors | llvm-cxxfilt -n | FileCheck %s --check-prefixes CHECK +// RUN: %clang_cc1 -std=c++11 %s -triple x86_64-linux-gnu -emit-llvm -o -

[clang] [clang] Add tests for DRs about inheriting constructors (PR #79981)

2024-01-31 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/79981 >From 634c7d1a1205c9d047f8b3000cb93128a278006f Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Tue, 30 Jan 2024 14:01:11 +0300 Subject: [PATCH 1/3] [clang] Add tests for DRs about inheriting constructors

[clang] [clang] Add tests for DRs about inheriting constructors (PR #79981)

2024-01-31 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: To be honest, I'm not keen on the idea of filing bug tracker issues for problems accounted for in other way (DR status, `FIXME`), until we get bug tracker in a good shape, or at least have an understanding how project management side of things is going to look. > Is there

[clang] [clang] Add tests for DRs about inheriting constructors (PR #79981)

2024-01-31 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/79981 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add tests for DRs about inheriting constructors (PR #79981)

2024-01-31 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/79981 >From 634c7d1a1205c9d047f8b3000cb93128a278006f Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Tue, 30 Jan 2024 14:01:11 +0300 Subject: [PATCH 1/2] [clang] Add tests for DRs about inheriting constructors

[clang] [clang] Add tests for DRs about inheriting constructors (PR #79981)

2024-01-30 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/79981 Covers CWG issues 1150, 1487, 1567, 1738, 2273, 2277, 2356, 2504. On top of the wording in proposed resolutions, [P0136R1](https://wg21.link/p0136r1) "Rewording inheriting constructors (core issue 1941 et al)"

[clang] [clang][Diagnostics] Highlight code snippets (PR #66514)

2024-01-30 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: I also got in touch with Compiler Explorer devs. They should be able to pick a better color to render ANSI blue. https://github.com/llvm/llvm-project/pull/66514 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

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