[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

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

2024-01-19 Thread Louis Dionne via cfe-commits
https://github.com/ldionne commented: This is nice! Tagging a few people who might have opinions on the naming: @nico @kubamracek @AaronBallman Also, @jwakely it would be nice if this worked with libstdc++ as well in the future -- it would probably turn on checks like `__GLIBCXX_ASSERT__`.

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

2024-01-19 Thread Louis Dionne via cfe-commits
@@ -0,0 +1,556 @@ +// RUN: mkdir -p %t +// RUN: %clang++ %s -o %t/run +// RUN: %t/run ldionne wrote: I'm not sure if this is going to work on all configurations, for example when they cross compile. Is there a precedent for these kinds of runtime tests in the

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

2024-01-19 Thread Louis Dionne via cfe-commits
@@ -0,0 +1,556 @@ +// RUN: mkdir -p %t ldionne wrote: Are these files missing a license? https://github.com/llvm/llvm-project/pull/75371 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [libc++] fix _Atomic c11 compare exchange does not update expected results (PR #78707)

2024-01-19 Thread Louis Dionne via cfe-commits
@@ -408,7 +409,15 @@ static void emitAtomicCmpXchg(CodeGenFunction , AtomicExpr *E, bool IsWeak, CGF.Builder.SetInsertPoint(StoreExpectedBB); // Update the memory at Expected with Old's value. - CGF.Builder.CreateStore(Old, Val1); + + llvm::Type *ExpectedType =

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

2024-01-18 Thread Louis Dionne via cfe-commits
ldionne wrote: The CI failures seem unrelated. I'll merge when the hidden e-mail address issue has been resolved. https://github.com/llvm/llvm-project/pull/77806 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

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

2024-01-18 Thread Louis Dionne via cfe-commits
https://github.com/ldionne edited https://github.com/llvm/llvm-project/pull/69498 ___ 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-18 Thread Louis Dionne via cfe-commits
https://github.com/ldionne edited 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] [llvm] [CMake] Detect properly new linker introduced in Xcode 15 (PR #77806)

2024-01-17 Thread Louis Dionne via cfe-commits
https://github.com/ldionne approved this pull request. 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] [llvm] [CMake] Detect properly new linker introduced in Xcode 15 (PR #77806)

2024-01-17 Thread Louis Dionne via cfe-commits
@@ -211,10 +211,10 @@ if (NOT DEFINED LLVM_LINKER_DETECTED AND NOT WIN32) ) if(APPLE) -if("${stderr}" MATCHES "PROJECT:ld64") +if("${stderr}" MATCHES "PROGRAM:ld") ldionne wrote: Ahhh, now this all makes sense! I hadn't noticed that you

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

2024-01-16 Thread Louis Dionne via cfe-commits
@@ -211,10 +211,10 @@ if (NOT DEFINED LLVM_LINKER_DETECTED AND NOT WIN32) ) if(APPLE) -if("${stderr}" MATCHES "PROJECT:ld64") +if("${stderr}" MATCHES "PROGRAM:ld") ldionne wrote: I'm not certain I understand -- isn't this patch missing

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

2024-01-16 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/7] [libc++] Fix the behavior of throwing `operator new` under

[libcxx] [clang] [libc++] Re-enable the clang_modules_include test for Objective-C++ (PR #66801)

2024-01-16 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/66801 >From f056692eff4cc4ee9315a40a32ddd025be5d7e8d Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 23 Aug 2023 22:23:17 -0400 Subject: [PATCH 1/2] [libc++] Re-enable the clang_modules_include test for

[clang] [libcxx] [libc++] Re-enable the clang_modules_include test for Objective-C++ (PR #66801)

2024-01-16 Thread Louis Dionne via cfe-commits
ldionne wrote: Thanks folks! I rebased and I'm re-running the CI. I'll merge once it's green. https://github.com/llvm/llvm-project/pull/66801 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[libcxx] [clang] [libc++] Re-enable the clang_modules_include test for Objective-C++ (PR #66801)

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

[libcxx] [clang] [libc++] Re-enable the clang_modules_include test for Objective-C++ (PR #66801)

2024-01-16 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/66801 >From f056692eff4cc4ee9315a40a32ddd025be5d7e8d Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 23 Aug 2023 22:23:17 -0400 Subject: [PATCH] [libc++] Re-enable the clang_modules_include test for

[libunwind] [libunwind] Move errno.h and signal.h includes under the block where they're needed (PR #78054)

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

[clang] [clang][Darwin] Remove legacy framework search path logic in the frontend (PR #75841)

2024-01-16 Thread Louis Dionne via cfe-commits
ldionne wrote: Ping. I don't know how to fix the issue, I need some help. https://github.com/llvm/llvm-project/pull/75841 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libunwind] [libunwind][WebAssembly] Fix libunwind.cpp guard (PR #78230)

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

[libunwind] [libunwind][WebAssembly] Fix libunwind.cpp guard (PR #78230)

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

[openmp] [llvm] [libcxx] [mlir] [libcxxabi] [lld] [compiler-rt] [clang] [runtimes] Use LLVM libunwind from libc++abi by default (PR #77687)

2024-01-16 Thread Louis Dionne via cfe-commits
ldionne wrote: That means that based on whether `LLVM_ENABLE_RUNTIMES=libunwind` happens to be set or not, you'd use a fundamentally different unwinding library which implies a different ABI. It's convenient, but isn't that too subtle? https://github.com/llvm/llvm-project/pull/77687

[lld] [clang] [mlir] [openmp] [libcxx] [compiler-rt] [llvm] [libcxxabi] [runtimes] Use LLVM libunwind from libc++abi by default (PR #77687)

2024-01-15 Thread Louis Dionne via cfe-commits
ldionne wrote: > @petrhosek @ldionne would it be better detect libunwind in > LLVM_ENABLE_RUNTIMES? I added a check in CMake here: https://github.com/llvm/llvm-project/pull/77991. The error message should now be clearer than previously. https://github.com/llvm/llvm-project/pull/77687

[libunwind] [libunwind] Move errno.h and signal.h includes under the block where they're needed (PR #78054)

2024-01-13 Thread Louis Dionne via cfe-commits
ldionne wrote: CC @ajordanr-google By the way, I noticed that you checked the "hide my email address" Github feature, which leads to your commits being authored as `Jordan R AW <103465530+ajordanr-goo...@users.noreply.github.com>`. Please uncheck that, we strive to make it easy to track who

[libunwind] [libunwind] Move errno.h and signal.h includes under the block where they're needed (PR #78054)

2024-01-13 Thread Louis Dionne via cfe-commits
https://github.com/ldionne created https://github.com/llvm/llvm-project/pull/78054 Commit fc1c478709e3 added includes of and to UnwindCursor.hpp. The library previously built on platforms where these headers are not provided. These headers should be included only in the case where they are

[clang] [llvm] [lld] [libcxx] [openmp] [mlir] [libc++] Deprecate the _LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS macro (PR #77692)

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

[llvm] [lld] [clang] [libcxx] [mlir] [openmp] [libc++] Deprecate the _LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS macro (PR #77692)

2024-01-11 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/77692 >From 6b3fd86a9949458410895a2292db935665a2ab77 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 10 Jan 2024 15:23:47 -0500 Subject: [PATCH 1/3] [libc++] Deprecate the

[llvm] [mlir] [compiler-rt] [clang] [openmp] [libcxx] [libcxxabi] [lld] [runtimes] Use LLVM libunwind from libc++abi by default (PR #77687)

2024-01-11 Thread Louis Dionne via cfe-commits
ldionne wrote: @vitalybuka This seems to have broken the ASAN and HWASAN builds here: https://lab.llvm.org/buildbot/#/builders/236/builds/8629/steps/8/logs/stdio https://lab.llvm.org/buildbot/#/builders/168/builds/17965/steps/8/logs/stdio My understanding is that we'd now need to either

[llvm] [clang] [lld] [libcxx] [openmp] [mlir] [libc++] Deprecate the _LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS macro (PR #77692)

2024-01-11 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/77692 >From 6b3fd86a9949458410895a2292db935665a2ab77 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 10 Jan 2024 15:23:47 -0500 Subject: [PATCH 1/2] [libc++] Deprecate the

[mlir] [llvm] [openmp] [compiler-rt] [libcxxabi] [lld] [libcxx] [clang] [runtimes] Use LLVM libunwind from libc++abi by default (PR #77687)

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

[clang] [clang][Darwin] Remove legacy framework search path logic in the frontend (PR #75841)

2024-01-11 Thread Louis Dionne via cfe-commits
ldionne wrote: No, I would like to reproduce locally. https://github.com/llvm/llvm-project/pull/75841 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[mlir] [clang] [openmp] [lld] [compiler-rt] [libcxx] [llvm] [libcxxabi] [runtimes] Use LLVM libunwind from libc++abi by default (PR #77687)

2024-01-10 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/77687 >From 6235f49146292293a5ad45bd22f4d7f67d69a241 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 10 Jan 2024 15:56:48 -0500 Subject: [PATCH 1/3] [runtimes] Use LLVM libunwind from libc++abi and compiler-rt

[mlir] [clang] [openmp] [lld] [llvm] [libcxx] [libc++] Deprecate the _LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS macro (PR #77692)

2024-01-10 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/77692 >From 6b3fd86a9949458410895a2292db935665a2ab77 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 10 Jan 2024 15:23:47 -0500 Subject: [PATCH] [libc++] Deprecate the

[compiler-rt] [libc] [flang] [llvm] [libcxx] [clang-tools-extra] [clang] [libc++][format] P2637R3: Member `visit` (`std::basic_format_arg`) (PR #76449)

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

[lldb] [libcxx] [clang-tools-extra] [libcxxabi] [mlir] [flang] [libc] [lld] [libclc] [libunwind] [llvm] [openmp] [compiler-rt] [clang] [libc++][ranges] Implement ranges::contains_subrange (PR #66963)

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

[lldb] [libcxx] [clang-tools-extra] [flang] [libc] [lld] [llvm] [compiler-rt] [clang] [libc++][variant] P2637R3: Member `visit` (`std::variant`) (PR #76447)

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

[compiler-rt] [libc] [flang] [llvm] [libcxx] [clang-tools-extra] [lld] [lldb] [clang] [libc++][ranges] P2116R9: Implements `views::enumerate` (PR #73617)

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

[clang] [Clang][C++26] Implement Pack Indexing (P2662R3). (PR #72644)

2024-01-10 Thread Louis Dionne via cfe-commits
@@ -978,6 +978,20 @@ bool Parser::ConsumeAndStoreFunctionPrologue(CachedTokens ) { } else { break; } + // Pack indexing + if (getLangOpts().CPlusPlus26 && Tok.is(tok::ellipsis) && ldionne wrote: I think it might be possible to

[clang] [Clang][C++26] Implement Pack Indexing (P2662R3). (PR #72644)

2024-01-10 Thread Louis Dionne via cfe-commits
@@ -978,6 +978,20 @@ bool Parser::ConsumeAndStoreFunctionPrologue(CachedTokens ) { } else { break; } + // Pack indexing + if (getLangOpts().CPlusPlus26 && Tok.is(tok::ellipsis) && ldionne wrote: @philnik777 This would require

[llvm] [libunwind] [libcxx] [libc++] Allow running the test suite with optimizations (PR #68753)

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

[llvm] [libcxx] [libunwind] [libc++] Allow running the test suite with optimizations (PR #68753)

2024-01-08 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/68753 >From 66c95807524dc8371c83e80d6f4ba58056f455af Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Tue, 10 Oct 2023 16:35:11 -0700 Subject: [PATCH 1/2] [libc++] Allow running the test suite with optimizations

[libcxx] [llvm] [libunwind] [libc++] Allow running the test suite with optimizations (PR #68753)

2024-01-08 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/68753 >From 66c95807524dc8371c83e80d6f4ba58056f455af Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Tue, 10 Oct 2023 16:35:11 -0700 Subject: [PATCH] [libc++] Allow running the test suite with optimizations This

[clang] [clang][Darwin] Remove legacy framework search path logic in the frontend (PR #75841)

2024-01-08 Thread Louis Dionne via cfe-commits
ldionne wrote: @aeubanks @petrhosek Can you folks share what was the top level invocations you did to get those errors? I am having trouble understanding the problem just from the pasted errors. https://github.com/llvm/llvm-project/pull/75841 ___

[clang] [clang][Darwin] Remove legacy framework search path logic in the frontend (PR #75841)

2023-12-31 Thread Louis Dionne via cfe-commits
https://github.com/ldionne closed https://github.com/llvm/llvm-project/pull/75841 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Darwin] Remove legacy framework search path logic in the frontend (PR #75841)

2023-12-31 Thread Louis Dionne via cfe-commits
ldionne wrote: I think this can be merged. I would have liked to have @jlebar 's input on interactions with Cuda, but I think this is probably good enough. https://github.com/llvm/llvm-project/pull/75841 ___ cfe-commits mailing list

[libunwind] [libunwind] Use -nostdlib++ when linking libunwind (PR #75646)

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

[clang] [clang][Darwin] Remove legacy framework search path logic in the frontend (PR #75841)

2023-12-18 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/75841 >From ca2a85880cec704225c0b1d5241cf299d5dcad41 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Mon, 18 Dec 2023 12:53:23 -0500 Subject: [PATCH 1/2] [clang][Darwin] Remove legacy framework search path logic in

[clang] [clang][Darwin] Remove legacy framework search path logic in the frontend (PR #75841)

2023-12-18 Thread Louis Dionne via cfe-commits
ldionne wrote: @jlebar The CI seems to be failing due to a test you were the last to touch: ``` TEST 'Clang :: Preprocessor/cuda-macos-includes.cu' FAILED Exit Code: 1 Command Output (stderr): -- [...] error: CHECK-DAG: expected string not found in

[clang] [clang][Darwin] Remove legacy framework search path logic in the frontend (PR #75841)

2023-12-18 Thread Louis Dionne via cfe-commits
@@ -758,9 +758,14 @@ void darwin::Linker::ConstructJob(Compilation , const JobAction , } } - // Add non-standard, platform-specific search paths, e.g., for DriverKit: - // -L/System/DriverKit/usr/lib - // -F/System/DriverKit/System/Library/Framework + // Add

[clang] [clang][Darwin] Remove legacy framework search path logic in the frontend (PR #75841)

2023-12-18 Thread Louis Dionne via cfe-commits
@@ -758,9 +758,14 @@ void darwin::Linker::ConstructJob(Compilation , const JobAction , } } - // Add non-standard, platform-specific search paths, e.g., for DriverKit: - // -L/System/DriverKit/usr/lib - // -F/System/DriverKit/System/Library/Framework + // Add

[clang] [clang][Darwin] Remove legacy framework search path logic in the frontend (PR #75841)

2023-12-18 Thread Louis Dionne via cfe-commits
https://github.com/ldionne created https://github.com/llvm/llvm-project/pull/75841 This removes a long standing piece of technical debt. Most other platforms have moved all their header search path logic to the driver, but Darwin still had some logic for setting framework search paths present

[libunwind] [libunwind] Use -nostdlib++ when linking libunwind (PR #75646)

2023-12-18 Thread Louis Dionne via cfe-commits
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/75646 >From c5ff17c24afba4b44e45894452c733fef0183fb0 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Fri, 15 Dec 2023 14:14:44 -0500 Subject: [PATCH 1/2] [libunwind] Use -nostdlib++ when linking libunwind We

[libunwind] [libunwind] Use -nostdlib++ when linking libunwind (PR #75646)

2023-12-15 Thread Louis Dionne via cfe-commits
https://github.com/ldionne created https://github.com/llvm/llvm-project/pull/75646 We shouldn't need to link against libc++ or libc++abi when building libunwind, since that would otherwise be a circular dependency. >From c5ff17c24afba4b44e45894452c733fef0183fb0 Mon Sep 17 00:00:00 2001 From:

[clang] [llvm] [mlir] [libc] [flang] [libcxx] [libc++][memory] P1132R8: out_ptr - a scalable output pointer abstraction (PR #73618)

2023-12-14 Thread Louis Dionne via cfe-commits
@@ -0,0 +1,97 @@ +// -*- C++ -*- +//===--===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +//

[flang] [libcxx] [mlir] [llvm] [libc] [clang] [libc++][memory] P1132R8: out_ptr - a scalable output pointer abstraction (PR #73618)

2023-12-14 Thread Louis Dionne via cfe-commits
@@ -0,0 +1,159 @@ +//===--===// ldionne wrote: Nit: these test names are a bit hard to read, I would suggest `out_ptr.general.pass.cp`, `out_ptr_t.convert.pass.cpp`, etc.

[mlir] [libcxx] [clang] [llvm] [flang] [libc] [libc++][memory] P1132R8: out_ptr - a scalable output pointer abstraction (PR #73618)

2023-12-14 Thread Louis Dionne via cfe-commits
@@ -0,0 +1,102 @@ +// -*- C++ -*- +//===--===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +//

[libc] [clang] [mlir] [flang] [libcxx] [llvm] [libc++][memory] P1132R8: out_ptr - a scalable output pointer abstraction (PR #73618)

2023-12-14 Thread Louis Dionne via cfe-commits
@@ -0,0 +1,97 @@ +// -*- C++ -*- +//===--===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +//

[llvm] [libc] [flang] [libcxx] [mlir] [clang] [libc++][memory] P1132R8: out_ptr - a scalable output pointer abstraction (PR #73618)

2023-12-14 Thread Louis Dionne via cfe-commits
@@ -0,0 +1,102 @@ +// -*- C++ -*- +//===--===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +//

[libcxx] [llvm] [clang] [libc] [flang] [mlir] [libc++][memory] P1132R8: out_ptr - a scalable output pointer abstraction (PR #73618)

2023-12-14 Thread Louis Dionne via cfe-commits
@@ -0,0 +1,97 @@ +// -*- C++ -*- +//===--===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +//

<    1   2   3   4   5   6   7   >