Age | Commit message (Collapse) | Author | Files | Lines |
|
* doc/xml/manual/intro.xml: Document LWG 2442 status.
* include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
[_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
partial specialization to unpack args and forward to std::invoke.
(call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
instead of __bind_simple and __once_call_impl.
(call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
__bind_simple.
* testsuite/30_threads/call_once/dr2442.cc: New test.
From-SVN: r241031
|
|
* gimple-fold.c (create_tmp_reg_or_ssa_name): New function.
(gimple_fold_builtin_memory_op): Use the function.
(gimple_fold_builtin_strchr): Likewise.
(gimple_fold_builtin_strcat): Likewise.
(gimple_build): Likewise.
From-SVN: r241030
|
|
without a parent only if...
2016-10-12 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Check_Formal_Package_Instance): Skip an internal
formal entity without a parent only if the corresponding actual
entity has a different kind.
* exp_ch9.adb (Build_Class_Wide_Master): If the master is
declared locally, insert the renaming declaration after the
master declaration, to prevent access before elaboration in gigi.
From-SVN: r241029
|
|
iterable aspect when present.
2016-10-12 Ed Schonberg <schonberg@adacore.com>
* contracts.adb (Analyze_Contracts): For a type declaration, analyze
an iterable aspect when present.
From-SVN: r241028
|
|
From-SVN: r241027
|
|
2016-10-12 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Check_Formal_Package_Instance): Handle properly
an instance of a formal package with defaults, when defaulted
parameters include tagged private types and array types.
2016-10-12 Tristan Gingold <gingold@adacore.com>
* restrict.ads, restrict.adb (Restricted_Profile): Adjust
comment, use Restricted_Tasking to compare restrictions.
* s-rident.ads (Profile_Name): Add Restricted_Tasking and
reorder literals.
(Profile_Info): Set restrictions for Restricted_Tasking.
2016-10-12 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Full_Type_Declaration): Set Ghost status
of type before elaborating inherited operations, so that the
Ghost status is set properly for them.
* ghost.adb (Check_Ghost_Overriding): A ghost subprogram can
override an abstract subprogram coming from an interface
operation.
From-SVN: r241026
|
|
Ada.Strings.Unbounded)
2016-10-12 Eric Botcazou <ebotcazou@adacore.com>
PR ada/64057
* exp_ch5.adb (Is_Non_Local_Array): Return true for every array
that is not a component or slice of an entity in the current
scope.
From-SVN: r241025
|
|
This enhances location description generation so that the generated
opcodes for integer literals are as space-efficient when HOST_WIDE_INT
is 64-bits large than when it's 32-bits large. In particular, this
reduces the size of the opcodes generated to produce big unsigned
literals using small literal integers instead.
gcc/
* dwarf2out.c (int_loc_descriptor): Generate opcodes for another
equivalent 32-bit constant (modulo 2**32) when that yields
smaller instructions.
(size_of_int_loc_descriptor): Update accordingly.
gcc/testsuite/
* gnat.dg/debug8.adb: New testcase.
From-SVN: r241024
|
|
In Ada, it is possible to have nested subprograms in the following
configuration:
procedure Parent is
type T;
[...]
procedure Child (Value : T) is
begin
[...]
end Child;
begin
[...]
end Parent;
As we currently generate debugging information for Child first before
Parent, the debug info for T appears in global scope since the DIE for
Parent does not exist yet.
This patch makes sure that when we generate early debug info for a
nested function, we trigger generation for the parent function first.
gcc/
* dwarf2out.c (dwarf2out_early_global_decl): For nested
functions, call dwarf2out_decl on the parent function first.
gcc/testsuite/
* gnat.dg/debug9.adb: New testcase.
From-SVN: r241023
|
|
conversion.
2016-10-12 Richard Biener <rguenther@suse.de>
* match.pd ((X /[ex] A) * A -> X): Remove unnecessary constraint
on the conversion.
From-SVN: r241022
|
|
* tree-ssa-propagate.c
(substitute_and_fold_dom_walker::before_dom_children): Do not
ignore ASSERT_EXPRs but only preserve them.
* tree-vrp.c (remove_range_assertions): Deal with ASSERT_EXPRs
that have been propagated into.
(vrp_finalize): Enable DCE for substitute_and_fold.
* gcc.dg/tree-ssa/vrp35.c: Adjust.
* gcc.dg/tree-ssa/vrp36.c: Likewise.
* gcc.dg/tree-ssa/vrp46.c: Likewise.
From-SVN: r241021
|
|
2016-10-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/77920
* tree-vrp.c (simplify_div_or_mod_using_ranges): Simplify.
(simplify_min_or_max_using_ranges): Pass in gsi and use it.
(simplify_abs_using_ranges): Likewise.
(simplify_conversion_using_ranges): Likewise.
(simplify_stmt_using_ranges): Adjust.
* gcc.dg/torture/pr77920.c: New testcase.
From-SVN: r241020
|
|
conversion at assignment))
PR tree-optimization/77929
* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Handle
(*ops)[ranges[i].idx]->op != ranges[i].exp case.
* gcc.c-torture/compile/pr77929.c: New test.
From-SVN: r241019
|
|
2016-10-12 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
PR target/77934
* config/rs6000/vmx.md (vsx_concat_<mode>): The mtvsrdd instruction
needs a base register for arg 1.
From-SVN: r241017
|
|
From-SVN: r241016
|
|
* common.opt (Wimplicit-fallthrough) Turn into alias to
-Wimplicit-fallthrough=3. Remove EnabledBy.
(Wimplicit-fallthrough=): New option.
* gimplify.c (warn_implicit_fallthrough_r): Use
OPT_Wimplicit_fallthrough_ instead of OPT_Wimplicit_fallthrough.
* doc/invoke.texi (-Wimplicit-fallthrough): Document as alias
to -Wimplicit-fallthrough=3.
(-Wimplicit-fallthrough=): Document.
gcc/c-family/
* c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
(Wimplicit-fallthrough=): Enable for these languages by -Wextra.
* c-opts.c (sanitize_cpp_opts): Initialize
cpp_opts->cpp_warn_implicit_fallthrough.
gcc/testsuite/
* c-c++-common/Wimplicit-fallthrough-25.c: New test.
* c-c++-common/Wimplicit-fallthrough-26.c: New test.
* c-c++-common/Wimplicit-fallthrough-27.c: New test.
* c-c++-common/Wimplicit-fallthrough-28.c: New test.
* c-c++-common/Wimplicit-fallthrough-29.c: New test.
* c-c++-common/Wimplicit-fallthrough-30.c: New test.
* c-c++-common/Wimplicit-fallthrough-31.c: New test.
* c-c++-common/Wimplicit-fallthrough-32.c: New test.
* c-c++-common/Wimplicit-fallthrough-33.c: New test.
libcpp/
* include/cpplib.h (struct cpp_options): Add
cpp_warn_implicit_fallthrough.
* init.c (cpp_create_reader): Initialize it to 0.
* lex.c (fallthrough_comment_p): Handle different
cpp_warn_implicit_fallthrough levels. Whitespace fixes.
From-SVN: r241013
|
|
TARGET_SUBXC.
* config/sparc/sparc.c (emit_scc_insn): Remove direct support for EQ
and GEU in DImode if TARGET_SUBXC.
* config/sparc/sparc.md (seqdi<W:mode>_zero): Remove TARGET_SUBXC.
(seqdi<W:mode>_zero_subxc): Delete.
(neg_seqdi<W:mode>_zero): Remove TARGET_VIS3.
(neg_seqdi<W:mode>_zero_vis3): Delete.
(plus_seqdi<W:mode>_zero): Likewise.
(minus_seqdi<W:mode>_zero): Likewise.
(plus_plus_sltu<W:mode>): Accept only register.
(addx<W:mode>): Likewise.
(plus_sltu<W:mode>_vis3): Likewise.
(plus_plus_sltu<W:mode>_vis3): Likewise.
(neg_sgeu<W:mode>_vis3): Delete.
(minus_sgeu<W:mode>_vis3): Likewise.
(addxc<W:mode>): Accept only registers.
(neg_sltu<W:mode>_subxc): Write %%g0 instead of 0.
(minus_neg_sltu<W:mode>_subxc): Accept only register.
(neg_plus_sltu<W:mode>_subxc): Likewise.
(minus_sltu<W:mode>_subxc): Write %%g0 instead of 0.
(minus_minus_sltu<W:mode>_subxc): Accept only register.
(sgeu<W:mode>_insn_subxc): Delete.
(plus_sgeu<W:mode>_subxc): Likewise.
(subxc<W:mode>): Accept only register.
(scc splitter): Split always GEU again.
From-SVN: r241012
|
|
* iresolve.c (is_trig_resolved, resolve_trig_call): Formatting fixes.
* simplify.c (simplify_trig_call, degrees_f, radians_f,
gfc_simplify_atrigd, gfc_simplify_cotan): Likewise.
From-SVN: r241010
|
|
PR tree-optimization/77424
* tree-ssa-threadupdate.c (thread_through_all_blocks): Remove
dead conditionals. Assert that all e->aux fields are NULL.
From-SVN: r241009
|
|
at fortran/simplify.c:1845)
2016-10-11 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77942
* simplify.c (gfc_simplify_cshift): Check for zero.
2016-10-11 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77942
* gfortran.dg/pr77942.f90
From-SVN: r241008
|
|
* system-linux-armeb.ads (Backend_Overflow_Checks): Change to True.
* system-linux-mips.ads (Backend_Overflow_Checks): Likewise.
* system-linux-mips64el.ads (Backend_Overflow_Checks): Likewise.
* system-linux-mipsel.ads (Backend_Overflow_Checks): Likewise.
* system-linux-sparcv9.ads (Backend_Overflow_Checks): Likewise.
* system-rtems.ads: Likewise.
From-SVN: r241003
|
|
gcc/ChangeLog:
* print-rtl.c (print_rtx): Rename "i" to "idx". Split out the
operand-printing "switch" statement into...
(print_rtx_operand_code_0): ...this new function, ...
(print_rtx_operand_code_e): ...this new function, ...
(print_rtx_operand_codes_E_and_V): ...this new function, ...
(print_rtx_operand_code_i): ...this new function, ...
(print_rtx_operand_code_r): ...this new function, ...
(print_rtx_operand_code_u): ...this new function, ...
(print_rtx_operand): ...and this new function.
From-SVN: r241002
|
|
2016-10-11 Fritz Reese <fritzoreese@gmail.com>
Fix bad commit for -fdec-math.
* iresolve.c (get_radians, get_degrees): Fix sloppy commit.
* simplify.c (degrees_f, radians_f): Ditto.
From-SVN: r241001
|
|
2016-10-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* simplify.c (radians_f): Fix mpdr_mod.
* ireolce.c (get_degrees): Declare tmp.
From-SVN: r241000
|
|
2016-10-11 Andris Pavenis <andris.pavenis@iki.fi>
* adaint.c: Include process.h, signal.h, dir.h and utime.h for DJGPP.
ISALPHA: include <ctype.h> and define to isalpha for DJGPP when IN_RTS is defined.
(DIR_SEPARATOR) define to '\\' for DJGPP.
(__gnat_get_file_names_case_sensitive): return 0 for DJGPP unless
overriden in environment
(__gnat_is_absolute_path): Support MS-DOS style absolute paths for DJGPP.
(__gnat_portable_spawn): Use spewnvp for DJGPP.
(__gnat_portable_no_block_spawn): Use spawnvp for DJGPP.
(__gnat_portable_wait): Return 0 for DJGPP.
From-SVN: r240999
|
|
2016-10-11 Andris Pavenis <andris.pavenis@iki.fi>
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Define for DJGPP target
(EH_MECHANISM): Define to -gcc for DJGPP
* system-djgpp.ads: New file
From-SVN: r240998
|
|
2016-10-11 Andris Pavenis <andris.pavenis@iki.fi>
* ctrl_c.c: Do not use macro SA_RESTART for DJGPP.
* gsocket.h: Do not support sockets for DJGPP.
* init.c (__gnat_install_handler): Implememt for DJGPP
* sysdep.c: Include <io.h> for DJGPP
(_setmode): Define to setmode for DJGPP
(__gnat_set_mode): Add implementation for DJGPP
(__gnat_localtime_tzoff): Use localtime_r for DJGPP
* terminals.c: Add DJGPP to list of unsupported platforms.
* env.c (__gnat_clearenv): use _gnat_unsetenv on all entries for DJGPP
From-SVN: r240997
|
|
* config/alpha/alpha-passes.def: New file.
* config/alpha/t-alpha: New file.
* config/alpha/alpha-protos.h (gcc::context, rtl_opt_pass): Declare.
(make_pass_handle_trap_shadows): New prototype.
(make_pass_align_insns): Ditto.
* config/alpha/alpha.c (alpha_option_override): Don't register
passes here.
* config.gcc (alpha*-*-*) Add alpha/t-alpha to tmake_file.
From-SVN: r240996
|
|
2016-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/77924
* config/rs6000/rs6000.c (rs6000_init_builtins): Only create the
distinct __ibm128 IBM extended double type if long doubles are
128-bits and the default format for long double is IEEE 128-bit.
From-SVN: r240994
|
|
Avoid an error message in the middle of the configure output.
Patch by Eric Botcazou.
Reviewed-on: https://go-review.googlesource.com/30813
From-SVN: r240993
|
|
2016-10-11 Richard Biener <rguenther@suse.de>
* dwarf2out.c (DEBUG_STR_OFFSETS_SECTION): Remove conditional.
(init_sections_and_labels): Use DEBUG_DWO_STR_OFFSETS_SECTION.
(verify_die): New function.
(dwarf2out_finish): Call it.
(output_line_info): Handle case of -gsplit-dwarf without
DWARF2_ASM_LINE_DEBUG_INFO.
From-SVN: r240992
|
|
2016-10-11 Richard Biener <rguenther@suse.de>
PR debug/77931
* gimple-low.c (lower_gimple_bind): Handle arbitrary common
sub-chains of BLOCK_VARS and gimple_bind_vars.
From-SVN: r240991
|
|
2016-10-11 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
* config/i386/znver1.md : Fix imov/imovx load type reservations.
From-SVN: r240990
|
|
2016-10-11 Fritz Reese <fritzoreese@gmail.com>
New flag -fdec-math for COTAN and degree trig intrinsics.
gcc/fortran/
* lang.opt: New flag -fdec-math.
* options.c (set_dec_flags): Enable with -fdec.
* invoke.texi, gfortran.texi, intrinsic.texi: Update documentation.
* intrinsics.c (add_functions, do_simplify): New intrinsics
with -fdec-math.
* gfortran.h (gfc_isym_id): New isym GFC_ISYM_COTAN.
* gfortran.h (gfc_resolve_atan2d, gfc_resolve_cotan,
gfc_resolve_trigd, gfc_resolve_atrigd): New prototypes.
* iresolve.c (resolve_trig_call, get_degrees, get_radians,
is_trig_resolved, gfc_resolve_cotan, gfc_resolve_trigd,
gfc_resolve_atrigd, gfc_resolve_atan2d): New functions.
* intrinsics.h (gfc_simplify_atan2d, gfc_simplify_atrigd,
gfc_simplify_cotan, gfc_simplify_trigd): New prototypes.
* simplify.c (simplify_trig_call, degrees_f, radians_f,
gfc_simplify_cotan, gfc_simplify_trigd, gfc_simplify_atrigd,
gfc_simplify_atan2d): New functions.
gcc/testsuite/gfortran.dg/
* dec_math.f90: New testsuite.
From-SVN: r240989
|
|
From-SVN: r240988
|
|
From-SVN: r240987
|
|
Declare loop index variable j as a 32 bit int instead of assuming ints
are 32 bits. The smaller int size on the avr makes prior passes optimize
away the loop exit check (j < 10000000), as the constant is outside
the range of a 16 bit int.
gcc/testsuite/ChangeLog
2016-10-11 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/tree-ssa/pr59597.c: Typedef __INT32_TYPE__ to i32.
(main): Declare j as i32 instead of int.
From-SVN: r240986
|
|
* exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.
Emit GNAT encodings for object renamings involving record components
whose normalized bit offset is not null.
* uintp.h (UI_No_Uint): Declare.
* gcc-interface/gigi.h (can_materialize_object_renaming_p): New.
* gcc-interface/utils.c (can_materialize_object_renaming_p): New
function.
* gcc-interface/trans.c (gnat_to_gnu) <N_Object_Renaming_Declaration>:
In code generation mode, materialize all renamings as long as they need
debug info and we are not optimizing.
From-SVN: r240985
|
|
* include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
_M_assign_dispatch directly with correct tag.
From-SVN: r240984
|
|
* doc/xml/manual/intro.xml: Document LWG 2484 status.
* libsupc++/nested_exception.h (_Throw_with_nested_impl)
(_Throw_with_nested_helper): Remove.
(__throw_with_nested_impl): New overloaded functions to implement
throw_with_nested logic.
(throw_with_nested): Call __throw_with_nested_impl.
(_Rethrow_if_nested_impl): Remove
(__rethrow_if_nested_impl): New overloaded functions to implement
rethrow_if_nested logic.
(rethrow_if_nested): Call __rethrow_if_nested_impl.
* testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
problem cases from LWG 2484.
From-SVN: r240983
|
|
* python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
Register printer for std::__cxx11::list.
* python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
std::__cxx11::list as well as std::list.
From-SVN: r240982
|
|
* include/experimental/string_view (basic_string_view::_S_compare):
Remove redundant const from return type.
* include/std/string_view (basic_string_view:_S_compare): Likewise.
From-SVN: r240981
|
|
* include/bits/std_mutex.h (mutex::native_handle)
(lock_guard(mutex_type&, adopt_lock_t)
(unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
* include/std/mutex (recursive_mutex, timed_mutex)
(recursive_timed_mutex): Likewise.
From-SVN: r240980
|
|
2016-10-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/testsuite/
PR testsuite/PR77710
* gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Use *-*-* as catch-all
target triplet instead of *-*-*-*.
From-SVN: r240979
|
|
* gcc-interface/utils2.c (build_binary_op): Add a NO_FOLD
argument. Disable folding when true.
* gcc-interface/gigi.h (choices_to_gnu): Remove declaration.
(build_binary_op): Update signature and comment.
* gcc-interface/decl.c (choices_to_gnu): Make static. Disable
folding for all calls to build_binary_op.
From-SVN: r240978
|
|
* fe.h (Constant_Value): Declare.
* gcc-interface/decl.c (compile_time_known_address_p): Also consider
references to constants.
From-SVN: r240977
|
|
* gcc-interface/trans.c (gnat_to_gnu) <N_Op_Add>: Adjust comment.
<N_Op_Minus>: Add comment and missing guard.
* gcc-interface/trans.c (build_binary_op_trapv): Use an explicit test.
From-SVN: r240976
|
|
* gcc-interface/utils.c (type_unsigned_for_rm): New predicate.
(make_type_from_size): Use it.
(unchecked_convert): Likewise. Do not skip the extension step if the
source type is not integral.
From-SVN: r240975
|
|
true/false instead of 1/0.
* c-common.c (warning_candidate_p): Change the return type to bool
and return true/false instead of 1/0.
(vector_mode_valid_p): Likewise.
From-SVN: r240974
|
|
* system-linux-ppc64.ads: Delete.
* system-linux-ppc.ads: Make 32-bit/64-bit neutral.
* gcc-interface/Makefile.in (PowerPC/Linux): Simplify.
Co-Authored-By: Tristan Gingold <gingold@adacore.com>
From-SVN: r240973
|