[PATCH] D9127: PR23175 (fix) - Infinite loop iterating Objective-C method declarations in categories when the AST was deserialized from an .ast file

2016-09-30 Thread Tom Honermann via cfe-commits
tahonermann added a comment. For what it's worth, Coverity has been running with this patch in place for at least a year and a half now. I believe the only reason it wasn't committed was due to concerns with the test case in https://reviews.llvm.org/D9126. I haven't had time to address those

[clang] 8d03328 - [clang] NFC: Add a missing const qualifier to Decl::isLocalExternDecl().

2022-09-08 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-09-08T13:21:10-07:00 New Revision: 8d03328e7be4778f8b5d5f3ea2f77b1f8b8ea38a URL: https://github.com/llvm/llvm-project/commit/8d03328e7be4778f8b5d5f3ea2f77b1f8b8ea38a DIFF: https://github.com/llvm/llvm-project/commit/8d03328e7be4778f8b5d5f3ea2f77b1f8b8ea38a.diff

[clang] [Clang] Fix a crash when using ast-dump=json (PR #70224)

2023-11-08 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann edited https://github.com/llvm/llvm-project/pull/70224 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix a crash when using ast-dump=json (PR #70224)

2023-11-08 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann approved this pull request. I added a minor suggested change for the release note, but this otherwise looks good to me. https://github.com/llvm/llvm-project/pull/70224 ___ cfe-commits mailing list cfe-commits@lists.llvm.

[clang] [Clang] Fix a crash when using ast-dump=json (PR #70224)

2023-11-08 Thread Tom Honermann via cfe-commits
@@ -697,6 +697,8 @@ Miscellaneous Clang Crashes Fixed `Issue 64564 `_ - Fixed a crash when an ObjC ivar has an invalid type. See (`#68001 `_) +- Fixed a crash when ``-ast-dum

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

2023-11-08 Thread Tom Honermann via cfe-commits
Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= ,

[flang] [libcxx] [lldb] [clang] [compiler-rt] [lld] [libc] [clang-tools-extra] [llvm] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-12-05 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann approved this pull request. This looks good to me. I suggested some edits to the doc; take or leave as you see fit! https://github.com/llvm/llvm-project/pull/71706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[lldb] [compiler-rt] [libcxx] [clang] [flang] [clang-tools-extra] [llvm] [lld] [libc] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-12-05 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann edited https://github.com/llvm/llvm-project/pull/71706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[lld] [clang] [flang] [libcxx] [clang-tools-extra] [llvm] [compiler-rt] [lldb] [libc] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-12-05 Thread Tom Honermann via cfe-commits
@@ -2515,6 +2515,12 @@ example, the following will emit 4 versions of the function: __attribute__((target_clones("arch=atom,avx2","arch=ivybridge","default"))) void foo() {} +Dispatch is done via ``ifunc`` mechanism. The assembler name of the indirect +function is the

[lld] [llvm] [clang-tools-extra] [compiler-rt] [clang] [lldb] [flang] [libc] [libcxx] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-12-05 Thread Tom Honermann via cfe-commits
@@ -4114,8 +4114,26 @@ void CodeGenModule::emitMultiVersionFunctions() { } llvm::Constant *ResolverConstant = GetOrCreateMultiVersionResolver(GD); -if (auto *IFunc = dyn_cast(ResolverConstant)) +if (auto *IFunc = dyn_cast(ResolverConstant)) { ResolverCon

[clang] [Clang] Mark WG14 N2939 (Identifier Syntax Fixes) as available in Clang 15 (PR #74666)

2023-12-06 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann created https://github.com/llvm/llvm-project/pull/74666 WG14 N2939 (Identifier Syntax Fixes) corrects a grammar issue in the C standard but does not otherwise change intended behavior. This change updates the C23 status to note this paper as implemented as of Cla

[clang] [Clang] Mark WG14 N2939 (Identifier Syntax Fixes) as available in Clang 15 (PR #74666)

2023-12-07 Thread Tom Honermann via cfe-commits
@@ -0,0 +1,83 @@ +// RUN: %clang_cc1 -x c -std=c2x -fsyntax-only -verify %s +// RUN: %clang_cc1 -x c -std=c2x -E -DPP_ONLY=1 %s | FileCheck %s --strict-whitespace + +/* WG14 N2863: Clang 15 tahonermann wrote: Thank you, good catch! https://github.com/llvm/llvm-

[clang] [Clang] Mark WG14 N2939 (Identifier Syntax Fixes) as available in Clang 15 (PR #74666)

2023-12-07 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann updated https://github.com/llvm/llvm-project/pull/74666 >From fd5728ed346c097577d58c4c20dfc696f9b17740 Mon Sep 17 00:00:00 2001 From: Tom Honermann Date: Wed, 6 Dec 2023 14:27:25 -0800 Subject: [PATCH 1/2] [Clang] Mark WG14 N2939 (Identifier Syntax Fixes) as avai

[clang] [Clang] Mark WG14 N2939 (Identifier Syntax Fixes) as available in Clang 15 (PR #74666)

2023-12-07 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann closed https://github.com/llvm/llvm-project/pull/74666 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [llvm] [clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-22 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann edited https://github.com/llvm/llvm-project/pull/71706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [llvm] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-22 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann requested changes to this pull request. I requested some minor changes. Can we document the `.ifunc` symbols as a deprecated feature? With this change, they will never be referenced except by code compiled by older compiler versions. Maybe plan to deprecate them

[clang-tools-extra] [clang] [llvm] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-22 Thread Tom Honermann via cfe-commits
@@ -555,6 +555,7 @@ Bug Fixes in This Version Fixes (`#67687 `_) - Fix crash from constexpr evaluator evaluating uninitialized arrays as rvalue. Fixes (`#67317 `_) +- Fix l

[clang-tools-extra] [clang] [llvm] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-22 Thread Tom Honermann via cfe-commits
@@ -4114,8 +4114,26 @@ void CodeGenModule::emitMultiVersionFunctions() { } llvm::Constant *ResolverConstant = GetOrCreateMultiVersionResolver(GD); -if (auto *IFunc = dyn_cast(ResolverConstant)) +if (auto *IFunc = dyn_cast(ResolverConstant)) { ResolverCon

[clang] [llvm] [clang-tools-extra] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-22 Thread Tom Honermann via cfe-commits
@@ -16,13 +16,22 @@ // LINUX: @__cpu_model = external dso_local global { i32, i32, i32, [1 x i32] } // LINUX: @__cpu_features2 = external dso_local global [3 x i32] -// LINUX: @internal.ifunc = internal ifunc i32 (), ptr @internal.resolver -// LINUX: @foo.ifunc = weak_odr ifun

[clang-tools-extra] [clang] [llvm] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-22 Thread Tom Honermann via cfe-commits
@@ -4114,8 +4114,26 @@ void CodeGenModule::emitMultiVersionFunctions() { } llvm::Constant *ResolverConstant = GetOrCreateMultiVersionResolver(GD); -if (auto *IFunc = dyn_cast(ResolverConstant)) +if (auto *IFunc = dyn_cast(ResolverConstant)) { ResolverCon

[clang] [clang-tools-extra] [llvm] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-22 Thread Tom Honermann via cfe-commits
@@ -4282,10 +4300,19 @@ llvm::Constant *CodeGenModule::GetOrCreateMultiVersionResolver(GlobalDecl GD) { // Holds the name of the resolver, in ifunc mode this is the ifunc (which has // a separate resolver). std::string ResolverName = MangledName; - if (getTarget().suppo

[clang] [CUDA][HIP] Fix deduction guide (PR #69366)

2023-11-01 Thread Tom Honermann via cfe-commits
tahonermann wrote: For what it is worth, the described behavior sounds right to me from a design perspective. The fact that it matches `nvcc` behavior is a very good hint that it is the desired behavior as well. I haven't reviewed the code changes, but as long as they implement what is describ

[clang] [Clang][Sema] Print more static_assert exprs (PR #74852)

2023-12-12 Thread Tom Honermann via cfe-commits
tahonermann wrote: This looks like a good change to me since coercing a compiler to reveal the values of compile-time objects can be frustrating. We could really use something like `constexpr_print` from [P2758 (Emitting messages at compile time)](https://wg21.link/p2758). https://github.com/

[llvm] [clang] [clang-tools-extra] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-29 Thread Tom Honermann via cfe-commits
tahonermann wrote: @elizabethandrews, PR #73688 seeks to enable ifunc support for Mach-o targets like Darwin. Collaboration might be required to avoid merge conflicts and/or build bot breakage depending on when changes land. https://github.com/llvm/llvm-project/pull/71706 _

[clang] [Clang] Implement P2308R1 - Template Parameter Initialization. (PR #73103)

2023-11-29 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann edited https://github.com/llvm/llvm-project/pull/73103 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Implement P2308R1 - Template Parameter Initialization. (PR #73103)

2023-11-29 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann commented: Looks like good work to me! https://github.com/llvm/llvm-project/pull/73103 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Implement P2308R1 - Template Parameter Initialization. (PR #73103)

2023-11-29 Thread Tom Honermann via cfe-commits
@@ -61,6 +61,14 @@ namespace dr2026 { // dr2026: 11 } } +namespace dr2049 { // dr2049: 18 drafting +#if __cplusplus > 202002L +template struct X {}; +X<> a; +X b; tahonermann wrote: Perhaps add a same-type static assertion for `a` and `b` to ensure a consi

[clang] [NFC][CLANG] Fix static analyzer bugs about unnecessary object copies with auto keyword (PR #75082)

2023-12-22 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann approved this pull request. Looks good to me! https://github.com/llvm/llvm-project/pull/75082 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC][CLANG] Fix static analyzer bugs about unnecessary object copies with auto keyword (PR #75082)

2023-12-22 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann edited https://github.com/llvm/llvm-project/pull/75082 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC][CLANG] Fix static analyzer bugs about unnecessary object copies with auto keyword (PR #75082)

2023-12-22 Thread Tom Honermann via cfe-commits
@@ -876,7 +876,7 @@ void EmitAssemblyHelper::RunOptimizationPipeline( << PluginFN << toString(PassPlugin.takeError()); } } - for (auto PassCallback : CodeGenOpts.PassBuilderCallbacks) + for (const auto &PassCallback : CodeGenOpts.PassBuilderCallbacks)

[clang] [NFC][Clang] Fix Static Code Analysis Concerns with copy without assign (PR #75091)

2023-12-22 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann requested changes to this pull request. I think the static analysis tool is confused here. The `SVEType` class doesn't actually have a user-declared copy constructor. It does have a constructor that delegates to the implicitly declared copy constructor though. The

[clang] 3531a4f - [clang] NFC: Extend comdat validation in target multiversion function tests.

2022-04-05 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-04-05T15:34:35-04:00 New Revision: 3531a4fa3b7038d43ac20f56871da88aa25bf53d URL: https://github.com/llvm/llvm-project/commit/3531a4fa3b7038d43ac20f56871da88aa25bf53d DIFF: https://github.com/llvm/llvm-project/commit/3531a4fa3b7038d43ac20f56871da88aa25bf53d.diff

[clang] 7c53fc4 - [clang] Emit target_clones resolver functions as COMDAT.

2022-04-05 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-04-05T15:34:35-04:00 New Revision: 7c53fc4fe1308f5b2a7527d14ea41fabb18109b8 URL: https://github.com/llvm/llvm-project/commit/7c53fc4fe1308f5b2a7527d14ea41fabb18109b8 DIFF: https://github.com/llvm/llvm-project/commit/7c53fc4fe1308f5b2a7527d14ea41fabb18109b8.diff

[clang] 0ace010 - [clang] NFC: Simplify the interface to CodeGenModule::GetOrCreateMultiVersionResolver().

2022-04-05 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-04-05T19:50:22-04:00 New Revision: 0ace0100aec31bdff7e856df806cca18d8faabd7 URL: https://github.com/llvm/llvm-project/commit/0ace0100aec31bdff7e856df806cca18d8faabd7 DIFF: https://github.com/llvm/llvm-project/commit/0ace0100aec31bdff7e856df806cca18d8faabd7.diff

[clang] bed5ee3 - [clang] NFC: Enhance comments in CodeGen for multiversion function support.

2022-04-05 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-04-05T19:50:22-04:00 New Revision: bed5ee3f4ba2406658760ec4029ed222c6213ff7 URL: https://github.com/llvm/llvm-project/commit/bed5ee3f4ba2406658760ec4029ed222c6213ff7 DIFF: https://github.com/llvm/llvm-project/commit/bed5ee3f4ba2406658760ec4029ed222c6213ff7.diff

[clang] 40af8df - [clang] NFC: Preparation for merging code to emit target and target_clones resolvers.

2022-04-05 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-04-05T19:50:22-04:00 New Revision: 40af8df6fe642749f9ac5486822c2bd5cc587ab7 URL: https://github.com/llvm/llvm-project/commit/40af8df6fe642749f9ac5486822c2bd5cc587ab7 DIFF: https://github.com/llvm/llvm-project/commit/40af8df6fe642749f9ac5486822c2bd5cc587ab7.diff

[clang] 5531aba - [clang] Corrections for target_clones multiversion functions.

2022-04-05 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-04-05T19:50:22-04:00 New Revision: 5531abaf7158652bf7411937781780e9f6358ecf URL: https://github.com/llvm/llvm-project/commit/5531abaf7158652bf7411937781780e9f6358ecf DIFF: https://github.com/llvm/llvm-project/commit/5531abaf7158652bf7411937781780e9f6358ecf.diff

[clang] 325c4c2 - [clang] Add test cases for multiversion function overload scenarios in C.

2022-03-21 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-03-21T13:39:42-04:00 New Revision: 325c4c29d68c3bd25984797414b0e5e11ac505f1 URL: https://github.com/llvm/llvm-project/commit/325c4c29d68c3bd25984797414b0e5e11ac505f1 DIFF: https://github.com/llvm/llvm-project/commit/325c4c29d68c3bd25984797414b0e5e11ac505f1.diff

[clang] 77472a6 - [clang] NFC: Dead code removal in SemaDecl.cpp, CheckMultiVersionFunction().

2022-03-21 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-03-21T13:39:42-04:00 New Revision: 77472a659e2535607e8150f122ae2448aec67e62 URL: https://github.com/llvm/llvm-project/commit/77472a659e2535607e8150f122ae2448aec67e62 DIFF: https://github.com/llvm/llvm-project/commit/77472a659e2535607e8150f122ae2448aec67e62.diff

[clang] 01b2e05 - [clang] NFC: Redundant code removal in SemaDecl.cpp, CheckTargetCausesMultiVersioning().

2022-03-21 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-03-21T13:39:43-04:00 New Revision: 01b2e0567c549ef5b7be9026b6a602590d9c3568 URL: https://github.com/llvm/llvm-project/commit/01b2e0567c549ef5b7be9026b6a602590d9c3568 DIFF: https://github.com/llvm/llvm-project/commit/01b2e0567c549ef5b7be9026b6a602590d9c3568.diff

[clang] 42e4c5b - [clang] NFC: Remove forced type merging in multiversion function checks.

2022-03-21 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-03-21T13:39:43-04:00 New Revision: 42e4c5b2610d0008d52f2ebf08961e8ae0adb58b URL: https://github.com/llvm/llvm-project/commit/42e4c5b2610d0008d52f2ebf08961e8ae0adb58b DIFF: https://github.com/llvm/llvm-project/commit/42e4c5b2610d0008d52f2ebf08961e8ae0adb58b.diff

[clang] 8b6f1cb - [clang] Add missing diagnostics for invalid overloads of multiversion functions in C.

2022-03-21 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-03-21T13:39:43-04:00 New Revision: 8b6f1cbb21c58e255156aa32ac55530c807055a9 URL: https://github.com/llvm/llvm-project/commit/8b6f1cbb21c58e255156aa32ac55530c807055a9 DIFF: https://github.com/llvm/llvm-project/commit/8b6f1cbb21c58e255156aa32ac55530c807055a9.diff

[clang] 58c202a - [clang] NFC: Rename 'MVType' variables to 'MVKind' for consistency with their type.

2022-03-21 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-03-21T13:39:43-04:00 New Revision: 58c202a3d83dab0c4abeb19c3eeff27d83f6c2b5 URL: https://github.com/llvm/llvm-project/commit/58c202a3d83dab0c4abeb19c3eeff27d83f6c2b5 DIFF: https://github.com/llvm/llvm-project/commit/58c202a3d83dab0c4abeb19c3eeff27d83f6c2b5.diff

[clang] 0cceee7 - [clang] Produce a "multiversion" annotation in textual AST output.

2022-03-21 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-03-21T13:39:44-04:00 New Revision: 0cceee755992820362d5df5698da8bce762b9fe3 URL: https://github.com/llvm/llvm-project/commit/0cceee755992820362d5df5698da8bce762b9fe3 DIFF: https://github.com/llvm/llvm-project/commit/0cceee755992820362d5df5698da8bce762b9fe3.diff

[clang] 8ff8c3a - [clang] [OpenMP] Extend OpenMP variant declaration tests.

2022-03-21 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-03-21T13:39:44-04:00 New Revision: 8ff8c3ac0dd675319d779a1aa0087e8a0d5a81b2 URL: https://github.com/llvm/llvm-project/commit/8ff8c3ac0dd675319d779a1aa0087e8a0d5a81b2 DIFF: https://github.com/llvm/llvm-project/commit/8ff8c3ac0dd675319d779a1aa0087e8a0d5a81b2.diff

[clang] 059a953 - [clang] [OpenMP] Diagnose use of 'target_clones' in OpenMP variant declarations.

2022-03-21 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-03-21T13:39:44-04:00 New Revision: 059a953d8819b361b33205c109b5e903801613a2 URL: https://github.com/llvm/llvm-project/commit/059a953d8819b361b33205c109b5e903801613a2 DIFF: https://github.com/llvm/llvm-project/commit/059a953d8819b361b33205c109b5e903801613a2.diff

[clang] [clang][MSVC] Correct mangling of thread-safe static initialization variables. (PR #85300)

2024-03-14 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann created https://github.com/llvm/llvm-project/pull/85300 Static local variables with dynamic initializers depend on implicitly defined guard variables to synchronize thread-safe initialization. These guard variables may have external linkage and therefore require

[clang] [clang][MSVC] Correct mangling of thread-safe static initialization variables. (PR #85300)

2024-03-14 Thread Tom Honermann via cfe-commits
@@ -3920,7 +3920,8 @@ void MicrosoftMangleContextImpl::mangleThreadSafeStaticGuardVariable( msvc_hashing_ostream MHO(Out); MicrosoftCXXNameMangler Mangler(*this, MHO); - Mangler.getStream() << "?$TSS" << GuardNum << '@'; + Mangler.getStream() << "?"; + Mangler.mangleSo

[clang] [clang][MSVC] Correct mangling of thread-safe static initialization variables. (PR #85300)

2024-03-14 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann updated https://github.com/llvm/llvm-project/pull/85300 >From 76c7940df70bc9676a7880a849d16b2ede611258 Mon Sep 17 00:00:00 2001 From: Tom Honermann Date: Thu, 14 Mar 2024 10:43:46 -0700 Subject: [PATCH] [clang][MSVC] Correct mangling of thread-safe static initial

[clang] [clang][MSVC] Correct mangling of thread-safe static initialization variables. (PR #85300)

2024-03-14 Thread Tom Honermann via cfe-commits
@@ -47,6 +47,12 @@ C++ Specific Potentially Breaking Changes ABI Changes in This Version --- +- Fixed Microsoft name mangling of implicitly defined variables used for thread + safe static initialization of static local variables. This change resolves +

[clang] [clang] Fix Clang language extension documentation markup for __builtin_arm_trap. (PR #85310)

2024-03-14 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann created https://github.com/llvm/llvm-project/pull/85310 None >From 06f9e13e622f75a6a192c5bbe06e2facd3c0124d Mon Sep 17 00:00:00 2001 From: Tom Honermann Date: Thu, 14 Mar 2024 13:55:32 -0700 Subject: [PATCH] [clang] Fix Clang language extension documentation mark

[clang] [clang] Fix Clang language extension documentation markup for __builtin_arm_trap. (PR #85310)

2024-03-14 Thread Tom Honermann via cfe-commits
tahonermann wrote: @TNorthover, doc builds are failing because of this. ``` Warning, treated as error: /home/runner/work/llvm-project/llvm-project/clang-build/tools/clang/docs/LanguageExtensions.rst:3447:Title underline too short. ``__builtin_arm_trap`` -- ``` https://github.co

[clang] [clang][nullability] allow _Nonnull etc on nullable class types (PR #82705)

2024-03-14 Thread Tom Honermann via cfe-commits
@@ -201,6 +201,21 @@ Attribute Changes in Clang and each must be a positive integer when provided. The parameter ``x`` is required, while ``y`` and ``z`` are optional with default value of 1. +- The ``_Nullable`` and ``_Nonnull`` family of type attributes can now apply +

[clang] [clang] Fix Clang language extension documentation markup for __builtin_arm_trap. (PR #85310)

2024-03-14 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann updated https://github.com/llvm/llvm-project/pull/85310 >From 06f9e13e622f75a6a192c5bbe06e2facd3c0124d Mon Sep 17 00:00:00 2001 From: Tom Honermann Date: Thu, 14 Mar 2024 13:55:32 -0700 Subject: [PATCH 1/2] [clang] Fix Clang language extension documentation markup

[clang] [clang] Fix Clang language extension documentation markup for __builtin_arm_trap. (PR #85310)

2024-03-14 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann updated https://github.com/llvm/llvm-project/pull/85310 >From 06f9e13e622f75a6a192c5bbe06e2facd3c0124d Mon Sep 17 00:00:00 2001 From: Tom Honermann Date: Thu, 14 Mar 2024 13:55:32 -0700 Subject: [PATCH 1/2] [clang] Fix Clang language extension documentation markup

[clang] [clang][nullability] allow _Nonnull etc on nullable class types (PR #82705)

2024-03-14 Thread Tom Honermann via cfe-commits
@@ -201,6 +201,21 @@ Attribute Changes in Clang and each must be a positive integer when provided. The parameter ``x`` is required, while ``y`` and ``z`` are optional with default value of 1. +- The ``_Nullable`` and ``_Nonnull`` family of type attributes can now apply +

[clang] [clang] Fix Clang language extension documentation markup for __builtin_arm_trap. (PR #85310)

2024-03-15 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann closed https://github.com/llvm/llvm-project/pull/85310 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][MSVC] Correct mangling of thread-safe static initialization variables. (PR #85300)

2024-03-15 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann updated https://github.com/llvm/llvm-project/pull/85300 >From 0547c32ff324efa2bf7152326a342022527339a3 Mon Sep 17 00:00:00 2001 From: Tom Honermann Date: Thu, 14 Mar 2024 10:43:46 -0700 Subject: [PATCH] [clang][MSVC] Correct mangling of thread-safe static initial

[clang] [clang][MSVC] Correct mangling of thread-safe static initialization variables. (PR #85300)

2024-03-15 Thread Tom Honermann via cfe-commits
@@ -3920,7 +3920,8 @@ void MicrosoftMangleContextImpl::mangleThreadSafeStaticGuardVariable( msvc_hashing_ostream MHO(Out); MicrosoftCXXNameMangler Mangler(*this, MHO); - Mangler.getStream() << "?$TSS" << GuardNum << '@'; + Mangler.getStream() << "?"; + Mangler.mangleSo

[clang] [clang][MSVC] Correct mangling of thread-safe static initialization variables. (PR #85300)

2024-03-15 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann closed https://github.com/llvm/llvm-project/pull/85300 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Correct Microsoft mangling of lifetime extended temporary objects. (PR #85529)

2024-03-16 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann created https://github.com/llvm/llvm-project/pull/85529 Lifetime extended temporary objects that are bound to references with static storage duration may have external linkage and therefore require mangled symbol names. Clang uses an extension of the Microsoft A

[clang] [clang] Correct Microsoft mangling of lifetime extended temporary objects. (PR #85529)

2024-03-16 Thread Tom Honermann via cfe-commits
@@ -54,6 +54,12 @@ ABI Changes in This Version inline member function that contains a static local variable with a dynamic initializer is declared with ``__declspec(dllimport)``. (#GH83616). +- Fixed Microsoft name mangling of lifetime extended temporary objects. This + c

[clang] [clang] Correct Microsoft mangling of lifetime extended temporary objects. (PR #85529)

2024-03-25 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann closed https://github.com/llvm/llvm-project/pull/85529 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Correct Microsoft mangling of lifetime extended temporary objects. (PR #85529)

2024-03-25 Thread Tom Honermann via cfe-commits
@@ -54,6 +54,12 @@ ABI Changes in This Version inline member function that contains a static local variable with a dynamic initializer is declared with ``__declspec(dllimport)``. (#GH83616). +- Fixed Microsoft name mangling of lifetime extended temporary objects. This + c

[clang] [NFC][Clang] Fix potential dereferencing of nullptr (PR #85944)

2024-03-26 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann approved this pull request. These all look good to me. Thanks, @smanna12! https://github.com/llvm/llvm-project/pull/85944 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/list

[clang] [NFC][CLANG] Fix static analyzer bugs about unnecessary object copies with auto keyword (PR #85962)

2024-03-26 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann approved this pull request. This looks fine to me. `LambdaCapture` consists of a pointer and two source locations so is relatively small and thus, this doesn't address a performance concern. Having the variable be `const` is good regardless to avoid unintended mu

[clang] [CLANG] Fix potential integer overflow value in getRVVTypeSize() (PR #86810)

2024-03-27 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann approved this pull request. Thanks @smanna12. It looks like the revert happened in https://github.com/llvm/llvm-project/commit/c92ad411f2f94d8521cd18abcb37285f9a390ecb. Adding @topperc for awareness. The change looks good to me and matches what was originally don

[clang] [NFC][CLANG] Fix null pointer dereferences (PR #86760)

2024-03-27 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann approved this pull request. Looks good, thanks @smanna12! https://github.com/llvm/llvm-project/pull/86760 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC][Clang] Fix potential dereferencing of nullptr (PR #86759)

2024-03-27 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann approved this pull request. Looks good, thanks @smanna12! https://github.com/llvm/llvm-project/pull/86759 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC][Clang] Fix potential dereferencing of nullptr (PR #86759)

2024-03-27 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann edited https://github.com/llvm/llvm-project/pull/86759 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC][Clang] Fix potential dereferencing of nullptr (PR #86759)

2024-03-27 Thread Tom Honermann via cfe-commits
@@ -2974,7 +2974,7 @@ void DeclareImplicitDeductionGuidesForTypeAlias( if (auto *FPrime = SemaRef.InstantiateFunctionDeclaration( F, TemplateArgListForBuildingFPrime, AliasTemplate->getLocation(), Sema::CodeSynthesisContext::BuildingDeductionGuides))

[clang] [NFC][Clang] Fix potential dereferencing of nullptr (PR #86759)

2024-03-27 Thread Tom Honermann via cfe-commits
@@ -289,7 +289,7 @@ class ComplexExprEmitter const BinOpInfo &Op); QualType GetHigherPrecisionFPType(QualType ElementType) { -const auto *CurrentBT = dyn_cast(ElementType); +const auto *CurrentBT = cast(ElementType); --

[clang] [Clang] Fix a crash when using ast-dump=json (PR #70224)

2023-10-25 Thread Tom Honermann via cfe-commits
@@ -217,21 +221,21 @@ void i(); // CHECK-NEXT:"id": "0x{{.*}}", // CHECK-NEXT:"kind": "FunctionTemplateDecl", // CHECK-NEXT:"loc": { -// CHECK-NEXT: "offset": {{[0-9]+}}, +// CHECK-NEXT: "offset": 142, tahonermann wrote: It looks like a reg

[clang] [Clang] Fix a crash when using ast-dump=json (PR #70224)

2023-10-26 Thread Tom Honermann via cfe-commits
@@ -217,21 +221,21 @@ void i(); // CHECK-NEXT:"id": "0x{{.*}}", // CHECK-NEXT:"kind": "FunctionTemplateDecl", // CHECK-NEXT:"loc": { -// CHECK-NEXT: "offset": {{[0-9]+}}, +// CHECK-NEXT: "offset": 142, tahonermann wrote: Hmm, the regex chan

[clang] [Clang] Warn on deprecated specializations used in system headers. (PR #70353)

2023-10-26 Thread Tom Honermann via cfe-commits
tahonermann wrote: I like this very much so long as it doesn't turn out to be too noisy! https://github.com/llvm/llvm-project/pull/70353 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix a crash when using ast-dump=json (PR #70224)

2023-10-27 Thread Tom Honermann via cfe-commits
@@ -217,21 +221,21 @@ void i(); // CHECK-NEXT:"id": "0x{{.*}}", // CHECK-NEXT:"kind": "FunctionTemplateDecl", // CHECK-NEXT:"loc": { -// CHECK-NEXT: "offset": {{[0-9]+}}, +// CHECK-NEXT: "offset": 142, tahonermann wrote: Reverting the undes

[clang] 4247cdb - [clang]: Add DeclContext::dumpAsDecl().

2022-10-03 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-10-03T17:25:44-04:00 New Revision: 4247cdb568eca4c31b14d91105fe5ee140225036 URL: https://github.com/llvm/llvm-project/commit/4247cdb568eca4c31b14d91105fe5ee140225036 DIFF: https://github.com/llvm/llvm-project/commit/4247cdb568eca4c31b14d91105fe5ee140225036.diff

[clang] 4409a83 - [clang] Correct handling of lambdas in lambda default arguments in dependent contexts.

2022-10-04 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-10-04T09:04:54-07:00 New Revision: 4409a83c293537e22da046b54e9f69454cdd3dca URL: https://github.com/llvm/llvm-project/commit/4409a83c293537e22da046b54e9f69454cdd3dca DIFF: https://github.com/llvm/llvm-project/commit/4409a83c293537e22da046b54e9f69454cdd3dca.diff

[clang] 0982db1 - [Clang] reject bit-fields as instruction operands in Microsoft style inline asm blocks.

2022-10-10 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-10-10T15:45:02-04:00 New Revision: 0982db188b661d6744b06244fda64d43dd80206e URL: https://github.com/llvm/llvm-project/commit/0982db188b661d6744b06244fda64d43dd80206e DIFF: https://github.com/llvm/llvm-project/commit/0982db188b661d6744b06244fda64d43dd80206e.diff

[clang] 3b1d455 - [clang] Correct -frewrite-includes generation of line control directives with mixed EOL forms.

2023-01-05 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2023-01-05T13:24:01-05:00 New Revision: 3b1d45518910b529104a269d5f6712a720cc3ff7 URL: https://github.com/llvm/llvm-project/commit/3b1d45518910b529104a269d5f6712a720cc3ff7 DIFF: https://github.com/llvm/llvm-project/commit/3b1d45518910b529104a269d5f6712a720cc3ff7.diff

[clang] 3e25ae6 - [Clang] Correct when Itanium ABI guard variables are set for non-block variables with static or thread storage duration.

2022-11-16 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2022-11-16T16:31:35-05:00 New Revision: 3e25ae605edd88720de3a4407fdd4ea85f758dce URL: https://github.com/llvm/llvm-project/commit/3e25ae605edd88720de3a4407fdd4ea85f758dce DIFF: https://github.com/llvm/llvm-project/commit/3e25ae605edd88720de3a4407fdd4ea85f758dce.diff

[clang] ecd0be1 - [clang] Warn by default that implicit capture of 'this' is deprecated in C++20 and later.

2023-02-02 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2023-02-02T15:10:47-05:00 New Revision: ecd0be100bed5bae1f22d3da28bfcca89934af8c URL: https://github.com/llvm/llvm-project/commit/ecd0be100bed5bae1f22d3da28bfcca89934af8c DIFF: https://github.com/llvm/llvm-project/commit/ecd0be100bed5bae1f22d3da28bfcca89934af8c.diff

[clang] 256a0b2 - [clang] Correct source locations for instantiations of function templates.

2023-09-18 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2023-09-18T12:51:45-07:00 New Revision: 256a0b298c68b89688b80350b034daf2f7785b67 URL: https://github.com/llvm/llvm-project/commit/256a0b298c68b89688b80350b034daf2f7785b67 DIFF: https://github.com/llvm/llvm-project/commit/256a0b298c68b89688b80350b034daf2f7785b67.diff

[clang] [Driver] -include: deprecate probing .gch (PR #67084)

2023-09-28 Thread Tom Honermann via cfe-commits
tahonermann wrote: I am also rather uncomfortable with this behavioral change. There are a lot of build systems in use out there. My preference would be to continue to probe for a .gch file, but also validate that it is a (compatible) Clang PCH file before trying to use it. https://github.com

[clang] [clang][modules] Remove preloaded SLocEntries from PCM files (PR #66962)

2023-10-03 Thread Tom Honermann via cfe-commits
tahonermann wrote: > That said, isBeforeInTranslationUnit is slow already, and I don't think it's > hot in clang, moreso in tools like clang-tidy whose performance is > less-critical. So let's make it right, and then optimize it again if problems > arise. It may not be a hot function in Clang

[clang] [Driver] Ignore non-clang pch files when -include a.h probes a.h.gch (PR #69204)

2023-10-17 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann approved this pull request. This looks great to me. Thank you for working on this! Please give @MaskRay a chance to comment on this before merging it. https://github.com/llvm/llvm-project/pull/69204 ___ cfe-commits maili

[clang] [clang][doc] Add documentation for the ASTs used to represent C++ templates (PR #66436)

2023-09-15 Thread Tom Honermann via cfe-commits
tahonermann wrote: Hi, Scott! It's nice to see you pop up here! :) I'm a little concerned about maintenance of this documentation going forward. As you know, the Clang AST is not intended to be stable and, even though I don't expect dramatic changes to how templates are represented, it will ta

[clang] 6658db5 - [clang] Fix timing of propagation of MSInheritanceAttr for template instantiation declarations.

2023-08-31 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2023-08-31T09:10:05-07:00 New Revision: 6658db5e501475bf288f6d9eb2a8ff21d5fee8b5 URL: https://github.com/llvm/llvm-project/commit/6658db5e501475bf288f6d9eb2a8ff21d5fee8b5 DIFF: https://github.com/llvm/llvm-project/commit/6658db5e501475bf288f6d9eb2a8ff21d5fee8b5.diff

[clang] a68039c - [Clang] Add tests and mark as implemented WG14-N2728

2023-04-27 Thread Tom Honermann via cfe-commits
Author: Tom Honermann Date: 2023-04-27T14:25:41-07:00 New Revision: a68039c51e6123bea4a019c02b72297e0de58529 URL: https://github.com/llvm/llvm-project/commit/a68039c51e6123bea4a019c02b72297e0de58529 DIFF: https://github.com/llvm/llvm-project/commit/a68039c51e6123bea4a019c02b72297e0de58529.diff

[clang] [llvm] [Clang] Match MSVC handling of duplicate header search paths in Microsoft compatibility modes. (PR #105738)

2024-09-09 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann updated https://github.com/llvm/llvm-project/pull/105738 >From 79b2ceb45cbc4ffb823f56e4c5eedb62f475c780 Mon Sep 17 00:00:00 2001 From: Tom Honermann Date: Thu, 22 Aug 2024 09:44:56 -0700 Subject: [PATCH 1/2] [Clang] Match MSVC handling of duplicate header search

[clang] [libc] [llvm] [NVPTX] Implement variadic functions using IR lowering (PR #96015)

2024-07-24 Thread Tom Honermann via cfe-commits
tahonermann wrote: The change to `NVPTXTargetInfo::getBuiltinVaListKind()` in `clang/lib/Basic/Targets/NVPTX.h` caused a regression in Intel's downstream Clang-based compiler when compiling SYCL code with device compilation targeting NVPTX. CUDA might be similarly impacted, but I haven't verif

[clang] [Clang] Prevent null pointer dereference in designated initializer check (PR #97220)

2024-07-24 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann approved this pull request. Thanks @smanna12, the change looks good! https://github.com/llvm/llvm-project/pull/97220 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/

[clang] [Clang] Fix null pointer dereference in enum debug info generation (PR #97105)

2024-07-24 Thread Tom Honermann via cfe-commits
@@ -98,3 +98,6 @@ enum E8 { A8 = -128, B8 = 127 } x8; // CHECK-NOT: DIFlagEnumClass // CHECK: !DIEnumerator(name: "A8", value: -128) +// Forward declaration of an enum class. +enum class Color : int; +// CHECK-NOT: !DICompositeType(tag: DW_TAG_enumeration_type, name: "Color" -

[clang] [libc] [llvm] [NVPTX] Implement variadic functions using IR lowering (PR #96015)

2024-07-24 Thread Tom Honermann via cfe-commits
tahonermann wrote: > Is it just the `char *` vs `void *`? We can probably change that back, in > fact I thought I did that in the patch but I might've forgotten to push the > update. Yes. The local workaround we're currently using just unconditionally returns `CharPtrBuiltinVaList`. https://

[clang] [clang] Diagnose use of deprecated template alias (PR #97619)

2024-07-16 Thread Tom Honermann via cfe-commits
@@ -0,0 +1,58 @@ +// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s +// +// This test checks that a deprecated attribute on an alias +// template triggers a warning diagnostic when it is used. + +template +struct NoAttr { + void foo() {} +}; + +// expected-note@+2 5{{'Using

[clang] [Clang] Protect ObjCMethodList assignment operator against self-assignment (PR #97933)

2024-07-16 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann commented: As far as I can tell, `ObjCMethodList` is already self-assignment safe so long as `PointerIntPair` is. It looks like the latter might not be though since its copy assignment operator (as implemented via `PunnedPointer`) uses `memcpy` and it does not gu

[clang] [Clang] Prevent null pointer dereference in TransformUnaryTransformType() (PR #97912)

2024-07-16 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann approved this pull request. Looks good! Thanks @smanna12! https://github.com/llvm/llvm-project/pull/97912 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix null pointer dereference in enum debug info generation (PR #97105)

2024-07-16 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann approved this pull request. Thanks @smanna12. I think this looks ok; returning null here does appear to be consistent with other overloads of `CreateTypeDefinition` for `RecordType` and `ObjCInterfaceType`. I agree with @Michael137 that it would be nice to have an

[clang] [Clang] Fix potential null pointer dereferences in Sema::AddInitializerToDecl (PR #94368)

2024-07-16 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann edited https://github.com/llvm/llvm-project/pull/94368 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix potential null pointer dereferences in Sema::AddInitializerToDecl (PR #94368)

2024-07-16 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann commented: Thanks @smanna12. I'm uncertain about this change; see my additional comment. https://github.com/llvm/llvm-project/pull/94368 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-b

  1   2   3   4   >