- Dec 16, 2020
-
-
Piotr Trojanek authored
gcc/ada/ * par-ch3.adb (P_Modular_Type_Definition): Remove colon from error message. * sem_ch11.adb (Check_Duplication): Likewise. * sem_ch3.adb (Derived_Type_Declaration): Likewise.
-
Piotr Trojanek authored
gcc/ada/ * par-ch12.adb (P_Formal_Object_Declarations): Refine types to Pos.
-
Piotr Trojanek authored
gcc/ada/ * impunit.adb (Not_Impl_Defined_Unit): Fix typo in iteration over Non_Imp_File_Names_12 array.
-
Piotr Trojanek authored
gcc/ada/ * exp_ch9.adb, sem_warn.adb: Simplify membership test.
-
Piotr Trojanek authored
gcc/ada/ * exp_ch6.adb, exp_util.adb, sem_ch4.adb, sem_disp.adb, sem_elab.adb: Simplify membership test.
-
Eric Botcazou authored
gcc/ada/ * libgnat/s-powtab.ads (Maxpow): Use explicit formula in comment.
-
Philippe Gil authored
gcc/ada/ * libgnarl/s-tporft.adb (Register_Foreign_Thread): Set Global_Task_Lock_Nesting before using allocator.
-
Eric Botcazou authored
gcc/ada/ * libgnat/s-valrea.adb (Maxexp32): New constant array. (Maxexp64): Likewise. (Maxexp80): Likewise. (Integer_to_Real): New local constants Maxexp and B. When the exponent is too negative, do the divison in two steps.
-
Piotr Trojanek authored
gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst (Test_Case): Change integer to float literals. * gnat_rm.texi: Regenerate.
-
Piotr Trojanek authored
gcc/ada/ * sem_ch13.adb (Analyze_Aspect_Specifications): Add a codefix for extra parentheses around aspect Annotate expression; reject "(null record)" aggregate and extra parentheses around aspect Test_Case expression. * sem_prag.adb (Analyze_Pragma): Reject "null", "(null record)" and extra parentheses around pragma Contract_Cases; likewise for pragma Subprogram_Variant.
-
Dmitriy Anisimkov authored
gcc/ada/ * adaint.h (__gnat_in_child_after_fork): New flag to express child process side after fork call. * adaint.c (__gnat_portable_spawn): Set flag __gnat_in_child_after_fork. * expect.c (__gnat_expect_fork): Set __gnat_in_child_after_fork to one on child side. * libgnat/memtrack.adb (In_Child_After_Fork): Flag to disable memory tracking. (Allow_Trace): New routine defining if memory should be tracked. (Alloc, Realloc, Free): Use Allow_Trace in "if" condition instead of First_Call.
-
Yannick Moy authored
gcc/ada/ * libgnat/a-tifiio.adb: Mark body not in SPARK. * libgnat/a-tifiio.ads: Mark spec in SPARK. * libgnat/a-tifiio__128.adb: Mark body not in SPARK.
-
Eric Botcazou authored
gcc/ada/ * libgnat/s-valuer.adb (Scan_Decimal_Digits): Tweak overflow test. (Scan_Integral_Digits): Likewise.
-
Pascal Obry authored
gcc/ada/ * s-oscons-tmplt.c: Add some OS constants.
-
Jakub Jelinek authored
The following patch teaches the bswap pass to handle for small (2/4/8 byte long) vectors a CONSTRUCTOR by determining if the bytes of the constructor come from non-vector sources and are either nop or bswap and changing the CONSTRUCTOR in that case to VIEW_CONVERT_EXPR from scalar integer to the vector type. Unfortunately, as I found after the patch was written, due to pass ordering this doesn't really fix the original testcase, just the one I wrote, because both loop and slp vectorization is done only after the bswap pass. A possible way out of that would be to perform just this particular bswap optimization (i.e. for CONSTRUCTOR assignments with integral vector types call find_bswap_or_nop and bswap_replace if successful) also during the store merging pass, it isn't really a store, but the store merging pass already performs bswapping when handling store, so it wouldn't be that big hack. What do you think? 2020-12-16 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/96239 * gimple-ssa-store-merging.c (find_bswap_or_nop): Handle a vector CONSTRUCTOR. (bswap_replace): Likewise. * gcc.dg/pr96239.c: New test.
-
Martin Liska authored
gcc/brig/ChangeLog: * lang.opt: Remove usage of Report. gcc/c-family/ChangeLog: * c.opt: Remove usage of Report. gcc/ChangeLog: * common.opt: Remove usage of Report. * config/aarch64/aarch64.opt: Ditto. * config/alpha/alpha.opt: Ditto. * config/arc/arc.opt: Ditto. * config/arm/arm.opt: Ditto. * config/avr/avr.opt: Ditto. * config/bfin/bfin.opt: Ditto. * config/bpf/bpf.opt: Ditto. * config/c6x/c6x.opt: Ditto. * config/cr16/cr16.opt: Ditto. * config/cris/cris.opt: Ditto. * config/cris/elf.opt: Ditto. * config/csky/csky.opt: Ditto. * config/darwin.opt: Ditto. * config/fr30/fr30.opt: Ditto. * config/frv/frv.opt: Ditto. * config/ft32/ft32.opt: Ditto. * config/gcn/gcn.opt: Ditto. * config/i386/cygming.opt: Ditto. * config/i386/i386.opt: Ditto. * config/ia64/ia64.opt: Ditto. * config/ia64/ilp32.opt: Ditto. * config/linux-android.opt: Ditto. * config/linux.opt: Ditto. * config/lm32/lm32.opt: Ditto. * config/m32r/m32r.opt: Ditto. * config/m68k/m68k.opt: Ditto. * config/mcore/mcore.opt: Ditto. * config/microblaze/microblaze.opt: Ditto. * config/mips/mips.opt: Ditto. * config/mmix/mmix.opt: Ditto. * config/mn10300/mn10300.opt: Ditto. * config/moxie/moxie.opt: Ditto. * config/msp430/msp430.opt: Ditto. * config/nds32/nds32.opt: Ditto. * config/nios2/elf.opt: Ditto. * config/nios2/nios2.opt: Ditto. * config/nvptx/nvptx.opt: Ditto. * config/pa/pa.opt: Ditto. * config/pdp11/pdp11.opt: Ditto. * config/pru/pru.opt: Ditto. * config/riscv/riscv.opt: Ditto. * config/rl78/rl78.opt: Ditto. * config/rs6000/aix64.opt: Ditto. * config/rs6000/linux64.opt: Ditto. * config/rs6000/rs6000.opt: Ditto. * config/rs6000/sysv4.opt: Ditto. * config/rx/elf.opt: Ditto. * config/rx/rx.opt: Ditto. * config/s390/s390.opt: Ditto. * config/s390/tpf.opt: Ditto. * config/sh/sh.opt: Ditto. * config/sol2.opt: Ditto. * config/sparc/long-double-switch.opt: Ditto. * config/sparc/sparc.opt: Ditto. * config/tilegx/tilegx.opt: Ditto. * config/tilepro/tilepro.opt: Ditto. * config/v850/v850.opt: Ditto. * config/visium/visium.opt: Ditto. * config/vms/vms.opt: Ditto. * config/vxworks.opt: Ditto. * config/xtensa/xtensa.opt: Ditto. gcc/lto/ChangeLog: * lang.opt: Remove usage of Report.
-
Martin Liska authored
Since g:7caa4970 the option is ignored as we print used command line for -fverbose-asm output. gcc/ChangeLog: * doc/options.texi: Remove Report keyword. * opt-functions.awk: Print error when Report keyword is used. * optc-gen.awk: Do not handle Report keyword. * opts.h (struct cl_option): Remove cl_report bitfield flag.
-
Martin Liska authored
gcc/ChangeLog: PR sanitizer/97868 * common.opt: Add new warning -Wtsan. * doc/invoke.texi: Likewise. * tsan.c (instrument_builtin_call): Warn users about unsupported std::atomic_thread_fence. gcc/testsuite/ChangeLog: PR sanitizer/97868 * gcc.dg/tsan/atomic-fence.c: New test.
-
Martin Liska authored
gcc/ChangeLog: PR rtl-optimization/98271 PR rtl-optimization/98276 PR tree-optimization/98279 * opts-common.c (set_option): Do not allow overflow for integer arguments. gcc/testsuite/ChangeLog: PR rtl-optimization/98271 PR rtl-optimization/98276 PR tree-optimization/98279 * gcc.dg/pr98271.c: New test.
-
Eric Botcazou authored
This fixes the precision mismatch introduced by the previous change. gcc/ChangeLog: PR tree-optimization/98272 * tree-switch-conversion.c (bit_test_cluster::emit): When finding out whether the entry test can be merged in the bit test, do the computation using the type of the index expression. gcc/testsuite/ChangeLog: * gcc.dg/pr98272.c: New test.
-
Kewen Lin authored
This patch is to use paradoxical subreg instead of zero_extend for promoting QI/HI to SI/DI when we want to construct one vector with these modes. Since we do the gpr->vsx movement and vector merge or pack later, the high part is useless and safe to use paradoxical subreg. It can avoid useless rlwinms generated for signed cases. Bootstrapped/regtested on powerpc64le-linux-gnu P9. gcc/ChangeLog: * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use paradoxical subreg instead of zero_extend for QI/HI promotion. gcc/testsuite/ChangeLog: * gcc.target/powerpc/pr96933-1.c: Adjusted to check no rlwinm. * gcc.target/powerpc/pr96933-2.c: Likewise.
-
Prathamesh Kulkarni authored
gcc/ 2020-12-16 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> PR target/66791 * config/arm/arm_neon.h: Replace calls to __builtin_vcgt* by <, > operators in vclt and vcgt intrinsics respectively. * config/arm/arm_neon_builtins.def: Remove entry for vcgt and vcgtu.
-
Prathamesh Kulkarni authored
gcc/ 2020-12-16 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> PR target/66791 * config/arm/arm_neon.h: Replace calls to __builtin_vneg* by - operator in vneg intrinsics. * config/arm/arm_neon_builtins.def: Remove entry for vneg.
-
Prathamesh Kulkarni authored
gcc/ 2020-12-16 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> PR target/66791 * config/arm/arm_neon.h: Replace calls to __builtin_vcreate* in vcreate intrinsics. * config/arm/arm_neon_builtins.def: Remove entry for vcreate.
-
GCC Administrator authored
-
- Dec 15, 2020
-
-
Marek Polacek authored
It turned out that r11-5942 fixed this old PR, and it was detected by one of the few dg-ice tests -- exactly the point of them! Now the PR won't be opened until someone notices that it'd been fixed. The patch failed to remove the dg-ice though, so now it XPASSes. Fixing this now. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/constexpr-52830.C: Remove dg-ice.
-
Marek Polacek authored
libcody/ChangeLog: * buffer.cc (MessageBuffer::Lex): Remove unused variable.
-
Nathan Sidwell authored
Older GCCs don't have all the exciting options we have now. let's just turn them off. libcody/ * Makefile.in: Disable some flags.
-
Nathan Sidwell authored
I missed adding these two configure files. contrib/ * gcc_update: Add c++tools & libcody.
-
Jakub Jelinek authored
When the divisor is bool or has [0, 1] range, as division by 0 is UB, the only remaining option in valid programs is division by 1, so we can optimize X / bool_range_Y into X. 2020-12-15 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/96094 * match.pd (X / bool_range_Y -> X): New simplification. * gcc.dg/tree-ssa/pr96094.c: New test.
-
Iain Buclaw authored
The DMD front-end shouldn't, but can sometimes leak manifest constants in the AST passed to the code generator. To prevent this being an issue, the setting of DECL_INITIAL has been moved to the point where the CONST_DECL is used, rather than in the declaration handler. gcc/d/ChangeLog: PR d/98277 * decl.cc (DeclVisitor::visit (VarDeclaration *)): Move setting of DECL_INITIAL for manifest constants to ... (get_symbol_decl): ... here. gcc/testsuite/ChangeLog: PR d/98277 * gdc.dg/pr98277.d: New test.
-
Ian Lance Taylor authored
This matches changes in 788d2048.
-
Ian Lance Taylor authored
For golang/go#43200 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/278452
-
Ian Lance Taylor authored
The test case for this is issue11614.go. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/278192
-
Ian Lance Taylor authored
This is specifically for the test fixedbugs/issue23781.go, which builds a large static array. The code does compile and work without this change, but it takes a long time and generates a large object file. Discarding the unnecessary static initializer makes this test much faster. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/278172
-
Ian Lance Taylor authored
A digit character is not invalid in general, but it's not permitted at the start of an identifier. Report a better error message. The test case is issue11359.go in the source repo. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/278174
-
Nathan Sidwell authored
I missed some other places that used += * config.m4: Avoid var+=... * configure: Rebuilt
-
Nathan Sidwell authored
Apparently 'var+=...' is not a dash thing. Fixed thusly. * config.m4: Avoid non-dash idiom * configure: Rebuilt.
-
Jonathan Wakely authored
This reverts commit cf4ed3b4. libstdc++-v3/ChangeLog: PR libstdc++/98108 * include/std/iostream (__ioinit): Remove init_priority attribute.
-
Keith Packard authored
The current libstdc++ basic_file_stdio.cc code assumes a POSIX API underneath the stdio implementation provided by the host libc. This means that the host must provide a fairly broad POSIX file API, including read, write, open, close, lseek and ioctl. This patch changes basic_file_stdio.cc to only use basic ANSI-C stdio functions, allowing it to be used with libc implementations like picolibc which may not have a POSIX operating system underneath. This is enabled by a new --enable-cstdio=stdio_pure configure option. Aided-by:
Jonathan Wakely <jwakely@redhat.com> Signed-off-by:
Keith Packard <keithp@keithp.com> libstdc++-v3/ChangeLog: * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Allow "stdio_pure" option and define _GLIBCXX_USE_PURE_STDIO when it is used. Also add "stdio_posix" option as an alias for "stdio". * config/io/basic_file_stdio.cc [_GLIBCXX_USE_PURE_STDIO]: Only use defined stdio entry points for all I/O operations, without direct calls to underlying POSIX functions. * config.h.in: Regenerate. * configure: Regenerate.
-