]> gcc.gnu.org Git - gcc.git/log
gcc.git
3 years agomiddle-end/96369 - fix missed short-circuiting during range folding
Richard Biener [Fri, 31 Jul 2020 06:41:56 +0000 (08:41 +0200)]
middle-end/96369 - fix missed short-circuiting during range folding

This makes the special case of constant evaluated LHS for a
short-circuiting or/and explicit rather than doing range
merging and eventually exposing a side-effect that shouldn't be
evaluated.

2020-07-31  Richard Biener  <rguenther@suse.de>

PR middle-end/96369
* fold-const.c (fold_range_test): Special-case constant
LHS for short-circuiting operations.

* c-c++-common/pr96369.c: New testcase.

(cherry picked from commit 505767905735a3c8f171c140108ee263f9fdcad6)

3 years agotestsuite: add another test for the rotate vectorization miscompilation
Jakub Jelinek [Fri, 18 Sep 2020 13:05:53 +0000 (15:05 +0200)]
testsuite: add another test for the rotate vectorization miscompilation

This time with short and char where the used mask used to be larger
than it should have been.

2020-09-18  Jakub Jelinek  <jakub@redhat.com>

PR tree-optimization/97081
* gcc.dg/vect/pr97081-2.c: New test.

(cherry picked from commit f75352bdb139c40abb400746c03d9242a0c30bd6)

3 years agotree-optimization/97081 - fix wrong-code with vectorized shift
Richard Biener [Fri, 18 Sep 2020 11:36:24 +0000 (13:36 +0200)]
tree-optimization/97081 - fix wrong-code with vectorized shift

This corrects the mask for creation of x << s | x >> (-x & mask)
from a rotate x <<r s to use the precision of x.

2020-09-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/97081
* tree-vect-patterns.c (vect_recog_rotate_pattern): Use the
precision of the shifted operand to determine the mask.

* gcc.dg/vect/pr97081.c: New testcase.

(cherry picked from commit 86b25a1a5e1956c30fe7eaee80ebf719b759d631)

3 years agotree-optimization/98282 - classify V_C_E<constant> as nary
Richard Biener [Mon, 4 Jan 2021 10:40:40 +0000 (11:40 +0100)]
tree-optimization/98282 - classify V_C_E<constant> as nary

This avoids running into memory reference code in compute_avail by
properly classifying unfolded reference trees on constants.

2021-01-04  Richard Biener  <rguenther@suse.de>

PR tree-optimization/98282
* tree-ssa-sccvn.c (vn_get_stmt_kind): Classify tcc_reference on
invariants as VN_NARY.

* g++.dg/opt/pr98282.C: New testcase.

(cherry picked from commit edb7dbc25de455300ce066a2ebe728256ea46e3a)

3 years agomiddle-end/94479 - fix gimplification of address
Richard Biener [Tue, 7 Apr 2020 14:29:37 +0000 (16:29 +0200)]
middle-end/94479 - fix gimplification of address

When gimplifying an address operand we may expose an indirect
ref via DECL_VALUE_EXPR for example.  This is dealt with in the
code already but it fails to consider that INDIRECT_REFs get
gimplified to MEM_REFs.

Fixed which makes the ICE observed on x86_64-netbsd go away.

2020-04-07  Richard Biener  <rguenther@suse.de>

PR middle-end/94479
* gimplify.c (gimplify_addr_expr): Also consider generated
MEM_REFs.

* gcc.dg/torture/pr94479.c: New testcase.

(cherry picked from commit 0f1cf13ecee1b4f9d963426b35acb5a0625816c4)

3 years agoDaily bump.
GCC Administrator [Wed, 17 Mar 2021 00:17:59 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 16 Mar 2021 10:57:06 +0000 (10:57 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Mon, 15 Mar 2021 00:18:13 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 14 Mar 2021 00:17:54 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 13 Mar 2021 00:17:55 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Fri, 12 Mar 2021 00:18:04 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Thu, 11 Mar 2021 00:18:05 +0000 (00:18 +0000)]
Daily bump.

3 years agoFix Ada bootstrap on Cygwin64
Mikael Pettersson [Tue, 9 Mar 2021 15:58:56 +0000 (08:58 -0700)]
Fix Ada bootstrap on Cygwin64

gcc/ada/
PR bootstrap/94918
* raise-gcc.c: On Cygwin include mingw32.h to prevent
windows.h from including x86intrin.h or emmintrin.h.

3 years agoDaily bump.
GCC Administrator [Wed, 10 Mar 2021 00:18:20 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 9 Mar 2021 00:18:38 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Mon, 8 Mar 2021 00:18:09 +0000 (00:18 +0000)]
Daily bump.

3 years agoPR libfortran/99218 - matmul on temporary array accesses invalid memory
Harald Anlauf [Fri, 5 Mar 2021 19:57:54 +0000 (20:57 +0100)]
PR libfortran/99218 - matmul on temporary array accesses invalid memory

Do not invoke tuned rank-2 times rank-2 matmul if rank(b) == 1.

libgfortran/ChangeLog:

PR libfortran/99218
* m4/matmul_internal.m4: Invoke tuned matmul only for rank(b)>1.
* generated/matmul_c10.c: Regenerated.
* generated/matmul_c16.c: Likewise.
* generated/matmul_c4.c: Likewise.
* generated/matmul_c8.c: Likewise.
* generated/matmul_i1.c: Likewise.
* generated/matmul_i16.c: Likewise.
* generated/matmul_i2.c: Likewise.
* generated/matmul_i4.c: Likewise.
* generated/matmul_i8.c: Likewise.
* generated/matmul_r10.c: Likewise.
* generated/matmul_r16.c: Likewise.
* generated/matmul_r4.c: Likewise.
* generated/matmul_r8.c: Likewise.
* generated/matmulavx128_c10.c: Likewise.
* generated/matmulavx128_c16.c: Likewise.
* generated/matmulavx128_c4.c: Likewise.
* generated/matmulavx128_c8.c: Likewise.
* generated/matmulavx128_i1.c: Likewise.
* generated/matmulavx128_i16.c: Likewise.
* generated/matmulavx128_i2.c: Likewise.
* generated/matmulavx128_i4.c: Likewise.
* generated/matmulavx128_i8.c: Likewise.
* generated/matmulavx128_r10.c: Likewise.
* generated/matmulavx128_r16.c: Likewise.
* generated/matmulavx128_r4.c: Likewise.
* generated/matmulavx128_r8.c: Likewise.

gcc/testsuite/ChangeLog:

PR libfortran/99218
* gfortran.dg/matmul_21.f90: New test.

(cherry picked from commit b1bee29167df6b0fbc9a4c8d06e2acbf3367af47)

3 years agoAdd mi_thunk support for vcalls on hppa.
John David Anglin [Sun, 7 Mar 2021 17:55:32 +0000 (17:55 +0000)]
Add mi_thunk support for vcalls on hppa.

gcc/ChangeLog:

PR target/85074
* config/pa/pa.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define as
hook_bool_const_tree_hwi_hwi_const_tree_true.
(pa_asm_output_mi_thunk): Add support for nonzero vcall_offset.

3 years agoDaily bump.
GCC Administrator [Sun, 7 Mar 2021 00:17:55 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 6 Mar 2021 00:18:15 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Fri, 5 Mar 2021 00:17:59 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Thu, 4 Mar 2021 00:18:14 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Wed, 3 Mar 2021 00:18:17 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 2 Mar 2021 00:17:57 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Mon, 1 Mar 2021 00:18:18 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 28 Feb 2021 00:17:50 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 27 Feb 2021 00:17:53 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Fri, 26 Feb 2021 00:18:01 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Thu, 25 Feb 2021 00:17:55 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Wed, 24 Feb 2021 00:17:52 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 23 Feb 2021 00:18:01 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Mon, 22 Feb 2021 00:17:40 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 21 Feb 2021 00:17:45 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 20 Feb 2021 00:17:52 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Fri, 19 Feb 2021 00:17:46 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Thu, 18 Feb 2021 00:17:51 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Wed, 17 Feb 2021 00:17:50 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 16 Feb 2021 00:18:07 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Mon, 15 Feb 2021 00:17:53 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 14 Feb 2021 00:17:57 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 13 Feb 2021 00:18:01 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Fri, 12 Feb 2021 00:17:56 +0000 (00:17 +0000)]
Daily bump.

3 years agoFix -freorder-blocks-and-partition glitch with Windows SEH
Eric Botcazou [Thu, 11 Feb 2021 23:16:49 +0000 (00:16 +0100)]
Fix -freorder-blocks-and-partition glitch with Windows SEH

Since GCC 8, the -freorder-blocks-and-partition pass can split a function
into hot and cold parts, thus generating 2 CIEs for a single function in
DWARF for exception purposes and doing an equivalent trick for Windows SEH.

Now the Windows system unwinder is picky when it comes to the boundary
between an active EH region and the end of the function and, therefore,
a nop may need to be added in specific cases.

gcc/
* config/i386/winnt.c (i386_pe_seh_unwind_emit): When switching to
the cold section, emit a nop before the directive if the previous
active instruction can throw.

3 years agoDaily bump.
GCC Administrator [Thu, 11 Feb 2021 00:17:59 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Wed, 10 Feb 2021 00:18:03 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 9 Feb 2021 00:17:57 +0000 (00:17 +0000)]
Daily bump.

3 years agoBackport fix for PR/tree-optimization/97236 - fix bad use of VMAT_CONTIGUOUS
Matthias Klose [Tue, 6 Oct 2020 11:41:37 +0000 (13:41 +0200)]
Backport fix for PR/tree-optimization/97236 - fix bad use of VMAT_CONTIGUOUS

This avoids using VMAT_CONTIGUOUS with single-element interleaving
when using V1mode vectors.  Instead keep VMAT_ELEMENTWISE but
continue to avoid load-lanes and gathers.

2020-10-01  Richard Biener  <rguenther@suse.de>

PR tree-optimization/97236
* tree-vect-stmts.c (get_group_load_store_type): Keep
VMAT_ELEMENTWISE for single-element vectors.

* gcc.dg/vect/pr97236.c: New testcase.

(cherry picked from commit 1ab88985631dd2c5a5e3b5c0dce47cf8b6ed2f82)

3 years agoDaily bump.
GCC Administrator [Mon, 8 Feb 2021 00:18:01 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 7 Feb 2021 00:18:15 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 6 Feb 2021 00:18:07 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Fri, 5 Feb 2021 00:17:52 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Thu, 4 Feb 2021 00:17:56 +0000 (00:17 +0000)]
Daily bump.

3 years agoarm: Fix up neon_vector_mem_operand [PR97528]
Jakub Jelinek [Fri, 20 Nov 2020 11:26:58 +0000 (12:26 +0100)]
arm: Fix up neon_vector_mem_operand [PR97528]

The documentation for POST_MODIFY says:
   Currently, the compiler can only handle second operands of the
   form (plus (reg) (reg)) and (plus (reg) (const_int)), where
   the first operand of the PLUS has to be the same register as
   the first operand of the *_MODIFY.
The following testcase ICEs, because combine just attempts to simplify
things and ends up with
(post_modify (reg1) (plus (mult (reg2) (const_int 4)) (reg1))
but the target predicates accept it, because they only verify
that POST_MODIFY's second operand is PLUS and the second operand
of the PLUS is a REG.

The following patch fixes this by performing further verification that
the POST_MODIFY is in the form it should be.

2020-11-20  Jakub Jelinek  <jakub@redhat.com>

PR target/97528
* config/arm/arm.c (neon_vector_mem_operand): For POST_MODIFY, require
first POST_MODIFY operand is a REG and is equal to the first operand
of PLUS.

* gcc.target/arm/pr97528.c: New test.

(cherry picked from commit 410b8f6f41920dad200cd709f9f3de8b840a995c)

3 years agoDaily bump.
GCC Administrator [Wed, 3 Feb 2021 00:17:57 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 2 Feb 2021 12:49:00 +0000 (12:49 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Mon, 1 Feb 2021 00:17:44 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 31 Jan 2021 00:17:47 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 30 Jan 2021 00:17:58 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Fri, 29 Jan 2021 00:17:50 +0000 (00:17 +0000)]
Daily bump.

3 years agoPR fortran/86470 - ICE with OpenMP, class(*) allocatable
Harald Anlauf [Thu, 28 Jan 2021 09:13:46 +0000 (10:13 +0100)]
PR fortran/86470 - ICE with OpenMP, class(*) allocatable

gfc_call_malloc should malloc an area of size 1 if no size given.

gcc/fortran/ChangeLog:

PR fortran/86470
* trans.c (gfc_call_malloc): Allocate area of size 1 if passed
size is NULL (as documented).

gcc/testsuite/ChangeLog:

PR fortran/86470
* gfortran.dg/gomp/pr86470.f90: New test.

(cherry picked from commit 33a7a93218b1393d0135e3c4a9ad9ced87808f5e)

3 years agoDaily bump.
GCC Administrator [Thu, 28 Jan 2021 00:18:26 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Wed, 27 Jan 2021 00:17:59 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 26 Jan 2021 00:18:03 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Mon, 25 Jan 2021 00:17:50 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 24 Jan 2021 00:17:47 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 23 Jan 2021 00:17:56 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Fri, 22 Jan 2021 00:17:54 +0000 (00:17 +0000)]
Daily bump.

3 years ago[AArch64] Fix symbol offset limit (PR 98618)
Wilco Dijkstra [Wed, 16 Oct 2019 14:24:41 +0000 (14:24 +0000)]
[AArch64] Fix symbol offset limit (PR 98618)

In aarch64_classify_symbol symbols are allowed large offsets on relocations.
This means the offset can use all of the +/-4GB offset, leaving no offset
available for the symbol itself.  This results in relocation overflow and
link-time errors for simple expressions like &global_array + 0xffffff00.

To avoid this, unless the offset_within_block_p is true, limit the offset
to +/-1MB so that the symbol needs to be within a 3.9GB offset from its
references.  For the tiny code model use a 64KB offset, allowing most of
the 1MB range for code/data between the symbol and its references.

gcc/
PR target/98618
* config/aarch64/aarch64.c (aarch64_classify_symbol):
Apply reasonable limit to symbol offsets.

gcc/testsuite/
PR target/98618
* gcc.target/aarch64/symbol-range.c: Improve testcase.
* gcc.target/aarch64/symbol-range-tiny.c: Likewise.

(cherry picked from commit 7d3b27ff12610fde9d6c4b56abc70c6ee9b6b3db)

3 years agoDaily bump.
GCC Administrator [Thu, 21 Jan 2021 00:18:04 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Wed, 20 Jan 2021 00:18:23 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 19 Jan 2021 00:18:08 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Mon, 18 Jan 2021 00:17:56 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 17 Jan 2021 00:17:49 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 16 Jan 2021 00:17:52 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Fri, 15 Jan 2021 00:17:54 +0000 (00:17 +0000)]
Daily bump.

3 years ago[nvptx libgomp plugin] Build only in supported configurations
Thomas Schwinge [Mon, 30 Nov 2020 14:15:20 +0000 (15:15 +0100)]
[nvptx libgomp plugin] Build only in supported configurations

As recently again discussed in <https://gcc.gnu.org/PR97436> "[nvptx] -m32
support", nvptx offloading other than for 64-bit host has never been
implemented, tested, supported.  So we simply should buildn't the nvptx libgomp
plugin in this case.

This avoids build problems if, for example, in a (standard) bi-arch
x86_64-pc-linux-gnu '-m64'/'-m32' build, libcuda is available only in a 64-bit
variant but not in a 32-bit one, which, for example, is the case if you build
GCC against the CUDA toolkit's 'stubs/libcuda.so' (see
<https://stackoverflow.com/a/52784819>).

This amends PR65099 commit a92defdab79a1268f4b9dcf42b937e4002a4cf15 (r225560)
"[nvptx offloading] Only 64-bit configurations are currently supported" to
match the way we're doing this for the HSA/GCN plugins.

libgomp/
PR libgomp/65099
* plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
configurations.
* configure: Regenerate.
* plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
check.

(cherry picked from commit 6106dfb9f73a33c87108ad5b2dcd4842bdd7828e)

3 years agoDaily bump.
GCC Administrator [Thu, 14 Jan 2021 00:17:51 +0000 (00:17 +0000)]
Daily bump.

3 years agolibstdc++: Fix clang analyzer suppression [PR 98605]
Jonathan Wakely [Wed, 13 Jan 2021 11:03:58 +0000 (11:03 +0000)]
libstdc++: Fix clang analyzer suppression [PR 98605]

The fix for PR libstdc++/82481 should only have applied for targets
where _GLIBCXX_HAVE_TLS is defined. Because it was also done for non-TLS
targets, it isn't possible to use clang's analyzers on non-TLS targets
if the code uses <mutex>. This fixes it by using a NOLINT comment on
the relevant line instead of testing #ifdef __clang_analyzer__ and
compiling different code when analyzing.

I'm not actually able to reproduce the analyzer warning with the tools
from Clang 10.0.1 so I'm not going to try to make the suppression more
specific with NOLINTNEXTLINE(clang-analyzer-code.StackAddressEscape).

libstdc++-v3/ChangeLog:

PR libstdc++/98605
* include/std/mutex (call_once): Use NOLINT to suppress clang
analyzer warnings.

(cherry picked from commit 8d3636923a309074eb19240ebaa30c1a0801eaaf)

3 years agoHurd: Enable ifunc by default
Samuel Thibault [Sun, 8 Nov 2020 22:52:51 +0000 (23:52 +0100)]
Hurd: Enable ifunc by default

The binutils bugs seem to have been fixed.

gcc/
* config.gcc [$target == *-*-gnu*]: Enable
'default_gnu_indirect_function'.

(cherry picked from commit e9cb89b936f831a02318d45fc4ddb06f7be55ae4)

3 years agohurd: libgcc unwinding over signal trampolines with SIGINFO
Samuel Thibault [Mon, 21 Dec 2020 14:36:30 +0000 (15:36 +0100)]
hurd: libgcc unwinding over signal trampolines with SIGINFO

When the application sets SA_SIGINFO, the signal trampoline parameters
are different to follow POSIX.

libgcc/
* config/i386/gnu-unwind.h (x86_gnu_fallback_frame_state): Add the
posix siginfo case to struct handler_args. Detect between legacy
and siginfo from the second parameter, which is a small sigcode in
the legacy case, and a pointer in the siginfo case.

(cherry picked from commit 2b356e689c334ca4765a9ffd95a76cf715447200)

3 years agoDaily bump.
GCC Administrator [Wed, 13 Jan 2021 00:17:57 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 12 Jan 2021 00:17:48 +0000 (00:17 +0000)]
Daily bump.

3 years agolibstdc++: Fix filesystem::path pretty printer test failure
Jonathan Wakely [Wed, 2 Dec 2020 00:39:21 +0000 (00:39 +0000)]
libstdc++: Fix filesystem::path pretty printer test failure

On some systems libstdc++-prettyprinters/cxx17.cc FAILs with this error:

skipping: Python Exception <type 'exceptions.AttributeError'> 'gdb.Type' object has no attribute 'name': ^M
got: $27 = filesystem::path "/dir/."^M
FAIL: libstdc++-prettyprinters/cxx17.cc print path2

The gdb.Type.name attribute isn't present in GDB 7.6, so we get an
exception from StdPathPrinter._iterator.__next__ trying to use it.
The StdPathPrinter._iterator is already passed the type's name in its
constructor, so we can just store that and use it instead of
gdb.Type.name.

libstdc++-v3/ChangeLog:

* python/libstdcxx/v6/printers.py (StdExpPathPrinter): Store the
name of the type and pass it to the iterator.
* testsuite/libstdc++-prettyprinters/filesystem-ts.cc: New test.

(cherry picked from commit a70384f94c83895f97179b45c1a8d66202132af8)

3 years agolibstdc++: Fix std::any pretty printer [PR 68735]
Jonathan Wakely [Wed, 2 Dec 2020 21:39:08 +0000 (21:39 +0000)]
libstdc++: Fix std::any pretty printer [PR 68735]

This fixes errors seen on powerpc64 (big endian only) due to the
printers for std::any and std::experimental::any being unable to find
the manager function.

libstdc++-v3/ChangeLog:

PR libstdc++/65480
PR libstdc++/68735
* python/libstdcxx/v6/printers.py (function_pointer_to_name):
New helper function to get the name of a function from its
address.
(StdExpAnyPrinter.__init__): Use it.

(cherry picked from commit dc2b372ed1b1e9af6db45051cff95478c7616807)

3 years agolibstdc++: Fix compatibility support in unique_ptr pretty printer
Jonathan Wakely [Mon, 10 Aug 2020 17:44:06 +0000 (18:44 +0100)]
libstdc++: Fix compatibility support in unique_ptr pretty printer

The support for the old std::unique_ptr implementation was failing,
because it tried to work on a typedef instead of the underlying type.
The test supposed to verify the support worked wasn't using a typedef,
so didn't notice the problem.

libstdc++-v3/ChangeLog:

* python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__):
Use gdb.Type.strip_typedefs().
* testsuite/libstdc++-prettyprinters/compat.cc: Use a typedef in
the emulated old type.

(cherry picked from commit ed11f7e84bcae89f486f5023e566726a7faa7dd4)

3 years agolibstdc++: Fix unique_ptr pretty printer for empty classes
Jonathan Wakely [Tue, 14 May 2019 11:17:18 +0000 (12:17 +0100)]
libstdc++: Fix unique_ptr pretty printer for empty classes

The printer was confused when unique_ptr<T,D>::pointer is an empty
class, or the deleter is not empty. Instead of assuming the tuple has a
single _M_head_impl member manually inspect the tuple base classes to
get the first element.

* python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__): Do
not assume field called _M_head_impl is the first tuple element.
* testsuite/libstdc++-prettyprinters/compat.cc: Copy from gcc-9
branch.
* testsuite/libstdc++-prettyprinters/cxx11.cc: Check unique_ptr with
empty pointer type and non-empty deleter.

(cherry picked from commit e25f488d603a6bd7570c1ffdfd9572e4b8a645de)

3 years agolibstdc++: Fix misnamed configure option in manual
Jonathan Wakely [Thu, 24 Sep 2020 16:33:16 +0000 (17:33 +0100)]
libstdc++: Fix misnamed configure option in manual

libstdc++-v3/ChangeLog:

* doc/xml/manual/configure.xml: Correct name of option.
* doc/html/*: Regenerate.

(cherry picked from commit 61f7995398a719f2ff91d07e8f8ed6d4413db697)

3 years agoDaily bump.
GCC Administrator [Mon, 11 Jan 2021 00:17:42 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 10 Jan 2021 00:17:44 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 9 Jan 2021 00:17:51 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Fri, 8 Jan 2021 00:17:52 +0000 (00:17 +0000)]
Daily bump.

3 years agoSync gcc-changelog scripts.
Martin Liska [Thu, 7 Jan 2021 10:30:29 +0000 (11:30 +0100)]
Sync gcc-changelog scripts.

contrib/ChangeLog:

* gcc-changelog/git_commit.py: Sync from master.
* gcc-changelog/git_email.py: Likewise.
* gcc-changelog/git_repository.py: Likewise.
* gcc-changelog/test_email.py: Likewise.
* gcc-changelog/test_patches.txt: Likewise.

3 years agoDaily bump.
GCC Administrator [Thu, 7 Jan 2021 00:18:00 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Wed, 6 Jan 2021 00:18:22 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 5 Jan 2021 00:18:05 +0000 (00:18 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Mon, 4 Jan 2021 00:17:52 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 3 Jan 2021 00:17:51 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 2 Jan 2021 00:17:45 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Fri, 1 Jan 2021 00:17:47 +0000 (00:17 +0000)]
Daily bump.

3 years agoDaily bump.
GCC Administrator [Thu, 31 Dec 2020 00:17:51 +0000 (00:17 +0000)]
Daily bump.

This page took 0.094032 seconds and 5 git commands to generate.