[clang] [llvm] [clang][ci] Move libc++ testing into the main PR pipeline (PR #93318)

2024-05-24 Thread Louis Dionne via cfe-commits
@@ -54,3 +54,68 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \ echo "--- ninja" # Targets are not escaped as they are passed as separate arguments. ninja -C "${BUILD_DIR}" -k 0 ${targets} + +runtimes="${3}" +runtime_targets="${4}" + +# Compiling runtimes with

[clang] [llvm] [clang][ci] Move libc++ testing into the main PR pipeline (PR #93318)

2024-05-24 Thread Louis Dionne via cfe-commits
@@ -54,3 +54,68 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \ echo "--- ninja" # Targets are not escaped as they are passed as separate arguments. ninja -C "${BUILD_DIR}" -k 0 ${targets} + +runtimes="${3}" +runtime_targets="${4}" + +# Compiling runtimes with

[clang] [llvm] [clang][ci] Move libc++ testing into the main PR pipeline (PR #93318)

2024-05-24 Thread Louis Dionne via cfe-commits
https://github.com/ldionne requested changes to this pull request. https://github.com/llvm/llvm-project/pull/93318 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang][ci] Move libc++ testing into the main PR pipeline (PR #93318)

2024-05-24 Thread Louis Dionne via cfe-commits
@@ -54,3 +54,68 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \ echo "--- ninja" # Targets are not escaped as they are passed as separate arguments. ninja -C "${BUILD_DIR}" -k 0 ${targets} + ldionne wrote: I don't think it makes sense to serialize all

[clang] [llvm] [clang][ci] Move libc++ testing into the main PR pipeline (PR #93318)

2024-05-24 Thread Louis Dionne via cfe-commits
https://github.com/ldionne edited https://github.com/llvm/llvm-project/pull/93318 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang][ci] Move libc++ testing into the main PR pipeline (PR #93318)

2024-05-24 Thread Louis Dionne via cfe-commits
https://github.com/ldionne edited https://github.com/llvm/llvm-project/pull/93318 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ci] Remove unnecessary BuildKite jobs for Clang (PR #93233)

2024-05-23 Thread Louis Dionne via cfe-commits
ldionne wrote: I will merge once the CI has passed. If someone else sees the CI green, feel free to merge too. @Endilll We could indeed "flatten" the `clang-ci` pipeline into the `github-pull-requests` pipeline. Basically, instead of triggering the `clang-ci` pipeline like this:

[clang] [clang][ci] Remove unnecessary BuildKite jobs for Clang (PR #93233)

2024-05-23 Thread Louis Dionne via cfe-commits
ldionne wrote: > Do we even need to build Clang and run libc++ jobs? I don't even see them > linked in libc++ PR, even besides the fact that I think libc++ is fully > tested with GitHub Actions. What we're testing is that the changes to Clang didn't break libc++. We're testing Clang via

[clang] [clang][ci] Remove unnecessary BuildKite jobs for Clang (PR #93233)

2024-05-23 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/93233 >From 89afeebd55e0ae1167f5af803eb192b73a6e6799 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Thu, 23 May 2024 15:31:11 -0400 Subject: [PATCH 1/2] [clang][ci] Remove unnecessary BuildKite jobs for Clang 1.

[clang] [clang][ci] Remove unnecessary BuildKite jobs for Clang (PR #93233)

2024-05-23 Thread Louis Dionne via cfe-commits
https://github.com/ldionne created https://github.com/llvm/llvm-project/pull/93233 1. Remove the format-checking job from the BuildKite pipeline. We now have a monorepo-wide format checker implemented with Github Actions, so that should not be necessary anymore. 2. Stop building and testing

[libcxx] [libcxxabi] [libunwind] [llvm] [libc++][WIP] Move the libc++ test format to Lit (PR #90803)

2024-05-22 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/90803 >From 4871a82495e0056483759fa207ffbecd63b1e2f8 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 1 May 2024 18:10:07 -0600 Subject: [PATCH] [libc++][WIP] Move the libc++ test format to Lit This allows the

[libcxx] [libcxxabi] [libunwind] [llvm] [libc++][WIP] Move the libc++ test format to Lit (PR #90803)

2024-05-22 Thread Louis Dionne via cfe-commits
@@ -0,0 +1,355 @@ +# ===--===## +# +# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +# See https://llvm.org/LICENSE.txt for license information. +# SPDX-License-Identifier:

[libunwind] Use relative includes to allow source-based dependencies without `-I` (PR #80443)

2024-05-22 Thread Louis Dionne via cfe-commits
ldionne wrote: > @ldionne, do you find @arichardson reasoning good enough to proceed with > merging this PR? I'm not convinced. We use `#include ` pretty consistently in libc++ and libc++abi and we should strive for all the runtimes to be consistent. I am especially not convinced that the

[clang] [clang-tools-extra] [libcxx] Reland "[clang] Enable sized deallocation by default in C++14 onwards" (PR #90373)

2024-05-21 Thread Louis Dionne via cfe-commits
https://github.com/ldionne approved this pull request. Let's try this again. Thanks for your perseverance, this is obviously not easy to land but it's important to get it done. Let's hope everything has been addressed this time around. https://github.com/llvm/llvm-project/pull/90373

[libcxx] [libcxxabi] [libunwind] [llvm] [libc++][WIP] Move the libc++ test format to Lit (PR #90803)

2024-05-06 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/90803 >From ecab1e5689f9f7ea6f87d9cc8c51910b733f6859 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 1 May 2024 18:10:07 -0600 Subject: [PATCH] [libc++][WIP] Move the libc++ test format to Lit This allows the

[clang] [compiler-rt] [libc] [libclc] [libcxxabi] [lld] [lldb] [llvm] [mlir] llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp:3804: lacking () for c… (PR #90391)

2024-04-29 Thread Louis Dionne via cfe-commits
https://github.com/ldionne approved this pull request. The libc++abi changes look fine to me. https://github.com/llvm/llvm-project/pull/90391 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [clang-tools-extra] [libcxx] [C++17] Support __GCC_[CON|DE]STRUCTIVE_SIZE (PR #89446)

2024-04-25 Thread Louis Dionne via cfe-commits
ldionne wrote: > > I'd rather keep the libc++ tests green while landing this PR. I tried > > something out, let's see if that works. > > It looks like some further adjustments may be needed as some stage1 builders > are failing: > > ``` > [...] > ``` Ah, yes, we're using the nightly clang

[clang] [libcxx] [C++17] Support __GCC_[CON|DE]STRUCTIVE_SIZE (PR #89446)

2024-04-23 Thread Louis Dionne via cfe-commits
https://github.com/ldionne approved this pull request. I'd rather keep the libc++ tests green while landing this PR. I tried something out, let's see if that works. Otherwise LGTM, thanks for tackling this long-standing item on our TODO list :-) https://github.com/llvm/llvm-project/pull/89446

[clang] [C++17] Support __GCC_[CON|DE]STRUCTIVE_SIZE (PR #89446)

2024-04-22 Thread Louis Dionne via cfe-commits
ldionne wrote: > > > > For SystemZ the correct value is 256. > > > > > > > > > Thanks! Double-checking: for both constructive and destructive? > > > > > > Yes, for both. Every SystemZ model (supported by GCC/LLVM) has a L1 cache > > line size of 256 bytes. > > Excellent, thank you! > > >

[clang] [compiler-rt] [llvm] [CMake] Use Clang to infer the target triple (PR #89425)

2024-04-22 Thread Louis Dionne via cfe-commits
https://github.com/ldionne approved this pull request. LGTM, the equivalent patch was approved on Phab too. https://github.com/llvm/llvm-project/pull/89425 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] Fix UPCAddressofArraySubscriptGadget::getClaimedVarUseSites() (PR #88406)

2024-04-16 Thread Louis Dionne via cfe-commits
ldionne wrote: I just approved the CI runs. I think this can be merged once the CI is all green. Whoever sees this first with push access can merge. https://github.com/llvm/llvm-project/pull/88406 ___ cfe-commits mailing list

[clang] [Headers] Don't declare unreachable() from stddef.h in C++ (PR #86748)

2024-03-28 Thread Louis Dionne via cfe-commits
ldionne wrote: > > Thanks for the explanation, @AaronBallman . I think I am generally deeply > > confused about what should be provided by the compiler and what should be > > provided by the C Standard Library on any given platform. From your reply, > > it looks like there's no clear rule and

[clang] [Headers] Don't declare unreachable() from stddef.h in C++ (PR #86748)

2024-03-28 Thread Louis Dionne via cfe-commits
ldionne wrote: Thanks for the explanation, @AaronBallman . I think I am generally deeply confused about what should be provided by the compiler and what should be provided by the C Standard Library on any given platform. From your reply, it looks like there's no clear rule and Clang basically

[clang] [Headers] Don't declare unreachable() from stddef.h in C++ (PR #86748)

2024-03-27 Thread Louis Dionne via cfe-commits
ldionne wrote: > > Why do the Clang builtin headers even try to define this? Shouldn't this be > > provided by the platform's C library instead? I am really confused about > > what's the intended layering here and it seems to me like Clang is > > overstepping its responsibilities by basically

[libunwind] [libunwind] Tweak tests for musl support. (PR #85097)

2024-03-27 Thread Louis Dionne via cfe-commits
@@ -24,16 +23,30 @@ #include #include +// Note: this test fails on musl because: +// +// (a) musl disables emission of unwind information for its build, and +// (b) musl's signal trampolines don't include unwind information +// ldionne wrote: This

[libunwind] [libunwind] Tweak tests for musl support. (PR #85097)

2024-03-27 Thread Louis Dionne via cfe-commits
@@ -24,16 +23,30 @@ #include #include +// Note: this test fails on musl because: +// +// (a) musl disables emission of unwind information for its build, and +// (b) musl's signal trampolines don't include unwind information +// ldionne wrote: Same here.

[clang] [Headers] Don't declare unreachable() from stddef.h in C++ (PR #86748)

2024-03-27 Thread Louis Dionne via cfe-commits
ldionne wrote: Why do the Clang builtin headers even try to define this? Shouldn't this be provided by the platform's C library instead? I am really confused about what's the intended layering here and it seems to me like Clang is overstepping its responsibilities by basically implementing

[clang] [clang-tools-extra] [compiler-rt] [libcxx] [lld] [lldb] [llvm] [mlir] Fix SyntaxWarning messages from python 3.12 (PR #86806)

2024-03-27 Thread Louis Dionne via cfe-commits
https://github.com/ldionne approved this pull request. Libc++ parts LGTM. https://github.com/llvm/llvm-project/pull/86806 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libcxx] [libcxxabi] [libunwind] [libcxx, libcxxabi, libunwind] Prefer -fvisibility-global-new-delete=force-hidden (PR #84917)

2024-03-13 Thread Louis Dionne via cfe-commits
ldionne wrote: /cherry-pick 1f973efd335f34c75fcba1ccbe288fd5ece15a64 https://github.com/llvm/llvm-project/pull/84917 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libcxx] [libcxxabi] [libunwind] [libcxx, libcxxabi, libunwind] Prefer -fvisibility-global-new-delete=force-hidden (PR #84917)

2024-03-13 Thread Louis Dionne via cfe-commits
https://github.com/ldionne closed https://github.com/llvm/llvm-project/pull/84917 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libcxx] [libcxxabi] [libunwind] [libcxx, libcxxabi, libunwind] Prefer -fvisibility-global-new-delete=force-hidden (PR #84917)

2024-03-13 Thread Louis Dionne via cfe-commits
https://github.com/ldionne milestoned https://github.com/llvm/llvm-project/pull/84917 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libcxx] [libcxxabi] [libunwind] [libcxx, libcxxabi, libunwind] Prefer -fvisibility-global-new-delete=force-hidden (PR #84917)

2024-03-13 Thread Louis Dionne via cfe-commits
https://github.com/ldionne approved this pull request. https://github.com/llvm/llvm-project/pull/84917 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [libcxx] [clang] Enable sized deallocation by default in C++14 onwards (PR #83774)

2024-03-12 Thread Louis Dionne via cfe-commits
https://github.com/ldionne approved this pull request. https://github.com/llvm/llvm-project/pull/83774 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libcxx] [libcxxabi] [libunwind] [runtimes] Always define cxx_shared, cxx_static & other targets (PR #80007)

2024-03-11 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/80007 >From 01012cc48d339a269825725baf62c25707943b7c Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 12 Oct 2022 18:06:32 -0400 Subject: [PATCH] [runtimes] Always define cxx_shared, cxx_static & other targets

[clang] [clang-tools-extra] [libcxx] [clang] Enable sized deallocation by default in C++14 onwards (PR #83774)

2024-03-08 Thread Louis Dionne via cfe-commits
@@ -2912,16 +2912,70 @@ static bool sdkSupportsBuiltinModules(const Darwin::DarwinPlatformKind } } -void Darwin::addClangTargetOptions(const llvm::opt::ArgList , - llvm::opt::ArgStringList , -

[clang] [clang-tools-extra] [libcxx] [clang] Enable sized deallocation by default in C++14 onwards (PR #83774)

2024-03-08 Thread Louis Dionne via cfe-commits
https://github.com/ldionne commented: The version map seems correct to me. I have a comment about z/OS appearing in a place it shouldn't but apart from that LGTM. Heads up @ahatanak you probably want to have a quick look as well since you did a lot of work around aligned allocation on Apple

[clang] [clang-tools-extra] [libcxx] [clang] Enable sized deallocation by default in C++14 onwards (PR #83774)

2024-03-08 Thread Louis Dionne via cfe-commits
@@ -2912,16 +2912,70 @@ static bool sdkSupportsBuiltinModules(const Darwin::DarwinPlatformKind } } -void Darwin::addClangTargetOptions(const llvm::opt::ArgList , - llvm::opt::ArgStringList , -

[clang] [clang-tools-extra] [libcxx] [clang] Enable sized deallocation by default in C++14 onwards (PR #83774)

2024-03-08 Thread Louis Dionne via cfe-commits
https://github.com/ldionne edited https://github.com/llvm/llvm-project/pull/83774 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Match -isysroot behaviour with system compiler on Darwin (PR #80524)

2024-03-05 Thread Louis Dionne via cfe-commits
ldionne wrote: > > So the intent of the current ordering was to allow creating a toolchain by > > placing the libc++ headers alongside Clang, as is typically done (and > > exceptionally not done on Apple platforms). On Apple platforms, you > > basically always specify a sysroot, either

[clang] [clang] Document the type_visibility attribute (PR #79157)

2024-02-09 Thread Louis Dionne via cfe-commits
https://github.com/ldionne closed https://github.com/llvm/llvm-project/pull/79157 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libunwind] Use relative includes to allow source-based dependencies without `-I` (PR #80443)

2024-02-08 Thread Louis Dionne via cfe-commits
ldionne wrote: Doing ad-hoc changes like that to provide an apparent guarantee without actually documenting it, testing it and enforcing it throughout is just churning the code base. Unless we actually have a plan to do that properly, I would push back this change. I understand you're just

[clang] [clang] Document the type_visibility attribute (PR #79157)

2024-02-08 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/79157 >From c525b81664d23e3bc75fb6b795459bcbb7e305a4 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Tue, 23 Jan 2024 10:51:53 -0500 Subject: [PATCH 1/3] [clang] Document the type_visibility attribute I was looking

[clang] [clang] Document the type_visibility attribute (PR #79157)

2024-02-08 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/79157 >From c525b81664d23e3bc75fb6b795459bcbb7e305a4 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Tue, 23 Jan 2024 10:51:53 -0500 Subject: [PATCH 1/2] [clang] Document the type_visibility attribute I was looking

[clang] [clang] Document the type_visibility attribute (PR #79157)

2024-02-08 Thread Louis Dionne via cfe-commits
@@ -5557,6 +5557,21 @@ See :doc:`LTOVisibility`. }]; } +def TypeVisibilityDocs : Documentation { + let Category = DocCatType; + let Content = [{ +The ``type_visibility`` attribute allows the ELF visibility of a type and its vague +linkage objects (vtable, typeinfo,

[clang] [clang] Document the type_visibility attribute (PR #79157)

2024-02-08 Thread Louis Dionne via cfe-commits
@@ -5557,6 +5557,21 @@ See :doc:`LTOVisibility`. }]; } +def TypeVisibilityDocs : Documentation { + let Category = DocCatType; + let Content = [{ +The ``type_visibility`` attribute allows the ELF visibility of a type and its vague +linkage objects (vtable, typeinfo,

[clang] [clang] Document the type_visibility attribute (PR #79157)

2024-02-08 Thread Louis Dionne via cfe-commits
@@ -5557,6 +5557,21 @@ See :doc:`LTOVisibility`. }]; } +def TypeVisibilityDocs : Documentation { + let Category = DocCatType; + let Content = [{ +The ``type_visibility`` attribute allows the ELF visibility of a type and its vague ldionne wrote: I don't

[clang] [clang] Match -isysroot behaviour with system compiler on Darwin (PR #80524)

2024-02-07 Thread Louis Dionne via cfe-commits
ldionne wrote: > Yes. What I think Dmitry and I are trying to explain is that it is very weird > that providing an explicit `-isysroot` in the command line is ignored for the > C++ headers (and only for them). One can start using `-nostdinc` and friends, > but that mean rebuilding the header

[clang] [clang] Match -isysroot behaviour with system compiler on Darwin (PR #80524)

2024-02-07 Thread Louis Dionne via cfe-commits
ldionne wrote: > @ldionne if downstream is catching upstream, I would love to discuss > rationale behind ignoring command line option. I asked this question several > times and haven't got answer. Original > [diff](https://reviews.llvm.org/D89001) that introduced this behavior also > didn't

[clang] [clang] Match -isysroot behaviour with system compiler on Darwin (PR #80524)

2024-02-06 Thread Louis Dionne via cfe-commits
ldionne wrote: If we do that, we’ll just create churn. It’s a moving target. You will « fix » upstream Clang to match « the system compiler » temporarily, but by doing so you’re causing the downstream Clang to ingest that change too via auto-merging and that means you’ll flip-flop the state

[clang] [clang] Match -isysroot behaviour with system compiler on Darwin (PR #80524)

2024-02-05 Thread Louis Dionne via cfe-commits
ldionne wrote: Woah, I just checked Xcode 15.2 and you are totally right, it contains `clang-1500.1.0.2.5` which still has the behavior reversed from upstream. Sorry for the confusion, I assumed it was out in recent Xcodes cause the change was made a while back, but it looks like this change

[clang] [clang] Match -isysroot behaviour with system compiler on Darwin (PR #80524)

2024-02-05 Thread Louis Dionne via cfe-commits
ldionne wrote: @dmpolukhin Replying to https://reviews.llvm.org/D157283#4648445: > @ldionne thank you for the reply. Unfortunately current behaviour makes > problems for clang-tools like clang-tidy and clangd that read CDBs from > compile_commands.json. They start looking headers relative

[clang] [clang] Match -isysroot behaviour with system compiler on Darwin (PR #80524)

2024-02-05 Thread Louis Dionne via cfe-commits
ldionne wrote: In https://reviews.llvm.org/D157283#4648242, I explained that the current upstream code actually matches exactly what we have downstream. I made sure to upstream everything to avoid differences after we started shipping libc++ in the SDK and were done with our transition.

[libunwind] Use relative includes to allow source-based dependencies without `-I` (PR #80443)

2024-02-02 Thread Louis Dionne via cfe-commits
https://github.com/ldionne requested changes to this pull request. We require that the right paths be setup with `-I` or `-isystem` as a general requirement of libc++, libc++abi and libunwind. This change seems brittle to me, especially if there's no test or no official guarantee being added

[clang] Add option -fstdlib-hardening= (PR #78763)

2024-01-30 Thread Louis Dionne via cfe-commits
ldionne wrote: > I am concerned that `-fstdlib-hardening=` may not map to libstdc++ preferred > enabling mechanism cleanly. There is a non-zero probability that GCC folks > would not add an option that just passes a `-D...` to cc1. Then this driver > option will feel like a libc++ specific

[libcxxabi] [libunwind] [libcxx] [runtimes] Always define cxx_shared, cxx_static & other targets (PR #80007)

2024-01-30 Thread Louis Dionne via cfe-commits
ldionne wrote: CC @petrhosek @vitalybuka since this broke your setups last time. The reproduction steps were really non-trivial so I never got around to reproducing, but it would be great to see if this is still problematic. https://github.com/llvm/llvm-project/pull/80007

[libcxxabi] [libunwind] [libcxx] [runtimes] Always define cxx_shared, cxx_static & other targets (PR #80007)

2024-01-30 Thread Louis Dionne via cfe-commits
https://github.com/ldionne created https://github.com/llvm/llvm-project/pull/80007 However, mark them as EXCLUDE_FROM_ALL when we don't want to build them. Simply declaring the targets should be of no harm, and it allows other projects to mention these targets regardless of whether they end

[clang] Add option -fstdlib-hardening= (PR #78763)

2024-01-29 Thread Louis Dionne via cfe-commits
ldionne wrote: > > > I am on the fence whether a driver option is really needed. It is a very > > > shallow layer of extra abstraction that a curious reader has to look > > > through. I guess I'll not object to this, if people really want to add it. > > > > > > Setting macros that are

[clang] Add option -fstdlib-hardening= (PR #78763)

2024-01-29 Thread Louis Dionne via cfe-commits
ldionne wrote: > I am on the fence whether a driver option is really needed. It is a very > shallow layer of extra abstraction that a curious reader has to look through. > I guess I'll not object to this, if people really want to add it. Setting macros that are reserved names is really

[libunwind] [libcxx] [libcxxabi] [libunwind][libcxx][libcxxabi] Fix Exception Handling build for wasm (PR #79667)

2024-01-29 Thread Louis Dionne via cfe-commits
@@ -35,7 +32,12 @@ struct _Unwind_LandingPadContext { // Communication channel between compiler-generated user code and personality // function -thread_local struct _Unwind_LandingPadContext __wasm_lpad_context; +#if __STDC_VERSION__ >= 202311L ldionne wrote:

[libcxxabi] [libunwind] [libcxx] [libunwind][libcxx][libcxxabi] Fix Exception Handling build for wasm (PR #79667)

2024-01-29 Thread Louis Dionne via cfe-commits
@@ -180,6 +180,7 @@ #endif #define _LIBUNWIND_HIGHEST_DWARF_REGISTER \ _LIBUNWIND_HIGHEST_DWARF_REGISTER_LOONGARCH +#elif defined(__wasm__) ldionne wrote: Why don't we define `_LIBUNWIND_CURSOR_SIZE` and friends on

[libcxx] [libcxxabi] [libunwind] [libunwind][libcxx][libcxxabi] Fix Exception Handling build for wasm (PR #79667)

2024-01-29 Thread Louis Dionne via cfe-commits
@@ -12,6 +12,7 @@ #include #include "config.h" +#ifndef __wasm__ ldionne wrote: Similar question as above here. If this file is basically empty on wasm, we should instead avoid adding it in the CMakeLists.txt.

[libunwind] [libcxxabi] [libcxx] [libunwind][libcxx][libcxxabi] Fix Exception Handling build for wasm (PR #79667)

2024-01-29 Thread Louis Dionne via cfe-commits
@@ -10,14 +10,11 @@ // //===--===// +#if __STDC_VERSION__ < 202311L ldionne wrote: This change seems unrelated to the rest of the patch. https://github.com/llvm/llvm-project/pull/79667

[libcxx] [libunwind] [libcxxabi] [libunwind][libcxx][libcxxabi] Fix Exception Handling build for wasm (PR #79667)

2024-01-29 Thread Louis Dionne via cfe-commits
https://github.com/ldionne requested changes to this pull request. https://github.com/llvm/llvm-project/pull/79667 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libunwind] [libcxxabi] [libcxx] [libunwind][libcxx][libcxxabi] Fix Exception Handling build for wasm (PR #79667)

2024-01-29 Thread Louis Dionne via cfe-commits
@@ -15,6 +15,7 @@ #include <__libunwind_config.h> +#ifndef __wasm__ ldionne wrote: What is the purpose of this header if it's entirely empty on wasm? https://github.com/llvm/llvm-project/pull/79667 ___

[libunwind] [libcxx] [libcxxabi] [libunwind][libcxx][libcxxabi] Fix Exception Handling build for wasm (PR #79667)

2024-01-29 Thread Louis Dionne via cfe-commits
@@ -36,7 +36,12 @@ struct __cxa_exception; _LIBCPP_OVERRIDABLE_FUNC_VIS __cxa_exception* __cxa_init_primary_exception( void*, std::type_info*, -void( +# if defined(__USING_WASM_EXCEPTIONS__) ldionne wrote: Let's introduce a typedef name for this

[libcxxabi] [libunwind] [libcxx] [libunwind][libcxx][libcxxabi] Fix Exception Handling build for wasm (PR #79667)

2024-01-29 Thread Louis Dionne via cfe-commits
https://github.com/ldionne edited https://github.com/llvm/llvm-project/pull/79667 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [lldb] [openmp] [compiler-rt] [libclc] [flang] [mlir] [llvm] [libc] [libcxx] [lld] [clang] [libc++][memory] P1132R8: `out_ptr` - a scalable output pointer abstraction (PR #73618)

2024-01-26 Thread Louis Dionne via cfe-commits
https://github.com/ldionne milestoned https://github.com/llvm/llvm-project/pull/73618 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Add support for builtin_verbose_trap (PR #79230)

2024-01-26 Thread Louis Dionne via cfe-commits
@@ -0,0 +1,28 @@ +// RUN: %clang_cc1 -std=c++11 -fsyntax-only -fcxx-exceptions -verify %s + +#if !__has_builtin(__builtin_verbose_trap) +#error +#endif + +constexpr char const* constMsg1 = "hello"; +char const* const constMsg2 = "hello"; +char const constMsg3[] = "hello"; +

[clang] [libc++] Add builtin to clear padding bytes (prework for P0528R3) (PR #75371)

2024-01-26 Thread Louis Dionne via cfe-commits
ldionne wrote: @AaronBallman We're struggling a bit to find the right person to help review this -- do you know who would be a good candidate? Hui is very familiar with libc++ but he's less familiar with codegen, and I'm not very useful in that area of the project :-).

[clang] Add support for builtin_verbose_trap (PR #79230)

2024-01-26 Thread Louis Dionne via cfe-commits
@@ -0,0 +1,28 @@ +// RUN: %clang_cc1 -std=c++11 -fsyntax-only -fcxx-exceptions -verify %s + +#if !__has_builtin(__builtin_verbose_trap) +#error +#endif + +constexpr char const* constMsg1 = "hello"; +char const* const constMsg2 = "hello"; +char const constMsg3[] = "hello"; +

[clang] Add support for builtin_verbose_trap (PR #79230)

2024-01-26 Thread Louis Dionne via cfe-commits
@@ -0,0 +1,29 @@ +// RUN: %clang_cc1 -std=c++11 -fsyntax-only -fcxx-exceptions -verify %s + +#if !__has_builtin(__builtin_verbose_trap) +#error +#endif + +constexpr char const* constMsg1 = "hello"; +char const* const constMsg2 = "hello"; +char const constMsg3[] = "hello"; +

[clang] [libc] [libclc] [llvm] [compiler-rt] [lld] [libcxxabi] [libcxx] [flang] [libunwind] [clang-tools-extra] [libc++] [libc++abi] Initialize exception directly in make_exception_ptr if __cxa_init_p

2024-01-25 Thread Louis Dionne via cfe-commits
ldionne wrote: @DimitryAndric Thanks, please keep us in the loop. If we need to make a fix on our side, @itrofimow we'll want to cherry-pick it to LLVM 18. https://github.com/llvm/llvm-project/pull/65534 ___ cfe-commits mailing list

[clang] Add option -fstdlib-hardening= (PR #78763)

2024-01-25 Thread Louis Dionne via cfe-commits
https://github.com/ldionne approved this pull request. You'll want to wait for other reviewers to also be happy with this, but from my side this is ready to go! Thanks! https://github.com/llvm/llvm-project/pull/78763 ___ cfe-commits mailing list

[clang] Add support for builtin_verbose_trap (PR #79230)

2024-01-25 Thread Louis Dionne via cfe-commits
@@ -0,0 +1,28 @@ +// RUN: %clang_cc1 -std=c++11 -fsyntax-only -fcxx-exceptions -verify %s + +#if !__has_builtin(__builtin_verbose_trap) +#error +#endif + +constexpr char const* constMsg1 = "hello"; +char const* const constMsg2 = "hello"; +char const constMsg3[] = "hello"; +

[clang] Add support for builtin_verbose_trap (PR #79230)

2024-01-25 Thread Louis Dionne via cfe-commits
@@ -3379,6 +3379,54 @@ Query for this feature with ``__has_builtin(__builtin_debugtrap)``. Query for this feature with ``__has_builtin(__builtin_trap)``. +``__builtin_verbose_trap`` +-- + +``__builtin_verbose_trap`` causes the program to stop its

[clang] Add option -fstdlib-hardening= (PR #78763)

2024-01-25 Thread Louis Dionne via cfe-commits
@@ -851,6 +851,28 @@ static void InitializePredefinedMacros(const TargetInfo , Twine(getClangFullCPPVersion()) + "\""); // Initialize language-specific preprocessor defines. + if (LangOpts.getStdlibHardeningMode()) { +const char

[clang] [llvm] [clang-tools-extra] [DebugInfo][RemoveDIs] Add a DPValue implementation for instcombine sinking (PR #77930)

2024-01-24 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/77930 >From eabd2a9d6922dd82b59497b769bc0a160e69c811 Mon Sep 17 00:00:00 2001 From: Jeremy Morse Date: Fri, 12 Jan 2024 11:06:50 + Subject: [PATCH 1/3] [DebugInfo][RemoveDIs] Add a DPValue implementation for

[libunwind] fc364e2 - [libunwind][doc] Remove reference to Phabricator from the landing page

2024-01-24 Thread Louis Dionne via cfe-commits
Author: Louis Dionne Date: 2024-01-24T11:03:05-05:00 New Revision: fc364e26845ce5529caf9f88abcc5a5531d1f59f URL: https://github.com/llvm/llvm-project/commit/fc364e26845ce5529caf9f88abcc5a5531d1f59f DIFF: https://github.com/llvm/llvm-project/commit/fc364e26845ce5529caf9f88abcc5a5531d1f59f.diff

[clang] [clang] Document the type_visibility attribute (PR #79157)

2024-01-23 Thread Louis Dionne via cfe-commits
@@ -3220,8 +3220,8 @@ def TypeVisibility : InheritableAttr { let Args = [EnumArgument<"Visibility", "VisibilityType", ["default", "hidden", "internal", "protected"], ["Default", "Hidden", "Hidden", "Protected"]>]; -//

[clang] [clang] Document the type_visibility attribute (PR #79157)

2024-01-23 Thread Louis Dionne via cfe-commits
https://github.com/ldionne created https://github.com/llvm/llvm-project/pull/79157 I was looking for the documentation of that attribute, and the best I could find was a Stackoverflow answer or the commit message that originally introduced the attribute. I figured I might as well document

[clang] [CMake][PGO] Add libunwind to list of stage1 runtimes (PR #78869)

2024-01-23 Thread Louis Dionne via cfe-commits
https://github.com/ldionne closed https://github.com/llvm/llvm-project/pull/78869 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CMake][PGO] Add libunwind to list of stage1 runtimes (PR #78869)

2024-01-23 Thread Louis Dionne via cfe-commits
https://github.com/ldionne edited https://github.com/llvm/llvm-project/pull/78869 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [libc] [lldb] [compiler-rt] [flang] [libcxxabi] [llvm] [lld] [libcxx] [mlir] [clang] [libc++] Fix the behavior of throwing `operator new` under -fno-exceptions (PR #69498)

2024-01-22 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/69498 >From 6f89b118ed56ad7a3af1996e19ccd30cc893c51e Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 14 Jun 2023 17:49:22 -0700 Subject: [PATCH 01/11] [libc++] Fix the behavior of throwing `operator new` under

[clang] [libcxx] [libc] [lld] [llvm] [mlir] [compiler-rt] [clang-tools-extra] [flang] [libc++][hardening] Don't trigger redundant checks in the fast mode. (PR #77176)

2024-01-22 Thread Louis Dionne via cfe-commits
https://github.com/ldionne demilestoned https://github.com/llvm/llvm-project/pull/77176 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [libcxx] [llvm] [libc++][hardening] Categorize assertions related to strict weak ordering (PR #77405)

2024-01-22 Thread Louis Dionne via cfe-commits
@@ -360,11 +365,13 @@ _LIBCPP_HARDENING_MODE_DEBUG #define _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(expression, message) _LIBCPP_ASSERT(expression, message) #define _LIBCPP_ASSERT_NON_NULL(expression, message) _LIBCPP_ASSERT(expression, message) #

[libcxx] [clang] [llvm] [clang-tools-extra] [libc++][hardening] Categorize assertions related to strict weak ordering (PR #77405)

2024-01-22 Thread Louis Dionne via cfe-commits
@@ -52,204 +51,234 @@ class ComparisonResults { ldionne wrote: We need to take the parts of this test that would reproduce an OOB access inside `std::sort` & friends to a new test file. And that one should be enabled whenever the valid-element-access checks

[clang] [clang-tools-extra] [llvm] [libcxx] [libc++][hardening] Categorize assertions related to strict weak ordering (PR #77405)

2024-01-22 Thread Louis Dionne via cfe-commits
@@ -53,10 +53,9 @@ struct __debug_less { _LIBCPP_CONSTEXPR_SINCE_CXX14 inline _LIBCPP_HIDE_FROM_ABI void __do_compare_assert(long, _LHS&, _RHS&) {} }; -// Pass the comparator by lvalue reference. Or in debug mode, using a -// debugging wrapper that stores a reference. -#if

[clang-tools-extra] [llvm] [clang] [libcxx] [libc++][hardening] Categorize assertions related to strict weak ordering (PR #77405)

2024-01-22 Thread Louis Dionne via cfe-commits
https://github.com/ldionne edited https://github.com/llvm/llvm-project/pull/77405 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [lld] [libc] [mlir] [libcxx] [clang-tools-extra] [flang] [compiler-rt] [libc++][hardening] Don't trigger redundant checks in the fast mode. (PR #77176)

2024-01-22 Thread Louis Dionne via cfe-commits
https://github.com/ldionne approved this pull request. @philnik777 > Does this actually improve the performance anywhere? AFAICT all we gain is > avoiding the messages being generated in the binary, but I'm not convinced > that's much of a problem. e.g. in the `std::next` case, there doesn't

[lld] [flang] [compiler-rt] [clang] [libcxx] [libc] [clang-tools-extra] [mlir] [llvm] [libc++][hardening] Don't trigger redundant checks in the fast mode. (PR #77176)

2024-01-22 Thread Louis Dionne via cfe-commits
@@ -350,6 +363,9 @@ _LIBCPP_HARDENING_MODE_DEBUG #define _LIBCPP_ASSERT_PEDANTIC(expression, message) _LIBCPP_ASSUME(expression) #define _LIBCPP_ASSERT_INTERNAL(expression, message) _LIBCPP_ASSUME(expression) #define

[lld] [clang-tools-extra] [clang] [compiler-rt] [libc] [llvm] [libcxx] [flang] [mlir] [libc++][hardening] Don't trigger redundant checks in the fast mode. (PR #77176)

2024-01-22 Thread Louis Dionne via cfe-commits
https://github.com/ldionne edited https://github.com/llvm/llvm-project/pull/77176 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libc] [lld] [flang] [mlir] [compiler-rt] [clang] [libcxx] [clang-tools-extra] [llvm] [libc++][hardening] Classify assertions related to leaks and syscalls. (PR #77164)

2024-01-22 Thread Louis Dionne via cfe-commits
https://github.com/ldionne approved this pull request. LGTM. https://github.com/llvm/llvm-project/pull/77164 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [libcxxabi] [lldb] [libcxx] [libc] [llvm] [clang-tools-extra] [libc++] Fix the behavior of throwing `operator new` under -fno-exceptions (PR #69498)

2024-01-22 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/69498 >From 6f89b118ed56ad7a3af1996e19ccd30cc893c51e Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 14 Jun 2023 17:49:22 -0700 Subject: [PATCH 1/8] [libc++] Fix the behavior of throwing `operator new` under

[lld] [lldb] [compiler-rt] [libc] [llvm] [libcxx] [libclc] [flang] [clang-tools-extra] [clang] [libc++] Ensure that `std::expected` has no tail padding (PR #69673)

2024-01-22 Thread Louis Dionne via cfe-commits
Jan =?utf-8?q?Kokemüller?= , Jan =?utf-8?q?Kokemüller?= , Jan =?utf-8?q?Kokemüller?= , Jan =?utf-8?q?Kokemüller?= , Jan =?utf-8?q?Kokemüller?= , Jan =?utf-8?q?Kokemüller?= , Jan =?utf-8?q?Kokemüller?= , Jan =?utf-8?q?Kokemüller?= , Jan =?utf-8?q?Kokemüller?= , Jan =?utf-8?q?Kokemüller?= , Jan

[clang] [CMake][PGO] Add libunwind to list of stage1 runtimes (PR #78869)

2024-01-22 Thread Louis Dionne via cfe-commits
https://github.com/ldionne approved this pull request. https://github.com/llvm/llvm-project/pull/78869 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [CMake] Detect properly new linker introduced in Xcode 15 (PR #77806)

2024-01-19 Thread Louis Dionne via cfe-commits
https://github.com/ldionne closed https://github.com/llvm/llvm-project/pull/77806 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Add option -fstdlib-hardening= (PR #78763)

2024-01-19 Thread Louis Dionne via cfe-commits
@@ -851,6 +851,33 @@ static void InitializePredefinedMacros(const TargetInfo , Twine(getClangFullCPPVersion()) + "\""); // Initialize language-specific preprocessor defines. + if (LangOpts.getLibcxxHardeningMode()) { +const char

[clang] Add option -fstdlib-hardening= (PR #78763)

2024-01-19 Thread Louis Dionne via cfe-commits
@@ -275,6 +275,8 @@ def warn_drv_unknown_argument_clang_cl_with_suggestion : Warning< InGroup; def err_drv_unknown_target_triple : Error<"unknown target triple '%0'">; +def err_drv_stdlib_hardening_unavailable : Error<"libc++ hardening is available only when libc++ is

[clang] Add option -fstdlib-hardening= (PR #78763)

2024-01-19 Thread Louis Dionne via cfe-commits
@@ -281,6 +281,7 @@ LANGOPT(OffloadingNewDriver, 1, 0, "use the new driver for generating offloading LANGOPT(SYCLIsDevice , 1, 0, "Generate code for SYCL device") LANGOPT(SYCLIsHost, 1, 0, "SYCL host compilation") ENUM_LANGOPT(SYCLVersion , SYCLMajorVersion, 2,

[clang] Add option -fstdlib-hardening= (PR #78763)

2024-01-19 Thread Louis Dionne via cfe-commits
https://github.com/ldionne edited https://github.com/llvm/llvm-project/pull/78763 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

  1   2   3   4   5   6   7   >