1. 18 Jul, 2018 10 commits
    • re PR c/69558 (glib2 warning pragmas stopped working) · 6f41f92b
      libcpp:
      2018-07-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR 69558
              * macro.c (enter_macro_context): Change the location info for builtin
              macros and _Pragma from location of the closing parenthesis to location
              of the macro expansion point.
      
      testsuite:
      2018-07-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR 69558
              * c-c++-common/cpp/diagnostic-pragma-2.c: New test.
              * c-c++-common/pr69558.c: Remove xfail.
              * gcc.dg/cpp/builtin-macro-1.c: Adjust test expectations.
              * gcc.dg/pr61817-1.c: Likewise.
              * gcc.dg/pr61817-2.c: Likewise.
              * g++.dg/plugin/pragma_plugin.c: Warn at expansion_point_location.
      
      From-SVN: r262861
      Bernd Edlinger committed
    • re PR fortran/85599 (warn about short-circuiting of logical expressions for non-pure functions) · 6457b1f0
      2018-07-18  Janus Weil  <janus@gcc.gnu.org>
      	    Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85599
      	* dump-parse-tree.c (show_attr): Add handling of implicit_pure.
      	* frontend-passes.c (do_warn_function_elimination): Do not warn for
      	pure functions.
      	* gfortran.h: Add prototypes for gfc_pure_function and
      	gfc_implicit_pure_function.
      	* gfortran.texi: Add chapter on evaluation of logical expressions.
      	* invoke.texi: Mention that -Wfunction-elimination is implied
      	by -Wextra.
      	* lang.opt: Make -Wextra imply -Wfunction-elimination.
      	* resolve.c (pure_function): Rename to gfc_pure_function.
      	(gfc_implicit_pure_function): New function.
      	(check_pure_function): Use it here.
      	(impure_function_callback): New function.
      	(resolve_operator): Call it via gfc_expr_walker.
      
      
      2018-07-18  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/85599
      	* gfortran.dg/function_optimize_5.f90: Add option
      	'-faggressive-function-elimination' and update dg-warning clauses.
      	* gfortran.dg/short_circuiting.f90: New test.
      
      Co-Authored-By: Thomas Koenig <tkoenig@gcc.gnu.org>
      
      From-SVN: r262860
      Janus Weil committed
    • PR c++/86190 - bogus -Wsign-conversion warning · c56e9727
      	PR c++/86190 - bogus -Wsign-conversion warning
      	* typeck.c (cp_build_binary_op): Fix formatting.  Add a warning
      	sentinel.
      
      	* g++.dg/warn/Wsign-conversion-3.C: New test.
      	* g++.dg/warn/Wsign-conversion-4.C: New test.
      
      From-SVN: r262855
      Marek Polacek committed
    • re PR target/86557 (missed vectorization with std::vector compared to icc 18) · eb592645
      2018-07-18  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/86557
      	* tree-vect-patterns.c (vect_recog_divmod_pattern): Also handle
      	EXACT_DIV_EXPR.
      
      From-SVN: r262854
      Richard Biener committed
    • 2018-07-18 Paolo Carlini <paolo.carlini@oracle.com> · 02920765
      	* Fix typos in ChangeLog entries.
      
      From-SVN: r262852
      Paolo Carlini committed
    • re PR c++/59480 (Missing error diagnostic: friend declaration specifying a… · 6498dea6
      re PR c++/59480 (Missing error diagnostic: friend declaration specifying a default argument must be a definition)
      
      /cp
      2018-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* class.c (note_name_declared_in_class): Prefer permerror + inform
      	to a pair of permerrors; use DECL_SOURCE_LOCATION.
      
      /testsuite
      2018-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/ext/uow-3.C: Adjust.
      	* g++.dg/ext/uow-4.C: Likewise.
      	* g++.dg/lookup/name-clash11.C: Likewise.
      	* g++.dg/lookup/name-clash7.C: Likewise.
      	* g++.dg/lookup/redecl1.C: Likewise.
      	* g++.dg/warn/changes-meaning.C: Likewise.
      	* g++.old-deja/g++.jason/scoping8.C: Likewise.
      	* g++.old-deja/g++.law/nest1.C: Likewise.
      
      /cp
      2019-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/59480, DR 136
      	* decl.c (check_no_redeclaration_friend_default_args): New.
      	(duplicate_decls): Use the latter; also check that a friend
      	declaration specifying default arguments is a definition.
      
      /testsuite
      2019-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/59480, DR 136
      	* g++.dg/other/friend8.C: New.
      	* g++.dg/other/friend9.C: Likewise.
      	* g++.dg/other/friend10.C: Likewise.
      	* g++.dg/other/friend11.C: Likewise.
      	* g++.dg/other/friend12.C: Likewise.
      	* g++.dg/parse/defarg4.C: Compile with -fpermissive -w.
      	* g++.dg/parse/defarg8.C: Likewise.
      
      From-SVN: r262851
      Paolo Carlini committed
    • S/390: Add CFI for mcount call sequences · 0559979c
      2018-07-18  Ilya Leoshkevich  <iii@linux.ibm.com>
      
      	* config/s390/s390.c (s390_function_profiler): Generate CFI.
      
      From-SVN: r262850
      Ilya Leoshkevich committed
    • re PR debug/86523 (ICE in gen_member_die, at dwarf2out.c:24933 starting from r262560) · 97f13235
      2018-07-18  Richard Biener  <rguenther@suse.de>
      
      	PR debug/86523
      	cp/
      	* decl2.c (c_parse_final_cleanups): Call write_out_vars before
      	start_static_storage_duration_function sets current_function_decl.
      
      	* g++.dg/lto/pr86523-3_0.C: New testcase.
      
      From-SVN: r262849
      Richard Biener committed
    • arm.c (get_label_padding): Update for recent changes to label_to_alignment. · df6a7b9d
      	* config/arm/arm.c (get_label_padding): Update for recent
      	changes to label_to_alignment.
      
      From-SVN: r262848
      Jeff Law committed
    • Daily bump. · 9b12ae80
      From-SVN: r262846
      GCC Administrator committed
  2. 17 Jul, 2018 30 commits
    • re PR tree-optimization/86010 (redundant memset with smaller size not eliminated) · efae2f50
      	PR tree-optimization/86010
      	* tree-ssa-dse.c (compute_trims): Fix typo/thinko.
      
      From-SVN: r262841
      Jeff Law committed
    • mips.c (vr4130_align_insns): Update for recent changes to label_to_alignment. · 9c179c2d
      	* config/mips/mips.c (vr4130_align_insns): Update for recent
      	changes to label_to_alignment.
      
      From-SVN: r262838
      Jeff Law committed
    • frv.c (frv_label_align): Update for recent changes to label_to_alignment. · 22ab4529
             * config/frv/frv.c (frv_label_align): Update for recent changes
              to label_to_alignment.
      
      From-SVN: r262837
      Jeff Law committed
    • nios2.c (nios2_label_align): Update for recent changes which dropped ALIGN_LABELS_LOG. · d84916bd
      	* config/nios2/nios2.c (nios2_label_align): Update for recent
      	changes which dropped ALIGN_LABELS_LOG.
      
      From-SVN: r262836
      Jeff Law committed
    • Fix invalid cc_status after [const_][us]mulsi3_highpart · 0d7afd5d
      	* config/m68k/m68k.md (umulsi3_highpart+1, const_umulsi3_highpart)
      	(smulsi3_highpart+1, const_smulsi3_highpart): Add CC_STATUS_INIT.
      
      testsuite/:
      	* gcc.target/m68k/mulsi_highpart.c: New test.
      
      From-SVN: r262835
      Andreas Schwab committed
    • compiler: don't set btype_ too early for alias type · a7385f1c
          
          CL 123362 introduced a bug in creating alias type's backend
          representation. A type's btype_ should not be set before
          named types are converted if it is a placeholder. For alias
          type, it is set too early. This may result in unresolved
          placeholders. This CL fixes it.
          
          Reviewed-on: https://go-review.googlesource.com/123975
      
      From-SVN: r262833
      Ian Lance Taylor committed
    • lex.c (_cpp_lex_direct): Use CPP_DL_NOTE instead of CPP_DL_PEDWARN... · 0c86a39d
      	* lex.c (_cpp_lex_direct): Use CPP_DL_NOTE instead of CPP_DL_PEDWARN,
      	CPP_DL_WARNING or CPP_DL_ERROR for note that diagnostics for C++ style
      	comments is reported only once per file and guard those calls on the
      	preceding cpp_error returning true.
      
      	* gcc.dg/cpp/pr61854-c90.c (foo): Expect a note, rather than error.
      	* gcc.dg/cpp/pr61854-c94.c (foo): Likewise.
      	* gcc.dg/cpp/pr61854-4.c (foo): Likewise.
      	* gcc.dg/cpp/pr61854-8.c: New test.
      
      From-SVN: r262832
      Jakub Jelinek committed
    • * gcc.target/powerpc/pr85456.c: Require longdouble128. · 0ef03fe3
      From-SVN: r262831
      David Edelsohn committed
    • compiler: connect the concrete type and the placeholder for circular types · 4161493a
          
          Previously, when creating the backend representation of a
          circular type, we resolve the placeholder to a
          circular_pointer_type. The backend doesn't know what the
          concrete type is.
          
          This CL changes it to resolve the placeholder to the concrete
          type instead, so the backend may have better knowledge of the
          concrete type.
          
          Reviewed-on: https://go-review.googlesource.com/123738
      
      From-SVN: r262830
      Ian Lance Taylor committed
    • re PR fortran/83184 (Out of memory or ICE with option -fdec) · 5485812c
      2018-07-17  Fritz Reese  <fritzoreese@gmail.com>
      
          gcc/testsuite/ChangeLog:
      
      	PR fortran/83184
      	* gfortran.dg/dec_structure_23.f90: Oops, "un-fix" error messages.
      
      From-SVN: r262828
      Fritz Reese committed
    • fold-vec-unpack-char.c: New. · 7ca83c36
      
      [testsuite]
      
      2018-07-06  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-unpack-char.c: New.
      	* gcc.target/powerpc/fold-vec-unpack-float.c: New.
      	* gcc.target/powerpc/fold-vec-unpack-int.c: New.
      	* gcc.target/powerpc/fold-vec-unpack-pixel.c: New.
      	* gcc.target/powerpc/fold-vec-unpack-short.c: New.
      
      From-SVN: r262827
      Will Schmidt committed
    • pr57150.c: Require longdouble128. · c2eab53d
      * gcc.target/powerpc/pr57150.c: Require longdouble128.
      * gcc.target/powerpc/pr79916.c: Require dfp.
      
      From-SVN: r262826
      David Edelsohn committed
    • PR c++/86480 - nested variadic lambda and constexpr if. · dd00049a
      	* pt.c (find_parameter_packs_r) [IF_STMT]: Don't walk into
      	IF_STMT_EXTRA_ARGS.
      	* tree.c (cp_walk_subtrees) [DECLTYPE_TYPE]: Set
      	cp_unevaluated_operand.
      	[ALIGNOF_EXPR] [SIZEOF_EXPR] [NOEXCEPT_EXPR]: Likewise.
      
      From-SVN: r262825
      Jason Merrill committed
    • PR libstdc++/86450 use -Wabi=2 and simplify -Werror use · c3be340e
      Use -Wabi=2 to fix warnings about -Wabi having no effect on its own.
      This requires suppressing two warnings in src/c++11/debug.cc which do
      not affect the library ABI.
      
      Previously libstdc++ defaulted to --enable-werror but the -Werror flag
      was not actually added unless --enable-maintainer-mode was used. This is
      not documented and not the expected behaviour. This removes any special
      treatment for maintainer-mode, makes -Werror depend directly on
      --enable-werror, and changes the default to --enable-werror=no.
      
      	PR libstdc++/86450
      	* acinclude.m4 (GLIBCXX_CHECK_COMPILER_FEATURES): Don't define WERROR.
      	(GLIBCXX_EXPORT_FLAGS): Use -Wabi=2 instead of -Wabi.
      	* configure: Regenerate.
      	* configure.ac: Change GLIBCXX_ENABLE_WERROR default to "no".
      	* doc/Makefile.in: Regenerate.
      	* fragment.am: Set WERROR_FLAG to -Werror instead of $(WERROR).
      	* include/Makefile.in: Regenerate.
      	* libsupc++/Makefile.in: Regenerate.
      	* po/Makefile.in: Regenerate.
      	* python/Makefile.in: Regenerate.
      	* src/Makefile.in: Regenerate.
      	* src/c++11/Makefile.in: Regenerate.
      	* src/c++11/debug.cc: Use diagnostic pragmas to suppress warnings
      	from -Wabi=2 that don't affect exported symbols.
      	* src/c++98/Makefile.in: Regenerate.
      	* src/filesystem/Makefile.in: Regenerate.
      	* testsuite/Makefile.in: Regenerate.
      
      From-SVN: r262824
      Jonathan Wakely committed
    • Remove unused explicit instantiation of __bind_simple · 79a88477
      The explicit instantiation of std::call_once used to require an
      instantiation of __bind_simple, but call_once was changed by r241031 to
      not use __bind_simple. The instantiation of __bind_simple (and the
      definitions it uses) are not needed. They should have been removed
      instead of doing the changes in r241111 that kept them compiling.
      
      The use of std::call_once by _Async_state_common::_M_join can be
      simplified to use a pointer instead of reference wrapper. The call_once
      symbol isn't exported so the change isn't visible outside the library.
      
      	* src/c++11/compatibility-thread-c++0x.cc [_GLIBCXX_SHARED]
      	(_Async_state_common::_M_join): Simplify use of std::call_once and
      	corresponding explicit instantiation.
      	(_Maybe_wrap_member_pointer, _Bind_simple, _Bind_simple_helper)
      	(__bind_simple): Remove definitions and explicit instantiation that
      	are not required by exported symbols.
      
      From-SVN: r262823
      Jonathan Wakely committed
    • [ARC] Don't use deprecated align_labels_log variable. · 3f445374
      2018-07-17  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (arc_label_align): Use alogn_labels instead of
      	deprecated align_labels_log.
      
      From-SVN: r262820
      Claudiu Zissulescu committed
    • re PR debug/86456 (Segfault in switch_to_section at gcc/varasm.c:7353 since r259317) · 3447025f
      2018-07-17  Richard Biener  <rguenther@suse.de>
      
      	PR lto/86456
      	* dwarf2out.c (init_sections_and_labels): Always generate
      	a debug_line_str_section for early LTO debug.
      	(dwarf2out_finish): Reset debug_line_str_hash output early.
      	Bump counter for extra dwarf5 .debug_loc labels to not conflict
      	with fat LTO part.
      	(dwarf2out_early_finish): Output debug_line_str.
      
      	* g++.dg/debug/dwarf2/pr86456.C: New testcase.
      
      From-SVN: r262819
      Richard Biener committed
    • S/390: Do not use LA with index register on z196 or newer. · 5211d26a
      gcc/ChangeLog:
      
      2018-07-17  Robin Dapp  <rdapp@linux.ibm.com>
      
      	* config/s390/s390.c (preferred_la_operand_p): Do not use LA with
      	index register on z196 or later.
      
      From-SVN: r262818
      Robin Dapp committed
    • S/390: Set default function alignment to 16. · 22800d66
      gcc/ChangeLog:
      
      2018-07-17  Robin Dapp  <rdapp@linux.ibm.com>
      
      	* config/s390/s390.c (s390_default_align): Set default function
      	alignment to 16.
      	(s390_override_options_after_change): Call s390_default align.
      	(s390_option_override_internal): Call s390_default_align.
      	(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
      
      gcc/testsuite/ChangeLog:
      
      2018-07-17  Robin Dapp  <rdapp@linux.ibm.com>
      
      	* gcc.target/s390/function-align1.c: New test.
      	* gcc.target/s390/function-align2.c: New test.
      	* gcc.target/s390/function-align3.c: New test.
      
      From-SVN: r262817
      Robin Dapp committed
    • re PR middle-end/86542 (wrong-code for collapsed taskloop which needs omp_cpyfn) · a3bccfa1
      	PR middle-end/86542
      	* omp-low.c (create_task_copyfn): Copy over also fields corresponding
      	to _looptemp_ clauses, other than the first two.
      
      	* testsuite/libgomp.c++/pr86542.C: New test.
      
      From-SVN: r262815
      Jakub Jelinek committed
    • decl.c (choices_to_gnu): Rename parameters. · 8e93ce66
      	* gcc-interface/decl.c (choices_to_gnu): Rename parameters.  Deal with
      	an operand of Character type.  Factor out range generation to the end.
      	Check that the bounds are literals and convert them to the type of the
      	operand before building the ranges.
      	* gcc-interface/utils.c (make_dummy_type): Minor tweak.
      	(make_packable_type): Propagate TYPE_DEBUG_TYPE.
      	(maybe_pad_type): Likewise.
      
      From-SVN: r262812
      Eric Botcazou committed
    • Add -fomit-frame-pointer to gcc.target/i386/vartrack-1.c · 10c6ce78
      	* gcc.target/i386/vartrack-1.c (dg-options): Add
      	-fomit-frame-pointer.
      
      From-SVN: r262811
      Rainer Orth committed
    • Build gcc/testsuite/g++.dg/lto/pr86523-[12]_0.C as PIC · 74285cd3
      	* g++.dg/lto/pr86523-1_0.C: Require fpic, shared support.
      	(dg-lto-options): Add -fPIC.
      	* g++.dg/lto/pr86523-2_0.C: Likewise.
      
      From-SVN: r262810
      Rainer Orth committed
    • Do not enable OPT_falign_* for -Os. · 48798203
      2018-07-17  Martin Liska  <mliska@suse.cz>
      
      	* opts.c: Do not enable OPT_falign_* for -Os.
      
      From-SVN: r262807
      Martin Liska committed
    • Define MAX_CODE_ALIGN globally. · d800a1e7
      2018-07-17  Martin Liska  <mliska@suse.cz>
      
      	* align.h (MAX_CODE_ALIGN): New.
      	(MAX_CODE_ALIGN_VALUE): New.
      	* common/config/i386/i386-common.c (ix86_handle_option):
      	(MAX_CODE_ALIGN): Moved to align.h.
      	* final.c (MAX_CODE_ALIGN): Likewise.
      	* opts.c (parse_and_check_align_values):
      	(MAX_CODE_ALIGN): Likewise.
      	(MAX_CODE_ALIGN_VALUE): Likewise.
      
      From-SVN: r262806
      Martin Liska committed
    • Fix coding style of ASM_OUTPUT_ALIGN. · 3f1a2e57
      2018-07-17  Martin Liska  <mliska@suse.cz>
      
      	* config/i386/att.h (ASM_OUTPUT_ALIGN): Fix spacing
              in order to fulfil coding style.
      	* config/i386/cygming.h (ASM_OUTPUT_ALIGN): Likewise.
      	* config/i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
      	* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_PAD): Likewise.
      	* config/iq2000/iq2000.h (ASM_OUTPUT_ALIGN): Likewise.
      	* config/pa/pa.h (ASM_OUTPUT_ALIGN): Likewise.
      	* config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): Likewise.
      	* config/sparc/sparc.h (ASM_OUTPUT_ALIGN): Likewise.
      	* config/visium/visium.h (ASM_OUTPUT_ALIGN): Likewise.
      	(ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
      
      From-SVN: r262805
      Martin Liska committed
    • Clean up of new format of -falign-FOO. · e6de5335
      2018-07-17  Martin Liska  <mliska@suse.cz>
      
      	* align.h: New file.
      	* config/alpha/alpha.c (alpha_align_insns_1): Use align_functions directly.
      	* config/i386/i386.c (ix86_avoid_jump_mispredicts): Use new return type
      	align_flags of label_to_alignment.
      	* config/m32r/m32r.h (LOOP_ALIGN): Wrap returned values into align_flags
      	class.
      	* config/m68k/m68k.c: Do not use removed align_labels_value and
      	align_loops_value.
      	* config/nds32/nds32.h (JUMP_ALIGN): Wrap result into align_flags class.
      	(LOOP_ALIGN): Likewise.
      	(LABEL_ALIGN): Likewise.
      	* config/powerpcspe/powerpcspe.c (TARGET_ASM_LOOP_ALIGN_MAX_SKIP):
      	Remove not used macro.
      	(rs6000_loop_align): Change return type to align_flags.
      	(rs6000_loop_align_max_skip): Remove.
      	* config/rs6000/rs6000-protos.h (rs6000_loop_align):
      	Change return type to align_flags.
      	* config/rs6000/rs6000.c (TARGET_ASM_LOOP_ALIGN_MAX_SKIP):
      	Remove not used macro.
      	(rs6000_loop_align):  Change return type to align_flags.
      	(rs6000_loop_align_max_skip): Remove.
      	* config/rx/rx.h (JUMP_ALIGN): Wrap integer values
      	* config/rx/rx-protos.h (rx_align_for_label): Make it
              static function.
      	* config/rx/rx.c (rx_align_for_label): Change return type
              to align_flags.
      	(rx_max_skip_for_label): Remove TARGET_ASM_*_ALIGN_MAX_SKIP
              macro definitions.
      	into align_flags class.
      	(LABEL_ALIGN): Likewise.
      	(LOOP_ALIGN): Likewise.
      	* config/s390/s390.c (s390_label_align): Use align_flags
      	class member.
      	(s390_asm_output_function_label): Likewise.
      	* config/sh/sh.c (sh_override_options_after_change):
      	Use align_flags class directly without macros.
      	(find_barrier): Likewise.
      	(barrier_align): Likewise.
      	(sh_loop_align): Likewise.
      	* config/spu/spu.c (spu_option_override):
      	Use align_flags_tuple::get_value instead of removed macros.
      	(spu_sched_init): Likewise.
      	* config/spu/spu.h (GTY): Likewise.
      	* config/visium/visium.c (visium_option_override):
      	Set "8" as default secondary alignment.
      	* config/visium/visium.h (SUBALIGN_LOG): Define to 3
      	in order to guarantee secondary alignment of 8.
      	* coretypes.h: Include align.h header file.
      	* doc/tm.texi: Remove TARGET_ASM_JUMP_ALIGN_MAX_SKIP,
      	TARGET_ASM_LOOP_ALIGN_MAX_SKIP, TARGET_ASM_LABEL_ALIGN_MAX_SKIP
              and TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP macros.
      	* doc/tm.texi.in: Likewise.
      	* final.c (struct label_alignment): Remove not used structure.
      	(LABEL_ALIGN): Change type to align_flags.
      	(LOOP_ALIGN): Likewise.
      	(JUMP_ALIGN): Likewise.
      	(default_loop_align_max_skip): Remove.
      	(default_label_align_max_skip): Likewise.
      	(default_jump_align_max_skip): Likewise.
      	(default_label_align_after_barrier_max_skip):
      	(LABEL_TO_ALIGNMENT): Change to access label_align vector.
      	(LABEL_TO_MAX_SKIP): Remove.
      	(label_to_alignment): Return align_flags type instead of integer.
      	(label_to_max_skip): Remove.
      	(align_fuzz): Use align_flags type.
      	(compute_alignments): Use align_flags type and use align_flags::max
      	to combine multiple alignments.
      	(grow_label_align): Grow vec instead of C array.
      	(update_alignments): Assign just LABEL_TO_ALIGNMENT.
      	(shorten_branches):  Use align_flags type and use align_flags::max
      	to combine multiple alignments.
      	(final_scan_insn_1): Remove usage of secondary alignment that comes
      	from label alignment, but instead use proper secondary alignment
      	which is computed in grow_label_align.
      	* flags.h (struct align_flags_tuple): Move to align.h.
      	(struct align_flags): Likewise.
      	(state_align_loops): Rename to align_loops.
      	(state_align_jumps): Rename to align_jumps.
      	(state_align_labels): Rename to align_labels.
      	(state_align_functions): Rename to align_functions.
      	(align_loops_log): Remove.
      	(align_jumps_log): Remove.
      	(align_labels_log): Remove.
      	(align_functions_log): Remove.
      	(align_loops_max_skip): Remove.
      	(align_jumps_max_skip): Remove.
      	(align_labels_max_skip): Remove.
      	(align_functions_max_skip): Remove.
      	(align_loops_value): Remove.
      	(align_jumps_value): Remove.
      	(align_labels_value): Remove.
      	(align_functions_value): Remove.
      	* output.h (label_to_alignment): Change return type to align_flags.
      	(label_to_max_skip): Remove.
      	* target.def: Remove loop_align_max_skip, label_align_max_skip,
      	jump_align_max_skip macros.
      	* targhooks.h (default_loop_align_max_skip): Remove.
      	(default_label_align_max_skip): Likewise.
      	(default_jump_align_max_skip): Likewise.
      	(default_label_align_after_barrier_max_skip): Remove.
      	* toplev.c (read_log_maxskip): Use ::normalize function.
      	(parse_N_M): Remove not used argument and also call ::normalize.
      	(parse_alignment_opts): Do not pass unused arguments.
      	* varasm.c (assemble_start_function): Use directly align_functions
      	instead of removed macros.
      	* system.h: Do not poison removed macros.
      2018-07-17  Martin Liska  <mliska@suse.cz>
      
      	* gcc.target/powerpc/loop_align.c: Update scanned pattern.
      
      From-SVN: r262804
      Martin Liska committed
    • [Ada] Spurious error on prefixed call in an instantiation · 118f2d8b
      This patch fixes a spurious error on a prefixed call in an instance, when the
      generic parameters include an interface type and an abstract operation of that
      type, and the actuals in the instance include an interface type and a
      corresponding abstract operation of it, with a different name than the
      corresponding generic subprogram parameter. The patch also fixes a similar
      error involving class-wide operations and generic private types.
      
      2018-07-17  Ed Schonberg  <schonberg@adacore.com>
      
      gcc/ada/
      
      	* sem_ch4.adb (Try_Object_Operation): Handle properly a prefixed call
      	in an instance, when the generic parameters include an interface type
      	and a abstract operation of that type, and the actuals in the instance
      	include an interface type and a corresponding abstract operation of it,
      	with a different name than the corresponding generic subprogram
      	parameter.
      
      gcc/testsuite/
      
      	* gnat.dg/generic_call_cw.adb, gnat.dg/generic_call_iface.adb: New
      	testcase.
      
      From-SVN: r262803
      Ed Schonberg committed
    • [Ada] Preserve original CE reason in more cases · 5b4f211d
      2018-07-17  Arnaud Charlet  <charlet@adacore.com>
      
      gcc/ada/
      
      	* sem_eval.adb (Rewrite_In_Raise_CE): Keep the original reason in more
      	cases.
      
      From-SVN: r262802
      Arnaud Charlet committed
    • [Ada] Add provision for floating-point in Apply_Division_Check · ed170742
      2018-07-17  Arnaud Charlet  <charlet@adacore.com>
      
      gcc/ada/
      
      	* checks.adb (Apply_Division_Check): Add provision for floating-point
      	checks.
      
      From-SVN: r262801
      Arnaud Charlet committed