[clang] [SystemZ][z/OS] Implement _Export keyword (PR #140944)

2025-05-21 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: > For reference, the XL documentation for _Export: > https://www.ibm.com/docs/en/zos/3.1.0?topic=specifiers-export-function-specifier-c-only @perry-ca, additional context from https://www.ibm.com/docs/en/zos/3.1.0?topic=qualifiers-export-qualifier-c-only would he

[clang] [clang][Driver][test][NFC] Adjust test for targets with no cc1as (PR #140490)

2025-05-19 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast closed https://github.com/llvm/llvm-project/pull/140490 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Driver][test][NFC] Adjust test for targets with no cc1as (PR #140490)

2025-05-18 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: This PR addresses the failure seen in https://lab.llvm.org/buildbot/#/builders/64/builds/3661/steps/6/logs/FAIL__Clang__no-integrated-cpp_c. https://github.com/llvm/llvm-project/pull/140490 ___ cfe-commits mailing list cf

[clang] [clang][Driver][test][NFC] Adjust test for targets with no cc1as (PR #140490)

2025-05-18 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast created https://github.com/llvm/llvm-project/pull/140490 Have the test accept use of the toolchain assembler instead of `-cc1as` as some targets, such as AIX, do not use `-cc1as`. >From c10943474ca69b70464a99c877c6ef862f705a91 Mon Sep 17 00:00:00 2001

[clang] [SystemZ][z/OS] Add visibility features for z/OS (eg. _Export, pragma export) (PR #111035)

2025-05-09 Thread Hubert Tong via cfe-commits
@@ -4504,6 +4504,11 @@ void Parser::ParseDeclarationSpecifiers( isInvalid = DS.setFunctionSpecNoreturn(Loc, PrevSpec, DiagID); break; +case tok::kw__Export: + // We're done with the declaration-specifiers. + goto DoneWithDeclSpec; hub

[clang] [clang] Constant-evaluate format strings as last resort (PR #135864)

2025-05-07 Thread Hubert Tong via cfe-commits
@@ -238,3 +246,69 @@ void f(Scoped1 S1, Scoped2 S2) { } #endif + +#if __cplusplus >= 202000L +class my_string { + char *data; + unsigned size; + +public: + template + constexpr my_string(const char (&literal)[N]) { +data = new char[N+1]; +for (size = 0; size < N; +

[clang] [llvm] [Clang][C++23] Core language changes from P1467R9 extended floating-point types and standard names. (PR #78503)

2025-04-22 Thread Hubert Tong via cfe-commits
@@ -132,6 +133,70 @@ template <> struct llvm::DenseMapInfo { return LHS == RHS; } }; +constexpr unsigned CXX23FloatRankToIndex(clang::BuiltinType::Kind Kind) { + switch (Kind) { + case clang::BuiltinType::Float16: +return 0; + case clang::BuiltinType::BFloat16: +

[clang] [clang] Constant-evaluate format strings as last resort (PR #135864)

2025-04-22 Thread Hubert Tong via cfe-commits
=?utf-8?q?Félix?= Cloutier , =?utf-8?q?Félix?= Cloutier Message-ID: In-Reply-To: https://github.com/hubert-reinterpretcast edited https://github.com/llvm/llvm-project/pull/135864 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.l

[clang] [clang] Constant-evaluate format strings as last resort (PR #135864)

2025-04-22 Thread Hubert Tong via cfe-commits
=?utf-8?q?F=C3=A9lix?= Cloutier , =?utf-8?q?F=C3=A9lix?= Cloutier Message-ID: In-Reply-To: @@ -10170,6 +10170,8 @@ def warn_format_bool_as_character : Warning< "using '%0' format specifier, but argument has boolean value">, InGroup; def note_format_string_defined : Note<

[clang] [clang][Driver] Support passing arbitrary args to `-cc1as` with `-Xclangas`. (PR #100714)

2025-04-22 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: Passing `-integrated-as` does not help because it is used on AIX to control whether object files are generated directly or not (for C/C++ source). > Or should we just outright disable the test on AIX (and perhaps other > affected platforms)? XFAIL would be good.

[clang] [clang][Driver] Support passing arbitrary args to `-cc1as` with `-Xclangas`. (PR #100714)

2025-04-22 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: @alexrp, the test added fails on AIX: https://lab.llvm.org/buildbot/#/builders/64/builds/3074 Clang on AIX does not use the integrated assembler for assembly files. https://github.com/llvm/llvm-project/pull/100714 ___ cfe

[clang] [Clang] Add support for GCC bound member functions extension (PR #135649)

2025-04-21 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: > IIRC this feature is orthogonal to GCC bound member functions. `declcall` > with a virtual method just returns a pmf, and we still need to perform vtable > lookup at the callsite: https://compiler-explorer.com/z/YrT3nPTEz Try `declcall(p->B::virtual_method())`?:

[clang] [Clang] Add support for GCC bound member functions extension (PR #135649)

2025-04-21 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: > We used this extension to improve virtual function calling performance, there > are simple and small virtual functions which are frequently called and can > not be eliminated and it is in a delegation thus compiler can not optimize. > > [toplingdb](https://githu

[clang] [clang] Constant-evaluate format strings as last resort (PR #135864)

2025-04-16 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast edited https://github.com/llvm/llvm-project/pull/135864 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Constant-evaluate format strings as last resort (PR #135864)

2025-04-15 Thread Hubert Tong via cfe-commits
@@ -238,3 +246,69 @@ void f(Scoped1 S1, Scoped2 S2) { } #endif + +#if __cplusplus >= 202000L +class my_string { + char *data; + unsigned size; + +public: + template + constexpr my_string(const char (&literal)[N]) { +data = new char[N+1]; +for (size = 0; size < N; +

[clang] [clang] Constant-evaluate format strings as last resort (PR #135864)

2025-04-15 Thread Hubert Tong via cfe-commits
@@ -10170,6 +10170,8 @@ def warn_format_bool_as_character : Warning< "using '%0' format specifier, but argument has boolean value">, InGroup; def note_format_string_defined : Note<"format string is defined here">; +def note_format_string_evaluated_to : Note< + "format stri

[clang] [C99] Remove the tgmath.h header (PR #135236)

2025-04-10 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: > We could add a builtin matching the GCC `__builtin_tgmath` builtin and remove > our header for at least those targets, though. Clang would either need to change its `__GNUC__` value or the glibc header would need to add a `__has_builtin` query. Oddly enough, `__

[clang] [C99] Remove the tgmath.h header (PR #135236)

2025-04-10 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: Does it make sense to keep the tests for all platforms then? If we decide to restrict the testing to the platforms expected to use the Clang-provided header, then I think it should at least be staged so that there is some CI cycle where the tests are run regardles

[clang] [C99] Remove the tgmath.h header (PR #135236)

2025-04-10 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: > I wonder if we can put it into an AIX-only (plus whatever other targets still > need it) include directory, though, so we only find and use it on the targets > where it's necessary? That, or, generally `#include_next` except for certain platforms (like AIX)? ht

[clang] [C99] Remove the tgmath.h header (PR #135236)

2025-04-10 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: > Thank you for pointing that out! So IBM still needs Clang to vend this for > now, I take it? Is IBM planning to update their tgmath.h so that it works > with the Clang-based XL compiler (so we can eventually remove Clang's)? The road to being able to retain the

[clang] [C99] Remove the tgmath.h header (PR #135236)

2025-04-10 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: > Today, that's no longer the case. IBM's AIX ships a `tgmath.h` that only works with the IBM non-Clang-based XL compiler. https://github.com/llvm/llvm-project/pull/135236 ___ cfe-commits mailing list cfe-commits@lists.l

[clang] [SystemZ][z/OS] Add visibility features for z/OS (eg. _Export, pragma export) (PR #111035)

2025-04-05 Thread Hubert Tong via cfe-commits
@@ -4456,6 +4456,12 @@ void Parser::ParseDeclarationSpecifiers( isInvalid = DS.setFunctionSpecNoreturn(Loc, PrevSpec, DiagID); break; +case tok::kw__Export: + // If we find kw__Export, it is being applied to a var or function + // This will be handled

[clang] [PowerPC] Update altivec.h to use __inline__ for c89 compatibility (PR #134430)

2025-04-04 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast edited https://github.com/llvm/llvm-project/pull/134430 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [PowerPC] Update altivec.h to use __inline__ for c89 compatibility (PR #134430)

2025-04-04 Thread Hubert Tong via cfe-commits
@@ -1,6 +1,7 @@ // RUN: %clang_cc1 -triple powerpc64-unknown-unknown -target-feature +altivec -ffreestanding -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -triple powerpc64-unknown-unknown -target-feature +altivec -ffreestanding -emit-llvm -flax-vector-conversions=none

[clang] [PowerPC] Update altivec.h to use __inline__ for c89 compatibility (PR #134430)

2025-04-04 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast approved this pull request. LGTM with a suggestion. https://github.com/llvm/llvm-project/pull/134430 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-c

[clang] [Driver] Add linker options to support statical linking to shared flang-rt on AIX. (PR #131822)

2025-03-30 Thread Hubert Tong via cfe-commits
@@ -127,9 +127,19 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA, } // Force static linking when "-static" is present. - if (Args.hasArg(options::OPT_static)) + if (Args.hasArg(options::OPT_static)) { CmdArgs.push_back("-bnso"); +if (D.

[clang] [Driver] Add linker options to support statical linking to shared flang-rt on AIX. (PR #131822)

2025-03-30 Thread Hubert Tong via cfe-commits
@@ -127,9 +127,19 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA, } // Force static linking when "-static" is present. - if (Args.hasArg(options::OPT_static)) + if (Args.hasArg(options::OPT_static)) { CmdArgs.push_back("-bnso"); +if (D.

[clang] [Driver] Add linker options to support statical linking to shared flang-rt on AIX. (PR #131822)

2025-03-29 Thread Hubert Tong via cfe-commits
@@ -127,9 +127,19 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA, } // Force static linking when "-static" is present. - if (Args.hasArg(options::OPT_static)) + if (Args.hasArg(options::OPT_static)) { CmdArgs.push_back("-bnso"); +if (D.

[clang] [SystemZ][z/OS] Add visibility features for z/OS (eg. _Export, pragma export) (PR #111035)

2025-03-24 Thread Hubert Tong via cfe-commits
@@ -0,0 +1,5 @@ +// REQUIRES: systemz-registered-target hubert-reinterpretcast wrote: Should there be diagnostics (and corresponding testing) for ignored/meaningless uses of `_Export`? e.g., ```cpp typedef int _Export ty; ty x; int f(int _Export x); static int

[clang] [Clang driver] Diagnose `-maix-shared-lib-tls-model-opt` on wrong targets (PR #130865)

2025-03-15 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast closed https://github.com/llvm/llvm-project/pull/130865 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang codegen][PPC] Produce AIX-specific "target features" only for AIX (PR #130864)

2025-03-13 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast closed https://github.com/llvm/llvm-project/pull/130864 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang driver] Diagnose `-maix-shared-lib-tls-model-opt` on wrong targets (PR #130865)

2025-03-13 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast updated https://github.com/llvm/llvm-project/pull/130865 >From 45827d5b7e0f98f52280191d79d72a5698adb312 Mon Sep 17 00:00:00 2001 From: Hubert Tong Date: Sun, 9 Mar 2025 21:44:53 -0400 Subject: [PATCH] [Clang driver] Diagnose -maix-shared-lib-tls-model-o

[clang] [Clang driver] Diagnose `-maix-shared-lib-tls-model-opt` on wrong targets (PR #130865)

2025-03-13 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast edited https://github.com/llvm/llvm-project/pull/130865 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Add clang atomic control options and attribute (PR #114841)

2025-02-24 Thread Hubert Tong via cfe-commits
@@ -5442,6 +5442,155 @@ third argument, can only occur at file scope. a = b[i] * c[i] + e; } +Extensions for controlling atomic code generation += + +The ``[[clang::atomic]]`` statement attribute enables users to control ho

[clang] Add clang atomic control options and attribute (PR #114841)

2025-02-24 Thread Hubert Tong via cfe-commits
@@ -5442,6 +5442,155 @@ third argument, can only occur at file scope. a = b[i] * c[i] + e; } +Extensions for controlling atomic code generation += + +The ``[[clang::atomic]]`` statement attribute enables users to control ho

[clang] Add clang atomic control options and attribute (PR #114841)

2025-02-24 Thread Hubert Tong via cfe-commits
@@ -5442,6 +5442,155 @@ third argument, can only occur at file scope. a = b[i] * c[i] + e; } +Extensions for controlling atomic code generation += + +The ``[[clang::atomic]]`` statement attribute enables users to control ho

[clang] Add clang atomic control options and attribute (PR #114841)

2025-02-24 Thread Hubert Tong via cfe-commits
@@ -5442,6 +5442,155 @@ third argument, can only occur at file scope. a = b[i] * c[i] + e; } +Extensions for controlling atomic code generation += + +The ``[[clang::atomic]]`` statement attribute enables users to control ho

[clang] Add clang atomic control options and attribute (PR #114841)

2025-02-24 Thread Hubert Tong via cfe-commits
@@ -5442,6 +5442,155 @@ third argument, can only occur at file scope. a = b[i] * c[i] + e; } +Extensions for controlling atomic code generation += + +The ``[[clang::atomic]]`` statement attribute enables users to control ho

[clang] Add clang atomic control options and attribute (PR #114841)

2025-02-24 Thread Hubert Tong via cfe-commits
@@ -5442,6 +5442,155 @@ third argument, can only occur at file scope. a = b[i] * c[i] + e; } +Extensions for controlling atomic code generation += + +The ``[[clang::atomic]]`` statement attribute enables users to control ho

[clang] Add clang atomic control options and attribute (PR #114841)

2025-02-24 Thread Hubert Tong via cfe-commits
@@ -5442,6 +5442,155 @@ third argument, can only occur at file scope. a = b[i] * c[i] + e; } +Extensions for controlling atomic code generation += + +The ``[[clang::atomic]]`` statement attribute enables users to control ho

[clang] Add clang atomic control options and attribute (PR #114841)

2025-02-24 Thread Hubert Tong via cfe-commits
@@ -132,6 +132,12 @@ Attribute Changes in Clang This forces the global to be considered small or large in regards to the x86-64 code model, regardless of the code model specified for the compilation. +- Introduced a new statement attribute ``[[clang::atomic]]`` that enabl

[clang] Add clang atomic control options and attribute (PR #114841)

2025-02-24 Thread Hubert Tong via cfe-commits
@@ -5442,6 +5442,155 @@ third argument, can only occur at file scope. a = b[i] * c[i] + e; } +Extensions for controlling atomic code generation += + +The ``[[clang::atomic]]`` statement attribute enables users to control ho

[clang] Add clang atomic control options and attribute (PR #114841)

2025-02-24 Thread Hubert Tong via cfe-commits
@@ -5442,6 +5442,155 @@ third argument, can only occur at file scope. a = b[i] * c[i] + e; } +Extensions for controlling atomic code generation += + +The ``[[clang::atomic]]`` statement attribute enables users to control ho

[clang] Add clang atomic control options and attribute (PR #114841)

2025-02-24 Thread Hubert Tong via cfe-commits
@@ -5442,6 +5442,155 @@ third argument, can only occur at file scope. a = b[i] * c[i] + e; } +Extensions for controlling atomic code generation += + +The ``[[clang::atomic]]`` statement attribute enables users to control ho

[clang] Add clang atomic control options and attribute (PR #114841)

2025-02-24 Thread Hubert Tong via cfe-commits
@@ -5442,6 +5442,155 @@ third argument, can only occur at file scope. a = b[i] * c[i] + e; } +Extensions for controlling atomic code generation += + +The ``[[clang::atomic]]`` statement attribute enables users to control ho

[clang] Add clang atomic control options and attribute (PR #114841)

2025-02-24 Thread Hubert Tong via cfe-commits
@@ -5442,6 +5442,155 @@ third argument, can only occur at file scope. a = b[i] * c[i] + e; } +Extensions for controlling atomic code generation += + +The ``[[clang::atomic]]`` statement attribute enables users to control ho

[clang] Add clang atomic control options and attribute (PR #114841)

2025-02-24 Thread Hubert Tong via cfe-commits
@@ -5442,6 +5442,155 @@ third argument, can only occur at file scope. a = b[i] * c[i] + e; } +Extensions for controlling atomic code generation += + +The ``[[clang::atomic]]`` statement attribute enables users to control ho

[clang] [profile] Add a clang option -fprofile-continuous that enables continuous instrumentation profiling mode (PR #124353)

2025-02-08 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast commented: @w2yehia, I suggest adding an update to the Release Notes sooner rather than later: https://github.com/llvm/llvm-project/blob/main/clang/docs/ReleaseNotes.rst https://github.com/llvm/llvm-project/pull/124353 _

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
@@ -1120,3 +1120,18 @@ // RUN:-c \ // RUN: | FileCheck --check-prefixes=CHECK-K-UNUSED %s // CHECK-K-UNUSED: clang: warning: -K: 'linker' input unused [-Wunused-command-line-argument] + +// Check No Sanitizer on 32-bit AIX +// This test verifies that the linker doesn

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast edited https://github.com/llvm/llvm-project/pull/125388 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast edited https://github.com/llvm/llvm-project/pull/125388 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
@@ -338,6 +338,13 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("-lpthread"); } const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath()); + +// Required for 64-bit atomic operations used in sanitizer runtimes +//

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast edited https://github.com/llvm/llvm-project/pull/125388 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast edited https://github.com/llvm/llvm-project/pull/125388 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
@@ -338,6 +338,13 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("-lpthread"); } const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath()); + +// Required for 64-bit atomic operations used in sanitizer runtimes +//

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
@@ -338,6 +338,13 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("-lpthread"); } const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath()); + +// Required for 64-bit atomic operations used in sanitizer runtimes +//

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
@@ -338,6 +338,13 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("-lpthread"); } const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath()); + +// Required for 64-bit atomic operations used in sanitizer runtimes +//

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast edited https://github.com/llvm/llvm-project/pull/125388 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast requested changes to this pull request. @honeygoyal, I do not believe that the prerequisite changes from IBM's downstream are present to support the Clang driver test being added in this PR. https://github.com/llvm/llvm-project/pull/125388

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
@@ -1120,3 +1120,19 @@ // RUN:-c \ // RUN: | FileCheck --check-prefixes=CHECK-K-UNUSED %s // CHECK-K-UNUSED: clang: warning: -K: 'linker' input unused [-Wunused-command-line-argument] + +// Check No Sanitizer on 32-bit AIX +// RUN: %clang -target powerpc-ibm-aix -m32

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast requested changes to this pull request. https://github.com/llvm/llvm-project/pull/125388 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
@@ -1120,3 +1120,19 @@ // RUN:-c \ // RUN: | FileCheck --check-prefixes=CHECK-K-UNUSED %s // CHECK-K-UNUSED: clang: warning: -K: 'linker' input unused [-Wunused-command-line-argument] + +// Check No Sanitizer on 32-bit AIX +// RUN: %clang -target powerpc-ibm-aix -m32

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
@@ -1120,3 +1120,19 @@ // RUN:-c \ // RUN: | FileCheck --check-prefixes=CHECK-K-UNUSED %s // CHECK-K-UNUSED: clang: warning: -K: 'linker' input unused [-Wunused-command-line-argument] + +// Check No Sanitizer on 32-bit AIX +// RUN: %clang -target powerpc-ibm-aix -m32

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
@@ -1120,3 +1120,19 @@ // RUN:-c \ // RUN: | FileCheck --check-prefixes=CHECK-K-UNUSED %s // CHECK-K-UNUSED: clang: warning: -K: 'linker' input unused [-Wunused-command-line-argument] + +// Check No Sanitizer on 32-bit AIX +// RUN: %clang -target powerpc-ibm-aix -m32

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
@@ -1120,3 +1120,19 @@ // RUN:-c \ // RUN: | FileCheck --check-prefixes=CHECK-K-UNUSED %s // CHECK-K-UNUSED: clang: warning: -K: 'linker' input unused [-Wunused-command-line-argument] + +// Check No Sanitizer on 32-bit AIX +// RUN: %clang -target powerpc-ibm-aix -m32

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-06 Thread Hubert Tong via cfe-commits
@@ -1120,3 +1120,19 @@ // RUN:-c \ // RUN: | FileCheck --check-prefixes=CHECK-K-UNUSED %s // CHECK-K-UNUSED: clang: warning: -K: 'linker' input unused [-Wunused-command-line-argument] + +// Check No Sanitizer on 32-bit AIX +// RUN: %clang -target powerpc-ibm-aix -m32

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-03 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast edited https://github.com/llvm/llvm-project/pull/125388 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-03 Thread Hubert Tong via cfe-commits
@@ -1121,20 +1121,24 @@ // RUN: | FileCheck --check-prefixes=CHECK-K-UNUSED %s // CHECK-K-UNUSED: clang: warning: -K: 'linker' input unused [-Wunused-command-line-argument] + +// This check is only applicable to AIX targets. +// AIX-specific link behavior requires `-latomi

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-03 Thread Hubert Tong via cfe-commits
@@ -1121,20 +1121,24 @@ // RUN: | FileCheck --check-prefixes=CHECK-K-UNUSED %s // CHECK-K-UNUSED: clang: warning: -K: 'linker' input unused [-Wunused-command-line-argument] + +// This check is only applicable to AIX targets. +// AIX-specific link behavior requires `-latomi

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-03 Thread Hubert Tong via cfe-commits
@@ -1120,3 +1120,21 @@ // RUN:-c \ // RUN: | FileCheck --check-prefixes=CHECK-K-UNUSED %s // CHECK-K-UNUSED: clang: warning: -K: 'linker' input unused [-Wunused-command-line-argument] + +// Check No Sanitizer on 32-bit AIX +// RUN: %if target={{.*aix.*}} %{ \ +// RUN

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-03 Thread Hubert Tong via cfe-commits
@@ -1120,3 +1120,21 @@ // RUN:-c \ // RUN: | FileCheck --check-prefixes=CHECK-K-UNUSED %s // CHECK-K-UNUSED: clang: warning: -K: 'linker' input unused [-Wunused-command-line-argument] + +// Check No Sanitizer on 32-bit AIX +// RUN: %if target={{.*aix.*}} %{ \ +// RUN

[clang] [compiler-rt] [Sanitizers] the access size (8 bytes) exceeds the max lock-free size (4 bytes) for 32-bit (PR #125388)

2025-02-03 Thread Hubert Tong via cfe-commits
@@ -1120,3 +1120,21 @@ // RUN:-c \ // RUN: | FileCheck --check-prefixes=CHECK-K-UNUSED %s // CHECK-K-UNUSED: clang: warning: -K: 'linker' input unused [-Wunused-command-line-argument] + +// Check No Sanitizer on 32-bit AIX +// RUN: %if target={{.*aix.*}} %{ \ +// RUN

[clang] [Clang] Reapply CWG2369 "Ordering between constraints and substitution" (PR #122423)

2025-01-21 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: > Can we have this behavior guarded by a compiler option? That depends on the rationale: 1. Allow opt in to the resolution of CWG2369 because it is wanted (despite potentially-temporary fallout); or 2. Require opt in to the resolution of CWG2369 because "it causes

[clang] Fix extra parenthesis in diagnostic (PR #122055)

2025-01-07 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast created https://github.com/llvm/llvm-project/pull/122055 Following https://github.com/llvm/llvm-project/pull/120380, `err_pack_expansion_length_conflict` has one close paren too many. Remove the extra parenthesis. >From ecff595a1e753a1c897a0f48e306bfe3

[clang] [clang] Fix non-deterministic infinite recursion... (PR #118288)

2024-12-20 Thread Hubert Tong via cfe-commits
Alejandro =?utf-8?q?Álvarez_Ayllón?Message-ID: In-Reply-To: hubert-reinterpretcast wrote: > LLVM patch releases cannot break API or ABI compatibility Thanks @nikic for the explanation. I thought you meant ABI compatibility in the "user program" sense. https://github.com/llvm/llvm-project/pul

[clang] [clang] Fix non-deterministic infinite recursion... (PR #118288)

2024-12-19 Thread Hubert Tong via cfe-commits
Alejandro =?utf-8?q?Álvarez_Ayllón?Message-ID: In-Reply-To: hubert-reinterpretcast wrote: > This is an ABI-breaking fix, so it cannot be backported in this form. @nikic, can you explain this statement? Is this something that can be documented in the release notes: https://github.com/llvm/llv

[clang] [llvm] [clang] Implement pragma clang section on COFF targets (PR #112714)

2024-11-05 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast commented: There doesn't seem to be changes to handle the text section cases? https://github.com/llvm/llvm-project/pull/112714 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-

[clang] [llvm] [clang] Implement pragma clang section on COFF targets (PR #112714)

2024-11-05 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast edited https://github.com/llvm/llvm-project/pull/112714 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang] Implement pragma clang section on COFF targets (PR #112714)

2024-11-05 Thread Hubert Tong via cfe-commits
@@ -2378,13 +2394,28 @@ MCSection *TargetLoweringObjectFileXCOFF::getExplicitSectionGlobal( StringRef SectionName = GO->getSection(); hubert-reinterpretcast wrote: See `report_fatal_error` above. I think the new code should be moved up so that `SectionName` i

[clang] [ItaniumMangle] Fix `cp` versus `cl` call expression mangling for block scope (PR #114884)

2024-11-04 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: > Can we find a way to re-use the code between this and the actual lookup code? > Feels like we could have some sort of predicate like > `doesLookupResultSuppressADL(NamedDecl*)`. Or are we forced to use slightly > different predicates for some compatibility reaso

[clang] [ItaniumMangle] Fix `cp` versus `cl` call expression mangling for block scope (PR #114884)

2024-11-04 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: > Is it worth adding `ClangABICompat` support for this? (Do we think this will > affect any real code, or is this more just formal correctness?) The change was motivated by formal correctness (and the work led to the discovery of CWG 2946). I have some doubts that

[clang] [clang] constexpr built-in fma function. (PR #113020)

2024-10-31 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: A problem with the current patch is that it does not evaluate, even in constant expression contexts, cases that require rounding: ```cpp extern constexpr float onepluszeroeps = __builtin_fmaf(__FLT_EPSILON__, .0f, 1.f); extern constexpr float oneplushalfeps = __bui

[clang] [clang] constexpr built-in fma function. (PR #113020)

2024-10-31 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast commented: Needs tests for rounding cases and observance of rounding modes. https://github.com/llvm/llvm-project/pull/113020 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bi

[libunwind] [libunwind][AIX] Call dlclose only when dlsym() fails (PR #112768)

2024-10-18 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast approved this pull request. LGTM; thanks! https://github.com/llvm/llvm-project/pull/112768 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libunwind] [libunwind][AIX] Remove weak declaration "__xlcxx_personality_v0" (PR #112436)

2024-10-16 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast approved this pull request. LGTM! Thanks! https://github.com/llvm/llvm-project/pull/112436 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [llvm] [PGO] Initialize GCOV Writeout and Reset Functions in the Runtime on AIX (PR #108570)

2024-10-16 Thread Hubert Tong via cfe-commits
@@ -0,0 +1,138 @@ +; Tests if the __llvm_gcov_ctr section contains a .ref pseudo-op +; referring to the __llvm_covinit section. +; RUN: llc < %s | FileCheck --check-prefixes=CHECK,CHECK-RW %s +; RUN: llc -mxcoff-roptr < %s | FileCheck --check-prefixes=CHECK,CHECK-RO %s + +target d

[clang] [compiler-rt] [llvm] [PGO] Initialize GCOV Writeout and Reset Functions in the Runtime on AIX (PR #108570)

2024-10-16 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast approved this pull request. LGTM with minor comment; thanks! https://github.com/llvm/llvm-project/pull/108570 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listi

[clang] [compiler-rt] [llvm] [PGO] Initialize GCOV Writeout and Reset Functions in the Runtime on AIX (PR #108570)

2024-10-16 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast edited https://github.com/llvm/llvm-project/pull/108570 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][CodeGen] Zero init unspecified fields in initializers in C (PR #97121)

2024-10-16 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: Handling for local variables (not initialized with `{}`). The performance impact of guaranteeing the extension is artificially reduced because the baseline code generation uses `memset` over the entire union when the size is large, but initializing the bytes after

[clang] [clang][CodeGen] Zero init unspecified fields in initializers in C (PR #97121)

2024-10-16 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: @AaronBallman, considering the concern of potential performance regressions ("unnecessary" initialization of automatic-storage duration objects), should it be the case that there is no option control? It was also the case that the prior Clang behaviour (with `-ft

[clang] [compiler-rt] [llvm] [PGO] Initialize GCOV Writeout and Reset Functions in the Runtime on AIX (PR #108570)

2024-10-15 Thread Hubert Tong via cfe-commits
@@ -0,0 +1,129 @@ +; Tests if the __llvm_gcov_ctr section contains a .ref pseudo-op +; referring to the __llvm_covinit section. +; RUN: llc < %s | FileCheck --check-prefixes=CHECK,CHECK-RW %s +; RUN: llc -mxcoff-roptr < %s | FileCheck --check-prefixes=CHECK,CHECK-RO %s + +target d

[clang] [compiler-rt] [llvm] [PGO] Initialize GCOV Writeout and Reset Functions in the Runtime on AIX (PR #108570)

2024-10-15 Thread Hubert Tong via cfe-commits
@@ -8,14 +8,19 @@ target triple = "powerpc-ibm-aix" ; CHECK-RW: .csect __llvm_covinit[RW],3 ; CHECK-RO: .csect __llvm_covinit[RO],3 -; CHECK: .vbyte 4, __llvm_gcov_writeout[DS] -; CHECK-NEXT:.vbyte 4, __llvm_gcov_reset[DS] -; CHECK: __llvm_gcov_ctr.1: +; CHECK-NE

[clang] [compiler-rt] [llvm] [PGO] Initialize GCOV Writeout and Reset Functions in the Runtime on AIX (PR #108570)

2024-10-15 Thread Hubert Tong via cfe-commits
@@ -0,0 +1,129 @@ +; Tests if the __llvm_gcov_ctr section contains a .ref pseudo-op +; referring to the __llvm_covinit section. +; RUN: llc < %s | FileCheck --check-prefixes=CHECK,CHECK-RW %s +; RUN: llc -mxcoff-roptr < %s | FileCheck --check-prefixes=CHECK,CHECK-RO %s + +target d

[libunwind] [libunwind][AIX] Remove weak declaration "__xlcxx_personality_v0" (PR #112436)

2024-10-15 Thread Hubert Tong via cfe-commits
hubert-reinterpretcast wrote: @xingxue-ibm, I edited the PR description text. Please check my edits. https://github.com/llvm/llvm-project/pull/112436 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinf

[libunwind] [libunwind][AIX] Remove weak declaration "__xlcxx_personality_v0" (PR #112436)

2024-10-15 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast edited https://github.com/llvm/llvm-project/pull/112436 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libunwind] [libunwind][AIX] Remove weak declaration "__xlcxx_personality_v0" (PR #112436)

2024-10-15 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast edited https://github.com/llvm/llvm-project/pull/112436 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libunwind] [libunwind][AIX] Remove weak definition "__xlcxx_personality_v0" (PR #112436)

2024-10-15 Thread Hubert Tong via cfe-commits
https://github.com/hubert-reinterpretcast commented: I think a small test case could be added with a `int main(void) {}` C program linked with -`brtl` and `LDR_PRELOAD`/`LDR_PRELOAD64` set to `libunwind.a(libunwind.so.1)`. https://github.com/llvm/llvm-project/pull/112436 __

[libunwind] [libunwind][AIX] Remove weak definition "__xlcxx_personality_v0" (PR #112436)

2024-10-15 Thread Hubert Tong via cfe-commits
@@ -2126,42 +2125,34 @@ bool UnwindCursor::getInfoFromTBTable(pint_t pc, R ®isters) { // function __xlcxx_personality_v0(), which is the personality for the state // table and is exported from libc++abi, is directly assigned as the // handler here. When a legacy X

[libunwind] [libunwind][AIX] Remove weak definition "__xlcxx_personality_v0" (PR #112436)

2024-10-15 Thread Hubert Tong via cfe-commits
@@ -2126,42 +2125,34 @@ bool UnwindCursor::getInfoFromTBTable(pint_t pc, R ®isters) { // function __xlcxx_personality_v0(), which is the personality for the state // table and is exported from libc++abi, is directly assigned as the // handler here. When a legacy X

[libunwind] [libunwind][AIX] Remove weak definition "__xlcxx_personality_v0" (PR #112436)

2024-10-15 Thread Hubert Tong via cfe-commits
@@ -2126,42 +2125,34 @@ bool UnwindCursor::getInfoFromTBTable(pint_t pc, R ®isters) { // function __xlcxx_personality_v0(), which is the personality for the state // table and is exported from libc++abi, is directly assigned as the // handler here. When a legacy X

  1   2   3   4   5   >