- Dec 18, 2020
-
-
Patrick Palka authored
The testcases are imported almost verbatim, with the only change being to the -double_nan and -float_nan testcases. We expect these values to be formatted as "-nan" instead of "-nan(ind)". libstdc++-v3/ChangeLog: * testsuite/20_util/to_chars/double.cc: New test, consisting of testcases imported from the MSVC STL testsuite. * testsuite/20_util/to_chars/float.cc: Likewise.
-
Patrick Palka authored
This implements the floating-point std::to_chars overloads for float, double and long double. We use the Ryu library to compute the shortest round-trippable fixed and scientific forms for float, double and long double. We also use Ryu for performing explicit-precision fixed and scientific formatting for float and double. For explicit-precision formatting for long double we fall back to using printf. Hexadecimal formatting for float, double and long double is implemented from scratch. The supported long double binary formats are binary64, binary80 (x86 80-bit extended precision), binary128 and ibm128. Much of the complexity of the implementation is in computing the exact output length before handing it off to Ryu (which doesn't do bounds checking). In some cases it's hard to compute the output length beforehand, so in these cases we instead compute an upper bound on the output length and use a sufficiently-sized intermediate buffer only if necessary. Another source of complexity is in the general-with-precision formatting mode, where we need to do zero-trimming of the string returned by Ryu, and where we also take care to avoid having to format the number through Ryu a second time when the general formatting mode resolves to fixed (which we determine by doing a scientific formatting first and inspecting the scientific exponent). We avoid going through Ryu twice by instead transforming the scientific form to the corresponding fixed form via in-place string manipulation. This implementation is non-conforming in a couple of ways: 1. For the shortest hexadecimal formatting, we currently follow the Microsoft implementation's decision to be consistent with the output of printf's '%a' specifier at the expense of sometimes not printing the shortest representation. For example, the shortest hex form for the number 1.08p+0 is 2.1p-1, but we output the former instead of the latter, as does printf. 2. The Ryu routine generic_binary_to_decimal that we use for performing shortest formatting for large floating point types is implemented using the __int128 type, but some targets with a large long double type lack __int128 (e.g. i686), so we can't perform shortest formatting of long double on such targets through Ryu. As a temporary stopgap this patch makes the long double to_chars overloads just dispatch to the double overloads on these targets, which means we lose precision in the output. (We could potentially fix this by writing a specialized version of Ryu's generic_binary_to_decimal routine that uses uint64_t instead of __int128.) [Though I wonder if there's a better way to work around the lack of __int128 on i686 specifically?] 3. Our shortest formatting for __ibm128 doesn't guarantee the round-trip property if the difference between the high- and low-order exponent is large. This is because we treat __ibm128 as if it has a contiguous 105-bit mantissa by merging the mantissas of the high- and low-order parts (using code extracted from glibc), so we potentially lose precision from the low-order part. This seems to be consistent with how glibc printf formats __ibm128. libstdc++-v3/ChangeLog: * config/abi/pre/gnu.ver: Add new exports. * include/std/charconv (to_chars): Declare the floating-point overloads for float, double and long double. * src/c++17/Makefile.am (sources): Add floating_to_chars.cc. * src/c++17/Makefile.in: Regenerate. * src/c++17/floating_to_chars.cc: New file. (to_chars): Define for float, double and long double. * testsuite/20_util/to_chars/long_double.cc: New test.
-
Patrick Palka authored
This performs the following modifications to our local copy of Ryu in order to make it more readily usable for our std::to_chars implementation: * Remove all #includes * Remove copy_special_str routines * Adjust the exponent formatting to match printf * Remove some functions we're not going to use * Add an out-parameter to d2exp_buffered_n for the scientific exponent * Store the sign bit inside struct floating_decimal_[32|64] * Rename [df]2s_buffered_n and change their return type * Make generic_binary_to_decimal take the bit representation in parts libstdc++-v3/ChangeLog: * src/c++17/ryu/common.h, src/c++17/ryu/d2fixed.c, src/c++17/ryu/d2fixed_full_table.h, src/c++17/ryu/d2s.c, src/c++17/ryu/d2s_intrinsics.h, src/c++17/ryu/f2s.c, src/c++17/ryu/f2s_intrinsics.h, src/c++17/ryu/generic_128.c: Apply local modifications.
-
Patrick Palka authored
This imports the source files from the Ryu library that define d2s_buffered_n, f2s_buffered_n, d2fixed_buffered_n, d2exp_buffered_n and generic_binary_to_decimal, which we're going to use as the base of our std::to_chars implementation. libstdc++-v3/ChangeLog: * src/c++17/ryu/MERGE: New file. * src/c++17/ryu/common.h, src/c++17/ryu/d2fixed.c, src/c++17/ryu/d2fixed_full_table.h, src/c++17/ryu/d2s.c, src/c++17/ryu/d2s_full_table.h, src/c++17/ryu/d2s_intrinsics.h, src/c++17/ryu/digit_table.h, src/c++17/ryu/f2s.c, src/c++17/ryu/f2s_intrinsics.h, src/c++17/ryu/generic_128.c, src/c++17/ryu/generic_128.h, src/c++17/ryu/ryu_generic_128.h: Import these files from the Ryu library.
-
Patrick Palka authored
This makes tracking of potentially unstable satisfaction results more precise by recording the specific types for which completion failed during satisfaction. We now recompute a satisfaction result only if one of these types has been completed since the last time we computed the satisfaction result. Thus the number of times that we recompute a satisfaction result is now bounded by the number of such incomplete types, rather than being effectively unbounded. This allows us to remove the invalid assumption in note_ftc_for_satisfaction that was added to avoid a compile time performance regression in cmcstl2 due to repeated recomputation of a satisfaction result that depended on completion of a permanently incomplete class template specialization. In order to continue to detect the instability in concepts-complete3.C, we also need to explicitly keep track of return type deduction failure alongside type completion failure. So this patch also adds a call to note_ftc_for_satisfaction in require_deduced_type. gcc/cp/ChangeLog: * constraint.cc (satisfying_constraint): Move up definition and give it bool type. (failed_type_completion_count): Replace with ... (failed_type_completions): ... this. (note_failed_type_completion_for_satisfaction): Append the supplied argument to failed_type_completions. (some_type_complete_p): Define. (sat_entry::maybe_unstable): Replace with ... (sat_entry::ftc_begin, sat_entry::ftc_end): ... these. (satisfaction_cache::ftc_count): Replace with ... (satisfaction_cache::ftc_begin): ... this. (satisfaction_cache::satisfaction_cache): Adjust accordingly. (satisfaction_cache::get): Adjust accordingly, using some_type_complete_p. (satisfaction_cache::save): Adjust accordingly. (satisfying_constraint_p): Remove unused function. (satisfy_constraint): Set satisfying_constraint. (satisfy_declaration_constraints): Likewise. * decl.c (require_deduced_type): Call note_failed_type_completion_for_satisfaction.
-
Patrick Palka authored
This patch further extends the satisfaction_cache class to diagnose self-recursive satisfaction. gcc/cp/ChangeLog: * constraint.cc (sat_entry::evaluating): New member. (satisfaction_cache::get): If entry->evaluating, diagnose self-recursive satisfaction. Otherwise, set entry->evaluating if we're not reusing a cached satisfaction result. (satisfaction_cache::save): Clear entry->evaluating. (satisfy_atom): Set up diagnosing_failed_constraint before the first call to get(). gcc/testsuite/ChangeLog: PR c++/96840 * g++.dg/cpp2a/concepts-pr88395.C: Adjust to expect the self-recursive satisfaction to get directly diagnosed. * g++.dg/cpp2a/concepts-recursive-sat2.C: Likewise. * g++.dg/cpp2a/concepts-recursive-sat4.C: New test.
-
Patrick Palka authored
This implements lightweight heuristical detection and diagnosing of satisfaction whose result changes at different points in the program, which renders the program ill-formed NDR as of P2104. We've recently started to more aggressively cache satisfaction results, and so the goal with this patch is to make this caching behavior more transparent to the user. A satisfaction result is flagged as "potentially unstable" (at the atom granularity) if during its computation, some type completion failure occurs. This is detected by making complete_type_or_maybe_complain increment a counter upon failure and comparing the value of the counter before and after satisfaction. (We don't instrument complete_type directly because it's used "opportunistically" in many spots where type completion failure doesn't necessary lead to substitution failure.) Such flagged satisfaction results are always recomputed from scratch, even when performing satisfaction quietly. When saving a satisfaction result, we now compare the computed result with the cached result, and if they differ, proceed with diagnosing the instability. Most of the implementation is confined to the satisfaction_cache class, which has been completely rewritten. gcc/cp/ChangeLog: * constraint.cc (failed_type_completion_count): New. (note_failed_type_completion_for_satisfaction): New. (sat_entry::constr): Rename to ... (sat_entry::atom): ... this. (sat_entry::location): New member. (sat_entry::maybe_unstable): New member. (sat_entry::diagnose_instability): New member. (struct sat_hasher): Adjust after the above renaming. (get_satisfaction, save_satisfaction): Remove. (satisfaction_cache): Rewrite completely. (satisfy_atom): When instantiation of the parameter mapping fails, set diagnose_instability. Propagate location from inst_cache.entry to cache.entry if the secondary lookup succeeded. (satisfy_declaration_constraints): When failed_type_completion_count differs before and after satisfaction, then don't cache the satisfaction result. * cp-tree.h (note_failed_type_completion_for_satisfaction): Declare. * pt.c (tsubst) <case TYPENAME_TYPE>: Use complete_type_or_maybe_complain instead of open-coding it. * typeck.c (complete_type_or_maybe_complain): Call note_failed_type_completion_for_satisfaction when type completion fails. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/concepts-complete1.C: New test. * g++.dg/cpp2a/concepts-complete2.C: New test. * g++.dg/cpp2a/concepts-complete3.C: New test.
-
GCC Administrator authored
-
- Dec 17, 2020
-
-
Przemyslaw Wirkus authored
This patch adds support for -mcpu=cortex-a78c command line option. For more information about this processor, see [0]: [0] https://developer.arm.com/ip-products/processors/cortex-a/cortex-a78c gcc/ChangeLog: * config/arm/arm-cpus.in: Add Cortex-A78C core. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm-tune.md: Regenerate. * doc/invoke.texi: Update docs.
-
Richard Sandiford authored
I'd used reg_raw_mode[regno] for general registers, even though the array is only valid for hard registers. This patch uses regno_reg_rtx instead. gcc/ PR rtl-optimization/98347 * rtl-ssa/access-utils.h (full_register): Use regno_reg_rtx instead of reg_raw_mode.
-
H.J. Lu authored
commit 64432b68 Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com> Date: Thu Dec 17 18:02:37 2020 +0000 vect, aarch64: Extend SVE vs Advanced SIMD costing decisions in vect_better_loop_vinfo_p changed default_estimated_poly_value to HOST_WIDE_INT default_estimated_poly_value (poly_int64 x, poly_value_estimate_kind) { return x.coeffs[0]; } Update default_estimated_poly_value prototype in targhooks.h to match it. * targhooks.h (default_estimated_poly_value): Updated.
-
Nathan Sidwell authored
It seems users are confused by the lack of standard library header units. gcc/ * doc/invoke.texi (C++ Modules): Document lack of std library header units.
-
Kyrylo Tkachov authored
While experimenting with some backend costs for Advanced SIMD and SVE I hit many cases where GCC would pick SVE for VLA auto-vectorisation even when the backend very clearly presented cheaper costs for Advanced SIMD. For a simple float addition loop the SVE costs were: vec.c:9:21: note: Cost model analysis: Vector inside of loop cost: 28 Vector prologue cost: 2 Vector epilogue cost: 0 Scalar iteration cost: 10 Scalar outside cost: 0 Vector outside cost: 2 prologue iterations: 0 epilogue iterations: 0 Minimum number of vector iterations: 1 Calculated minimum iters for profitability: 4 and for Advanced SIMD (Neon) they're: vec.c:9:21: note: Cost model analysis: Vector inside of loop cost: 11 Vector prologue cost: 0 Vector epilogue cost: 0 Scalar iteration cost: 10 Scalar outside cost: 0 Vector outside cost: 0 prologue iterations: 0 epilogue iterations: 0 Calculated minimum iters for profitability: 0 vec.c:9:21: note: Runtime profitability threshold = 4 yet the SVE one was always picked. With guidance from Richard this seems to be due to the vinfo comparisons in vect_better_loop_vinfo_p, in particular the part with the big comment explaining the estimated_rel_new * 2 <= estimated_rel_old heuristic. This patch extends the comparisons by introducing a three-way estimate kind for poly_int values that the backend can distinguish. This allows vect_better_loop_vinfo_p to ask for minimum, maximum and likely estimates and pick Advanced SIMD overs SVE when it is clearly cheaper. gcc/ * target.h (enum poly_value_estimate_kind): Define. (estimated_poly_value): Take an estimate kind argument. * target.def (estimated_poly_value): Update definition for the above. * doc/tm.texi: Regenerate. * targhooks.c (estimated_poly_value): Update prototype. * tree-vect-loop.c (vect_better_loop_vinfo_p): Use min, max and likely estimates of VF to pick between vinfos. * config/aarch64/aarch64.c (aarch64_cmp_autovec_modes): Use estimated_poly_value instead of aarch64_estimated_poly_value. (aarch64_estimated_poly_value): Take a kind argument and handle it.
-
Nathan Sidwell authored
Clang didn't like sizeot (uintset::value) in a templated context. Not sure where the problem lies -- ambiguous std, gcc erroneous accept or clang erroneous reject. Anyway, this avoids that construct. PR c++/98340 gcc/cp/ * module.cc (uintset<T>::hash::add): Use uintset (0u).MEMBER, rather than uintset::MEMBER.
-
Nathan Sidwell authored
While this doesn't fix 98324, it was an omission. Cribbed code from libcpp to build libcody as PIC. libcody/ * configure.ac: Add --enable-host-shared. * Makefile.in: Add FLAGPIC. * configure: Regenerated.
-
Jonathan Wakely authored
This applies the same changes to the djgpp and mingw versions of error_constants.h as r11-6137 did for the generic version. All of these constants are defined as macros by <errno.h> on these targets, so we can just test the macro directly instead of checking for it at configure time. libstdc++-v3/ChangeLog: * config/os/djgpp/error_constants.h: Test POSIX errno macros directly, instead of corresponding _GLIBCXX_HAVE_EXXX macros. * config/os/mingw32-w64/error_constants.h: Likewise. * config/os/mingw32/error_constants.h: Likewise.
-
Jonathan Wakely authored
The refactoring in r11-5500 altered the condition for the gthreads-timed test from #if to #ifdef. For some reason that macro is always defined, rather than being defined to 1 or undefined like most of our autoconf macros. That means the test always passes now, even for targets where the macro is defined to 0 (specifically, Darwin). That causes some tests to FAIL when they should have been UNSUPPORTED. This restores the previous behaviour. libstdc++-v3/ChangeLog: * testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed): Fix condition for _GTHREAD_USE_MUTEX_TIMEDLOCK test.
-
Andrea Corallo authored
gcc/ChangeLog 2020-12-17 Andrea Corallo <andrea.corallo@arm.com> * config/arm/arm_neon.h (vcreate_p64): Remove call to '__builtin_neon_vcreatedi'.
-
Andrew MacLeod authored
Processing op1_range for conversion between a non-pointer and pointer shouldnt do any fancy math. gcc/ PR tree-optimization/97750 * range-op.cc (operator_cast::op1_range): Handle pointers better. gcc/testsuite/ * gcc.dg/pr97750.c: New.
-
Rainer Orth authored
The RTL SSA merge broke SPARC bootstrap: In file included from ./tm_p.h:4, from /vol/gcc/src/hg/master/local/gcc/rtl-ssa.h:54, from /vol/gcc/src/hg/master/local/gcc/fwprop.c:29: /vol/gcc/src/hg/master/local/gcc/config/sparc/sparc-protos.h:45:47: error: use of enum 'memmodel' without previous declaration extern void sparc_emit_membar_for_model (enum memmodel, int, int); ^~~~~~~~ and similarly in rtl-ssa/functions.cc, rtl-ssa/changes.cc, and rtl-ssa/insns.cc. Fixed by moving the memmove.h include in rtl-ssa.h before tm_p.h. Tested on sparc-sun-solaris2.11 and i386-pc-solaris2.11. 2020-12-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> gcc: * rtl-ssa.h: Include memmodel.h before tm_p.h.
-
Nathan Sidwell authored
Sadly strsignal is nonportable, so signal numbers it is then. c++tools/ * server.cc (crash_signal): Don't use strsignal.
-
Jonathan Wakely authored
As noted in PR 66146 comment 35, there is a new warning in the new std::call_once implementation. libstdc++-v3/ChangeLog: * src/c++11/mutex.cc (std::once_flag::_M_finish): Add maybe_unused attribute to variable used in assertion.
-
Jonathan Wakely authored
libstdc++-v3/ChangeLog: PR libstdc++/98344 * include/bits/semaphore_base.h: Fix preprocessor condition.
-
Jonathan Wakely authored
This makes the hash function available without including the whole of <thread>, which is needed for <barrier>. libstdc++-v3/ChangeLog: * include/bits/std_thread.h (hash<thread::id>): Move here, from ... * include/std/thread (hash<thread::id>): ... here.
-
Jonathan Wakely authored
I forgot to regenerate these files in r11-6137. libstdc++-v3/ChangeLog: * config.h.in: Regenerate. * configure: Regenerate.
-
Nathan Sidwell authored
When breaking out the sample server from the gcc/cp directory, it lost its check for mmap, and the sample resolver just assumed it was there. Fixed thusly. The non-mapping paths in module.cc weren't (recently) excercised, and led to a signedness warning. Finally I'd missed c++tools's config.h.in in the gcc_update script. There I took the opportunity of adding a 'tools' segment of the dependency lists. PR bootstrap/98300 contrib/ * gcc_update: Add c++tools/config.h.in. c++tools/ * configure.ac: Check for sys/mman.h. * resolver.cc: Don't assume mmap, O_CLOEXEC are available. Use xmalloc. * config.h.in: Regenerated. * configure: Regenerated. gcc/cp/ * module.cc: Fix ::read, ::write result signedness comparisons.
-
Nathan Sidwell authored
This asm was a useful place for gdb to drop a breakpoint and make it clear where you were when debugging. I took a punt that 'surely every arch has a nop instruction'. Well, no, some apparently have nops with operands (what, do nothing harder? :) libcody/ * fatal.cc (HCF): Remove nop breakpoint lander.
-
Jakub Jelinek authored
Seems c++tools doesn't honor --with-gcc-major-version-only. Our distro uses that flag and so everything is installed in /usr/lib/gcc/<target>/11/... /usr/libexec/gcc/<target>/11/... except /usr/libexec/gcc/<target>/11.0.0/g++-mapper-server The following patch should fix that. 2020-12-17 Jakub Jelinek <jakub@redhat.com> * configure.ac: Add GCC_BASE_VER. * Makefile.in (version): Remove variable. (gcc_version): New variable. (libexecsubdir): Use $(gcc_version) instead of $(version). * configure: Regenerated.
-
Jakub Jelinek authored
As mentioned in the PR, shrink-wrapping disqualifies for prologue placement basic blocks that have EDGE_CROSSING incoming edge. I don't see why that is necessary, those edges seem to be redirected just fine, both on x86_64 and powerpc64. In the former case, they are usually conditional jumps that patch_jump_insn can handle just fine, after all, they were previously crossing and will be crossing after the redirection too, just to a different label. And in the powerpc64 case, it is a simple_jump instead that again seems to be handled by patch_jump_insn just fine. Sure, redirecting an edge that was previously not crossing to be crossing or vice versa can fail, but that is not what shrink-wrapping needs. Also tested in GCC 8 with this patch and don't see ICEs there either (though, of course, I'm not suggesting we should backport this to release branches). The old ICEs could have been fixed by PR87475 fix or some other one years ago. 2020-12-17 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/98289 * shrink-wrap.c (can_get_prologue): Don't punt on EDGE_CROSSING incoming edges. * gcc.target/i386/pr98289.c: New test. * gcc.dg/torture/pr98289.c: New test.
-
Arnaud Charlet authored
gcc/ada/ * libgnat/a-tags.ads, libgnat/a-tags.adb (CW_Membership): Move to spec to allow inlining. gcc/testsuite/ * gnat.dg/debug15.adb: Remove fragile testcase.
-
Arnaud Charlet authored
gcc/ada/ * checks.adb: Remove, not used. * checks.ads: Likewise. * exp_ch6.adb: Likewise. * exp_ch7.adb: Likewise. * exp_ch7.ads: Likewise. * exp_fixd.adb: Likewise. * exp_tss.adb: Likewise. * exp_tss.ads: Likewise. * exp_util.adb: Likewise. * exp_util.ads: Likewise. * gnat1drv.adb: Likewise. * libgnat/s-finmas.adb: Likewise. * libgnat/s-finmas.ads: Likewise. * libgnat/system-aix.ads: Likewise. * libgnat/system-darwin-arm.ads: Likewise. * libgnat/system-darwin-ppc.ads: Likewise. * libgnat/system-darwin-x86.ads: Likewise. * libgnat/system-djgpp.ads: Likewise. * libgnat/system-dragonfly-x86_64.ads: Likewise. * libgnat/system-freebsd.ads: Likewise. * libgnat/system-hpux-ia64.ads: Likewise. * libgnat/system-hpux.ads: Likewise. * libgnat/system-linux-alpha.ads: Likewise. * libgnat/system-linux-arm.ads: Likewise. * libgnat/system-linux-hppa.ads: Likewise. * libgnat/system-linux-ia64.ads: Likewise. * libgnat/system-linux-m68k.ads: Likewise. * libgnat/system-linux-mips.ads: Likewise. * libgnat/system-linux-ppc.ads: Likewise. * libgnat/system-linux-riscv.ads: Likewise. * libgnat/system-linux-s390.ads: Likewise. * libgnat/system-linux-sh4.ads: Likewise. * libgnat/system-linux-sparc.ads: Likewise. * libgnat/system-linux-x86.ads: Likewise. * libgnat/system-lynxos178-ppc.ads: Likewise. * libgnat/system-lynxos178-x86.ads: Likewise. * libgnat/system-mingw.ads: Likewise. * libgnat/system-qnx-aarch64.ads: Likewise. * libgnat/system-rtems.ads: Likewise. * libgnat/system-solaris-sparc.ads: Likewise. * libgnat/system-solaris-x86.ads: Likewise. * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise. * libgnat/system-vxworks-arm-rtp.ads: Likewise. * libgnat/system-vxworks-arm.ads: Likewise. * libgnat/system-vxworks-e500-kernel.ads: Likewise. * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise. * libgnat/system-vxworks-e500-rtp.ads: Likewise. * libgnat/system-vxworks-e500-vthread.ads: Likewise. * libgnat/system-vxworks-ppc-kernel.ads: Likewise. * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise. * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise. * libgnat/system-vxworks-ppc-rtp.ads: Likewise. * libgnat/system-vxworks-ppc-vthread.ads: Likewise. * libgnat/system-vxworks-ppc.ads: Likewise. * libgnat/system-vxworks-x86-kernel.ads: Likewise. * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise. * libgnat/system-vxworks-x86-rtp.ads: Likewise. * libgnat/system-vxworks-x86-vthread.ads: Likewise. * libgnat/system-vxworks-x86.ads: Likewise. * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-aarch64.ads: Likewise. * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-arm.ads: Likewise. * libgnat/system-vxworks7-e500-kernel.ads: Likewise. * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-e500-rtp.ads: Likewise. * libgnat/system-vxworks7-ppc-kernel.ads: Likewise. * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-ppc-rtp.ads: Likewise. * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise. * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-x86-kernel.ads: Likewise. * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-x86-rtp.ads: Likewise. * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise. * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise. * repinfo.adb: Likewise. * repinfo.ads: Likewise. * rtsfind.ads: Likewise. * sem_aux.adb: Likewise. * sem_aux.ads: Likewise. * sem_ch13.adb: Likewise. * sem_ch13.ads: Likewise. * sem_util.adb (Validity_Checks_Suppressed, TSS, Is_All_Null_Statements, Known_Non_Negative, Non_Limited_Designated_Type, Get_Binary_Nkind, Get_Unary_Nkind, Is_Protected_Operation, Number_Components, Package_Body, Validate_Independence, Independence_Checks): Likewise; update comments. * targparm.adb: Likewise. * targparm.ads (AAM, AAM_Str, Fractional_Fixed_Ops, Frontend_Layout, Make_Detach_Call, Target_Has_Fixed_Ops, Detach, Back_End_Layout, Create_Dynamic_SO_Ref, Get_Dynamic_SO_Entity, Is_Dynamic_SO_Ref, Is_Static_SO_Ref, Fractional_Fixed_Ops_On_Target): Likewise. * validsw.adb (Save_Validity_Check_Options, Set_Default_Validity_Check_Options): Likewise. * validsw.ads: Likewise.
-
Arnaud Charlet authored
gcc/ada/ * symbols.ads, symbols.adb: Removed no longer used.
-
Arnaud Charlet authored
gcc/ada/ * sem_util.adb (New_Requires_Transient_Scope): Renamed Requires_Transient_Scope. (Requires_Transient_Scope, Old_Requires_Transient_Scope, Results_Differ): Removed. * debug.adb: Remove -gnatdQ.
-
Eric Botcazou authored
gcc/ada/ * libgnat/s-valrea.adb (Need_Extra): Fix comment.
-
Piotr Trojanek authored
gcc/ada/ * sem_ch5.adb (Analyze_Case_Statement): Move modification of Unblocked_Exit_Count after early return statements; fix typo in comment.
-
Piotr Trojanek authored
gcc/ada/ * sem_ch5.adb (Analyze_Case_Statement): Change local variable Exp to constant; remove unreferenced Last_Choice variable; reduce scope of other variables. (Analyze_If_Statement): Reduce scope of a local variable; add comment.
-
Piotr Trojanek authored
gcc/ada/ * opt.ads (Multiple_Unit_Index): Refine type from Int to Nat.
-
Piotr Trojanek authored
gcc/ada/ * sem_util.adb (In_Check_Node): Add guard and rename Node to Par, just like it is done in surrounding routines, e.g. In_Assertion_Expression_Pragma and In_Generic_Formal_Package.
-
Bob Duff authored
gcc/ada/ * libgnat/a-cbdlli.adb, libgnat/a-cbdlli.ads, libgnat/a-cdlili.adb, libgnat/a-cdlili.ads, libgnat/a-cidlli.adb, libgnat/a-cidlli.ads, libgnat/a-cobove.adb, libgnat/a-cobove.ads, libgnat/a-coinve.adb, libgnat/a-coinve.ads, libgnat/a-convec.adb, libgnat/a-convec.ads: Add *_Vector operations, remove default for Count, rename Append_One to be Append.
-
Arnaud Charlet authored
gcc/ada/ * sem_res.adb (Resolve_Declare_Expression): Need to establish a transient scope in case Expression (N) requires actions to be wrapped. Code cleanup. * exp_ch7.adb, exp_ch11.adb: Code cleanup.
-