https://github.com/hubert-reinterpretcast approved this pull request.
LGTM; please give other reviewers some time before committing. Thanks!
https://github.com/llvm/llvm-project/pull/101390
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https:
@@ -0,0 +1,58 @@
+// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
UTC_ARGS: --version 5
+// REQUIRES: powerpc-registered-target
+// RUN: %clang_cc1 -triple powerpc64le-unknown-linux -O2 -target-cpu pwr7 \
+// RUN: -emit-llvm %s -o - | FileCheck %s
hubert-reinterpretcast wrote:
With `--target=powerpc-unknown-linux-gnu`, the union type is still being used
with `signext` (causing the IR verifier to be unhappy) for the following:
```c
typedef union __attribute__((__transparent_union__)) U {
signed _BitInt(17) x;
} U;
__attribute__((__weak_
@@ -65,6 +65,10 @@ CGCXXABI::RecordArgABI getRecordArgABI(QualType T, CGCXXABI
&CXXABI);
bool classifyReturnType(const CGCXXABI &CXXABI, CGFunctionInfo &FI,
const ABIInfo &Info);
+// For transparent union types, return the type of the first element.
+/
@@ -393,6 +401,18 @@ CharUnits
PPC32_SVR4_ABIInfo::getParamTypeAlignment(QualType Ty) const {
return CharUnits::fromQuantity(4);
}
+ABIArgInfo PPC32_SVR4_ABIInfo::classifyArgumentType(QualType Ty) const {
+ bool IsTransparentUnion;
+ Ty = useFirstFieldIfTransparentUnion(T
@@ -0,0 +1,58 @@
+// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
UTC_ARGS: --version 5
+// REQUIRES: powerpc-registered-target
+// RUN: %clang_cc1 -triple powerpc64le-unknown-linux -O2 -target-cpu pwr7 \
+// RUN: -emit-llvm %s -o - | FileCheck %s
@@ -0,0 +1,75 @@
+// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
UTC_ARGS: --version 5
+// REQUIRES: powerpc-registered-target
+// RUN: %clang_cc1 -triple powerpc64le-unknown-linux -O2 -target-cpu pwr7 \
+// RUN: -emit-llvm %s -o - | FileCheck %s
hubert-reinterpretcast wrote:
> @hubert-reinterpretcast There were none, now I've added some:
> https://github.com/llvm/llvm-project/blob/cf8be1bac0eb37caaaecd47cb463ca58ee0fbe59/clang/test/Layout/itanium-padded-bit-field.cpp
Thanks. I am a bit concerned that the fix to match the Itanium ABI on
Author: Hubert Tong
Date: 2021-01-11T18:41:14-05:00
New Revision: f635bcd16105a0a01eefa2c69a71cd103dedaddd
URL:
https://github.com/llvm/llvm-project/commit/f635bcd16105a0a01eefa2c69a71cd103dedaddd
DIFF:
https://github.com/llvm/llvm-project/commit/f635bcd16105a0a01eefa2c69a71cd103dedaddd.diff
L
Author: Hubert Tong
Date: 2021-01-11T18:41:14-05:00
New Revision: c6ffe4d76fbf6ae505c0abccaf29017414265e32
URL:
https://github.com/llvm/llvm-project/commit/c6ffe4d76fbf6ae505c0abccaf29017414265e32
DIFF:
https://github.com/llvm/llvm-project/commit/c6ffe4d76fbf6ae505c0abccaf29017414265e32.diff
L
@@ -0,0 +1,67 @@
+// RUN: %clang_cc1 -triple powerpc64le-unknown-linux -O2 -target-cpu pwr7 \
+// RUN: -emit-llvm -fshort-enums %s -o - | FileCheck %s
--check-prefixes=CHECK,CHECK-64
+// RUN: %clang_cc1 -triple powerpc64-unknown-linux -O2 -target-cpu pwr7 \
+// RUN: -emit-llv
@@ -0,0 +1,123 @@
+; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux -mcpu=pwr7
\
hubert-reinterpretcast wrote:
I am not sure the machine-codegen-from-IR test is necessary. We only changed
the Clang front-end IR codegen. It stands to reason th
@@ -3,12 +3,18 @@
/// 4.7 enables cfg_checksum.
/// 4.8 (default, compatible with gcov 7) emits the exit block the second.
// RUN: rm -rf %t && mkdir %t && cd %t
-// RUN: %clang_cc1 -emit-llvm -disable-red-zone -coverage-data-file=/dev/null
-coverage-version='304*' %s -o - | \
@@ -781,6 +798,9 @@ serializeValueProfDataFrom(ValueProfRecordClosure *Closure,
#define INSTR_PROF_COVNAME_COFF ".lcovn"
#define INSTR_PROF_ORDERFILE_COFF ".lorderfile$M"
+// TODO: Placeholder for Windows. We need to revise when we upstream this.
hubert-reinte
@@ -1,9 +1,15 @@
;; Ensure __llvm_gcov_(writeout|reset|init) have the correct !kcfi_type
;; with integer normalization.
; RUN: mkdir -p %t && cd %t
-; RUN: opt < %s -S -passes=insert-gcov-profiling | FileCheck %s
+; RUN: opt < %s -S -passes=insert-gcov-profiling \
+; RUN: -mtr
@@ -1,7 +1,13 @@
; RUN: mkdir -p %t && cd %t
-; RUN: opt < %s -S -passes=insert-gcov-profiling | FileCheck %s
+; RUN: opt < %s -S -passes=insert-gcov-profiling \
+; RUN: -mtriple=x86_64-unknown-linux-gnu | FileCheck \
+; RUN: --check-prefixes=CHECK,CHECK-ELF %s
@@ -2962,13 +2964,34 @@ void PPCAIXAsmPrinter::emitPGORefs(Module &M) {
}
}
+void PPCAIXAsmPrinter::emitGCOVRefs() {
+ if (!OutContext.hasXCOFFSection(
+ "__llvm_gcov_ctr_section",
+ XCOFF::CsectProperties(XCOFF::XMC_RW, XCOFF::XTY_SD)))
+return;
+
+
@@ -914,6 +918,7 @@ bool GCOVProfiler::emitProfileNotes(
GlobalVariable *Counters = new GlobalVariable(
*M, CounterTy, false, GlobalValue::InternalLinkage,
Constant::getNullValue(CounterTy), "__llvm_gcov_ctr");
+Counters->setSection("__ll
@@ -1,8 +1,14 @@
;; Ensure __llvm_gcov_(writeout|reset|init) have !kcfi_type with KCFI.
; RUN: mkdir -p %t && cd %t
-; RUN: opt < %s -S -passes=insert-gcov-profiling | FileCheck %s
+; RUN: opt < %s -S -passes=insert-gcov-profiling \
+; RUN: -mtriple=x86_64-unknown-linux-gnu | F
@@ -2962,13 +2964,34 @@ void PPCAIXAsmPrinter::emitPGORefs(Module &M) {
}
}
+void PPCAIXAsmPrinter::emitGCOVRefs() {
+ if (!OutContext.hasXCOFFSection(
+ "__llvm_gcov_ctr_section",
+ XCOFF::CsectProperties(XCOFF::XMC_RW, XCOFF::XTY_SD)))
+return;
+
+
@@ -781,6 +798,9 @@ serializeValueProfDataFrom(ValueProfRecordClosure *Closure,
#define INSTR_PROF_COVNAME_COFF ".lcovn"
#define INSTR_PROF_ORDERFILE_COFF ".lorderfile$M"
+// TODO: Placeholder for Windows. We need to revise when we upstream this.
hubert-reinte
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
@@ -914,6 +918,9 @@ bool GCOVProfiler::emitProfileNotes(
GlobalVariable *Counters = new GlobalVariable(
*M, CounterTy, false, GlobalValue::InternalLinkage,
Constant::getNullValue(CounterTy), "__llvm_gcov_ctr");
+const llvm::Triple &Triple
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
@@ -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
@@ -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
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
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
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
@@ -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
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
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
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
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
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
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
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
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
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
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
@@ -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
@@ -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
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
@@ -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
@@ -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
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
__
@@ -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
@@ -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
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
@@ -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
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-
@@ -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
@@ -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
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
@@ -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
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
@@ -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
@@ -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
@@ -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
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
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
@@ -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
+//
@@ -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
+//
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
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
@@ -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
+//
@@ -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
+//
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
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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
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
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
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
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
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
_
@@ -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
@@ -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
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
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
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())`?:
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
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.
=?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<
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, `__
@@ -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
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
@@ -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; +
=?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
@@ -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:
+
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
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
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
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
@@ -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; +
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
301 - 400 of 439 matches
Mail list logo