1. 29 Sep, 2017 14 commits
    • [multiple changes] · ccd0ed95
      2017-09-29  Justin Squirek  <squirek@adacore.com>
      
      	* sem_ch8.adb (Analyze_Use_Package): Add sanity check to avoid
      	circularities in the use-clause chain.
      
      2017-09-29  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Replace_Components): Update references to discriminants
      	located in variant parts inherited from the parent type.
      
      2017-09-29  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch5.adb (Expand_Assign_Record): Do not generate code to copy
      	discriminants if the target is an Unchecked_Union record type.
      
      2017-09-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_aggr.adb (Resolve_Record_Aggregate): Reject the use of an
      	iterated component association in an aggregate for a record type.
      
      2017-09-29  Piotr Trojanek  <trojanek@adacore.com>
      
      	* make.adb: Minor whitespace fixes.
      	* libgnat/s-resfil.ads: Minor reformatting.
      
      From-SVN: r253288
      Pierre-Marie de Rodat committed
    • re PR fortran/25071 (dummy argument larger than actual argument) · 1dce26a1
      2017-09-29  Dominique d'Humieres  <dominiq@lps.ens.fr>
      
      	PR fortran/25071
      	* gfortran.dg/argument_checking_3.f90: Change warnings to errors.
      	* gfortran.dg/argument_checking_4.f90: Likewise.
      	* gfortran.dg/argument_checking_5.f90: Likewise.
      	* gfortran.dg/argument_checking_6.f90: Likewise.
      	* gfortran.dg/argument_checking_10.f90: Likewise.
      	* gfortran.dg/argument_checking_13.f90: Likewise.
      	* gfortran.dg/argument_checking_15.f90: Likewise.
      	* gfortran.dg/argument_checking_18.f90: Likewise.
      	* gfortran.dg/gomp/udr8.f90: Likewise.
      	* gfortran.dg/warn_argument_mismatch_1.f90: Add -std=legacy to
      	the dg-options.
      
      From-SVN: r253287
      Dominique d'Humieres committed
    • re PR fortran/25071 (dummy argument larger than actual argument) · 37d92a7e
      2017-09-29  Dominique d'Humieres  <dominiq@lps.ens.fr>
      
      	PR fortran/25071
      	* interface.c (compare_actual_formal): Change warnings to errors
      	when "Actual argument contains too few elements for dummy
      	argument", unless -std=legacy is used.
      
      From-SVN: r253286
      Dominique d'Humieres committed
    • [multiple changes] · 20ad0586
      2017-09-29  Justin Squirek  <squirek@adacore.com>
      
      	* sem_ch8.adb (Mark_Use_Clauses): Add recursive call to properly handle
      	all cases related to marking entity identifiers.
      
      2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>
      
      	* adaint.c (win32_wait): Properly handle error and take into account
      	the WIN32 limitation on the number of simultaneous wait objects.
      
      2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>
      
      	* cal.c: Minor proofreading.
      
      2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>
      
      	* doc/gnat_ugn/gnat_utility_programs.rst: Minor formatting fix.
      	* gnat_ugn.texi: Regenerate.
      
      2017-09-29  Bob Duff  <duff@adacore.com>
      
      	* lib-xref.ads: Comment fix.
      
      2017-09-29  Bob Duff  <duff@adacore.com>
      
      	* exp_aggr.adb: Remove calls to Set_No_Ctrl_Actions for discriminants.
      	Discriminants can't need finalization.
      
      2017-09-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Expression_Function): Do not emit freeze nodes
      	for types in expression if the function is within a generic unit.
      	* sem_res.adb (Resolve): In a generic context do not freeze an
      	expression, unless it is an entity. This exception is solely for the
      	purpose of detecting illegal uses of deferred constants in generic
      	units.
      	* sem_res.adb: Minor reformatting.
      
      From-SVN: r253285
      Pierre-Marie de Rodat committed
    • [multiple changes] · 5b1265cc
      2017-09-29  Justin Squirek  <squirek@adacore.com>
      
      	* sem_ch8.adb (Note_Redundant_Use): Add guard to protect against false
      	redundant warnings.
      
      2017-09-29  Yannick Moy  <moy@adacore.com>
      
      	* sinput-c.adb: Remove unused with-clause on Ada.Unchecked_Conversion.
      
      2017-09-29  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* doc/gnat_rm/representation_clauses_and_pragmas.rst: Minor rewording.
      	* doc/gnat_rm/implementation_defined_pragmas.rst (Optimize_Alignment):
      	Document the effect of pragma Optimize_Alignment (Space) on non-packed
      	record types.
      	* gnat_rm.texi: Regenerate.
      
      From-SVN: r253284
      Pierre-Marie de Rodat committed
    • 2017-09-29 Richard Biener <rguenther@suse.de> · 5e865972
      	* graphite-isl-ast-to-gimple.c
      	(translate_isl_ast_to_gimple::set_codegen_error): New function.
      	(binary_op_to_tree): Use it.
      	(get_rename_from_scev): Likewise.
      	(copy_loop_phi_nodes): Likewise.
      	(copy_bb_and_scalar_dependences): Likewise.
      	(translate_pending_phi_nodes): Likewise.
      
      From-SVN: r253282
      Richard Biener committed
    • parser.c (cp_parser_member_declaration): Parse attributes before colon of a… · 27746ca9
      parser.c (cp_parser_member_declaration): Parse attributes before colon of a bitfield in addition to after colon.
      
      cp/
      	* parser.c (cp_parser_member_declaration): Parse attributes before
      	colon of a bitfield in addition to after colon.
      testsuite/
      	* g++.dg/ext/bitfield7.C: New test.
      	* g++.dg/ext/bitfield8.C: New test.
      	* g++.dg/ext/bitfield9.C: New test.
      
      From-SVN: r253281
      Jakub Jelinek committed
    • re PR c/82340 (volatile ignored in compound literal) · 2a389958
      	PR c/82340
      	* c-decl.c (build_compound_literal): Use c_apply_type_quals_to_decl
      	instead of trying to set just TREE_READONLY manually.
      
      	* gcc.dg/tree-ssa/pr82340.c: New test.
      
      From-SVN: r253280
      Jakub Jelinek committed
    • re PR target/82339 (Inefficient movabs instruction) · 2891beff
      	PR target/82339
      	* config/i386/i386.md (*movdi_internal peephole2): New -Os peephole
      	for movabsq $(i32 << shift), r64.
      
      From-SVN: r253279
      Jakub Jelinek committed
    • * Make-lang.in (check-c++-all): Test also c++2a. · 9db33c9f
      From-SVN: r253278
      Jakub Jelinek committed
    • * g++.dg/eh/uncaught3.C: Add -Wno-deprecated for c++17. · bf61f589
      From-SVN: r253277
      Jakub Jelinek committed
    • crti-hw.S: Add watchdog vector, FT930 IRQ support. · db6601d2
      libgcc/
      	* config/ft32/crti-hw.S: Add watchdog vector, FT930
      	IRQ support.
      
      From-SVN: r253276
      James Bowman committed
    • re PR other/67165 (please enable libbacktrace to work with compressed debug sections) · 8da872d9
      	PR other/67165
      	* elf.c (__builtin_prefetch): Define if not __GNUC__.
      	(unlikely): Define.
      	(SHF_UNCOMPRESSED, ELFCOMPRESS_ZLIB): Define.
      	(b_elf_chdr): Define type.
      	(enum debug_section): Add ZDEBUG_xxx values.
      	(debug_section_names): Add names for new sections.
      	(struct debug_section_info): Add compressed field.
      	(elf_zlib_failed, elf_zlib_fetch): New static functions.
      	(HUFFMAN_TABLE_SIZE, HUFFMAN_VALUE_MASK): Define.
      	(HUFFMAN_BITS_SHIFT, HUFFMAN_BITS_MASK): Define.
      	(HUFFMAN_SECONDARY_SHIFT): Define.
      	(ZDEBUG_TABLE_SIZE): Define.
      	(ZDEBUG_TABLE_CODELEN_OFFSET, ZDEBUG_TABLE_WORK_OFFSET): Define.
      	(final_next_secondary): New static variable if
      	BACKTRACE_GENERATE_FIXED_HUFFMAN_TABLE.
      	(elf_zlib_inflate_table): New static function.
      	(BACKTRACE_GENERATE_FIXED_HUFFMAN_TABLE): If define, define main
      	function to produce fixed Huffman table.
      	(elf_zlib_default_table): New static variable.
      	(elf_zlib_inflate): New static function.
      	(elf_zlib_verify_checksum): Likewise.
      	(elf_zlib_inflate_and_verify): Likewise.
      	(elf_uncompress_zdebug): Likewise.
      	(elf_uncompress_chdr): Likewise.
      	(backtrace_uncompress_zdebug): New extern function.
      	(elf_add): Look for .zdebug sections and SHF_COMPRESSED debug
      	sections, and uncompress them.
      	* internal.h (backtrace_compress_zdebug): Declare.
      	* ztest.c: New file.
      	* configure.ac: Check for -lz and check whether the linker
      	supports --compress-debug-sections.
      	* Makefile.am (ztest_SOURCES): New variable.
      	(ztest_CFLAGS, ztest_LDADD): New variables.
      	(check_PROGRAMS): Add ztest.
      	(ctestg_SOURCES): New variable.
      	(ctestg_CFLAGS, ctestg_LDFLAGS, ctestg_LDADD): New variables.
      	(ctesta_SOURCES): New variable.
      	(ctesta_CFLAGS, ctesta_LDFLAGS, ctesta_LDADD): New variables.
      	(check_PROGRAMS): Add ctestg and ctesta.
      	* configure, config.h.in, Makefile.in: Rebuild.
      
      From-SVN: r253275
      Ian Lance Taylor committed
    • Daily bump. · ddda3741
      From-SVN: r253274
      GCC Administrator committed
  2. 28 Sep, 2017 19 commits
    • re PR c++/79488 (ICE from lambda that has invalid return type) · 051e4e1c
      2017-09-28  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/79488
      	* g++.dg/cpp0x/lambda/lambda-ice22.C: New.
      
      From-SVN: r253270
      Paolo Carlini committed
    • PR c++/56973, DR 696 - capture constant variables only as needed. · 281e6c1d
      	* expr.c (mark_use): Split out from mark_rvalue_use and
      	mark_lvalue_use.  Handle lambda capture of constant variables.
      	(mark_lvalue_use_nonread): New.
      	* semantics.c (process_outer_var_ref): Don't capture a constant
      	variable until forced.
      	* pt.c (processing_nonlambda_template): New.
      	* call.c (build_this): Check it.
      	* decl2.c (grok_array_decl): Call mark_rvalue_use and
      	mark_lvalue_use_nonread.
      	* init.c (constant_value_1): Don't call mark_rvalue_use.
      	* typeck.c (build_static_cast): Handle lambda capture.
      
      From-SVN: r253266
      Jason Merrill committed
    • Use local_specializations to find capture proxies. · 5c263e84
      	* cp-tree.h (DECL_CAPTURED_VARIABLE): New.
      	* lambda.c (build_capture_proxy): Set it.
      	(add_capture): Pass initializer to build_capture_proxy.
      	(start_lambda_function): Likewise.
      	(insert_capture_proxy): Use register_local_specialization.
      	(is_lambda_ignored_entity): Always ignore proxies.
      	* name-lookup.c (qualify_lookup): Don't check
      	is_lambda_ignored_entity if LOOKUP_HIDDEN is set.
      	* semantics.c (process_outer_var_ref): Use
      	retrieve_local_specialization.
      	* parser.c (cp_parser_lambda_body): Push local_specializations.
      	* pt.c (tsubst_expr): Pass LOOKUP_HIDDEN when looking for a proxy.
      	(tsubst_lambda_expr): Push local_specializations sooner.
      	(tsubst_copy_and_build): Don't register_local_specialization.
      
      From-SVN: r253265
      Jason Merrill committed
    • Small lambda fixes. · 697a7a57
      	* call.c (build_special_member_call): Use the return value of
      	mark_lvalue_use.
      	* decl.c (compute_array_index_type): Likewise.
      	* parser.c (cp_parser_oacc_wait_list): Likewise.
      	* lambda.c (is_normal_capture_proxy): Handle *this capture.
      	(add_capture): Clarify internal_error message.
      
      From-SVN: r253264
      Jason Merrill committed
    • Use -Wno-deprecated for std::uncaught_exception tests. · 6ad0466f
      	* g++.dg/eh/uncaught1.C: Pass -Wno-deprecated.
      	* g++.dg/eh/uncaught2.C: Pass -Wno-deprecated.
      	* g++.dg/eh/uncaught4.C: Pass -Wno-deprecated.
      	* g++.old-deja/g++.mike/eh48.C: Pass -Wno-deprecated.
      
      From-SVN: r253262
      Jason Merrill committed
    • re PR target/82342 (i386/pr82260-2.c fail) · ff299487
      	PR target/82342
      	* gcc.target/i386/pr82260-1.c: Add -mno-bmi2 to dg-options.
      	* gcc.target/i386/pr82260-2.c: Likewise.
      
      From-SVN: r253261
      Jakub Jelinek committed
    • i386.c (ix86_print_operand_address_as): Do not check index when encoding %esp as… · 5f643b6f
      i386.c (ix86_print_operand_address_as): Do not check index when encoding %esp as %rsp to avoid 0x67 prefix.
      
      	* config/i386/i386.c (ix86_print_operand_address_as): Do not check
      	index when encoding %esp as %rsp to avoid 0x67 prefix.
      
      From-SVN: r253260
      Uros Bizjak committed
    • i386.md (*movsf_internal, [...]): Return 256-bit AVX modes for TARGET_PREFER_AVX256. · 10e93cf5
      gcc/
              * config/i386/i386.md (*movsf_internal, *movdf_internal):
              Return 256-bit AVX modes for TARGET_PREFER_AVX256.
      
      gcc/testsuite/
              * gcc.target/i386/avx512f-constant-float-return.c: New test.
      
      From-SVN: r253259
      Sergey Shalnov committed
    • [ARM] Some tests require arm_neon_hw · b4aac5c3
      2017-09-28  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/arm/aapcs/align4.c: Require arm_neon_hw effective target.
      	* gcc.target/arm/aapcs/align_rec4.c: Likewise.
      	* gcc.target/arm/aapcs/neon-vect1.c: Likewise.
      	* gcc.target/arm/aapcs/neon-vect2.c: Likewise.
      	* gcc.target/arm/aapcs/neon-vect3.c: Likewise.
      	* gcc.target/arm/aapcs/neon-vect4.c: Likewise.
      	* gcc.target/arm/aapcs/neon-vect5.c: Likewise.
      	* gcc.target/arm/aapcs/neon-vect6.c: Likewise.
      	* gcc.target/arm/aapcs/neon-vect7.c: Likewise.
      	* gcc.target/arm/aapcs/neon-vect8.c: Likewise.
      
      From-SVN: r253258
      Christophe Lyon committed
    • jit: document function pointers · ecd5156d
      gcc/jit/ChangeLog:
      	* docs/topics/expressions.rst (Function calls): Add link to
      	gcc_jit_context_new_function_ptr_type.
      	(Function pointers): Convert to cross-references to
      	function-pointers.rst, moving material there.
      	* docs/topics/function-pointers.rst: New page.
      	* docs/topics/index.rst: Add function-pointers.rst.
      	* docs/topics/types.rst (Function pointer types): New section.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      
      From-SVN: r253257
      David Malcolm committed
    • [ARM] Remove ARMv8-M code for D17-D31 · 6050d55c
      Function cmse_nonsecure_entry_clear_before_return has code to deal with
      high VFP register (D16-D31) while ARMv8-M Baseline and Mainline both do
      not support more than 16 double VFP registers (D0-D15). This makes this
      security-sensitive code harder to read for not much benefit since
      libcall for cmse_nonsecure_call functions do not deal with those high
      VFP registers anyway.
      
      This commit gets rid of this code for simplicity and fixes 2 issues in
      the same function:
      
      - stop the first loop when reaching maxregno to avoid dealing with VFP
        registers if targetting Thumb-1 or using -mfloat-abi=soft
      - include maxregno in that loop
      
      2017-09-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          * config/arm/arm.c (arm_option_override): Forbid ARMv8-M Security
          Extensions with more than 16 double VFP registers.
          (cmse_nonsecure_entry_clear_before_return): Remove second entry of
          to_clear_mask and all code related to it.  Replace the remaining
          entry by a sbitmap and adapt code accordingly.
      
      From-SVN: r253256
      Thomas Preud'homme committed
    • jit: handle equality of function pointer types · 5a47aa2c
      gcc/jit/ChangeLog:
      	* jit-recording.c
      	(gcc::jit::recording::function_type::is_same_type_as): New function.
      	* jit-recording.h: In namespace gcc::jit::recording::
      	(type::accepts_writes_from): Use is_same_type_as rather than pointer
      	equality.
      	(type::is_same_type_as): New virtual function.
      	(function_type::is_same_type_as): New override.
      
      gcc/testsuite/ChangeLog:
      	* jit.dg/test-error-mismatching-types-in-assignment-fn-ptr.c: New
      	test case.
      	* jit.dg/test-returning-function-ptr.c (create_code): Update to
      	create a function pointer type independently of the call to
      	gcc_jit_function_get_address, and assign the pointer to a local
      	before returning it, to exercise the function pointer type
      	comparison code.
      
      From-SVN: r253255
      David Malcolm committed
    • [BRIGFE] Changed pure attributes to const for the brig-builtins · f276c46c
      that are actually const.
      
      Also:
      * Fixed brig-lang.c such that the builtin attributes actually
        have effect...
      * Made -O3 the default optimization level for BRIG.
      
      From-SVN: r253254
      Henry Linjamäki committed
    • Enable ifunc attribute by default for SPARC GNU/Linux. · 2caf4109
      Similar to other architectures with IFUNC binutils/glibc support, this
      patch enables the ifunc attribute for SPARC GNU/Linux.  This is needed
      for building glibc with the current checks on IFUNC resolver types
      (and use of the attribute in glibc rather than manually created IFUNCs
      is beneficial anyway because it results in better debug info).
      
      Tested compilation of glibc with build-many-glibcs.py.  I have not run
      the GCC tests for SPARC.
      
      	* config.gcc (default_gnu_indirect_function): Default to yes for
      	sparc*-*-linux* with glibc.
      
      From-SVN: r253253
      Joseph Myers committed
    • Avoid assembler warnings from AArch64 constructor/destructor priorities. · fcef3abd
      Many GCC tests fail for AArch64 with current binutils because of
      assembler warnings of the form "Warning: ignoring incorrect section
      type for .init_array.00100".  The same issue was fixed for ARM in
      r247015 by using SECTION_NOTYPE when creating those sections; this
      patch applies the same fix to AArch64.
      
      Tested with no regressions with cross to aarch64-linux-gnu.
      
      	* config/aarch64/aarch64.c (aarch64_elf_asm_constructor)
      	(aarch64_elf_asm_destructor): Pass SECTION_NOTYPE to get_section
      	when creating .init_array and .fini_array sections with priority
      	specified.
      
      From-SVN: r253252
      Joseph Myers committed
    • Commit forgotten testecase for pr71727. · 78c98bf2
      From-SVN: r253251
      Christophe Lyon committed
    • Remove superfluous -fopenmp from libgomp testcases · 5c561fa9
      Reviewed-by: Thomas Schwinge <thomas@codesourcery.com>
      
      2017-09-28  Tom de Vries  <tom@codesourcery.com>
      
      	* testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
      	setting.
      	* testsuite/libgomp.c++/pr69393.C: Same.
      	* testsuite/libgomp.c++/taskloop-1.C: Same.
      	* testsuite/libgomp.c++/taskloop-3.C: Same.
      	* testsuite/libgomp.c++/taskloop-4.C: Same.
      	* testsuite/libgomp.c/for-4.c: Same.
      	* testsuite/libgomp.c/pr66199-3.c: Same.
      	* testsuite/libgomp.c/pr66199-4.c: Same.
      	* testsuite/libgomp.c/pr66199-6.c: Same.
      	* testsuite/libgomp.c/taskloop-1.c: Same.
      	* testsuite/libgomp.c/taskloop-3.c: Same.
      	* testsuite/libgomp.c/taskloop-4.c: Same.
      	* testsuite/libgomp.fortran/aligned1.f03: Same.
      	* testsuite/libgomp.fortran/condinc1.f: Same.
      	* testsuite/libgomp.fortran/condinc3.f90: Same.
      	* testsuite/libgomp.fortran/crayptr1.f90: Same.
      	* testsuite/libgomp.fortran/crayptr2.f90: Same.
      	* testsuite/libgomp.fortran/crayptr3.f90: Same.
      	* testsuite/libgomp.fortran/omp_cond1.f: Same.
      	* testsuite/libgomp.fortran/omp_cond3.F90: Same.
      	* testsuite/libgomp.fortran/pr66199-1.f90: Same.
      	* testsuite/libgomp.fortran/pr66199-2.f90: Same.
      	* testsuite/libgomp.fortran/recursion1.f90: Same.
      	* testsuite/libgomp.fortran/target2.f90: Same.
      	* testsuite/libgomp.fortran/target5.f90: Same.
      	* testsuite/libgomp.fortran/task3.f90: Same.
      
      From-SVN: r253250
      Tom de Vries committed
    • Fix libgomp.oacc-c-c++-common/loop-g-{1,2}.c for non-nvidia devices · 7d6206fe
      2017-09-28  Tom de Vries  <tom@codesourcery.com>
      
      	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
      	vector_length(32) clause from acc parallel directive.
      	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
      
      From-SVN: r253249
      Tom de Vries committed
    • Daily bump. · 84f76123
      From-SVN: r253248
      GCC Administrator committed
  3. 27 Sep, 2017 7 commits
    • jit: implement gcc_jit_function_get_address · 15a65e63
      gcc/jit/ChangeLog:
      	* docs/cp/topics/expressions.rst (Function pointers): New section.
      	* docs/topics/compatibility.rst (LIBGCCJIT_ABI_9): New tag.
      	* docs/topics/expressions.rst (Function pointers): New section.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      	* jit-common.h (class gcc::jit::recording::function_pointer): New
      	forward decl.
      	* jit-playback.c (gcc::jit::playback::function::get_address): New
      	method.
      	* jit-playback.h (gcc::jit::playback::function::get_address): New
      	method decl.
      	* jit-recording.c: Within namespace gcc::jit::recording...
      	(function::function): Initialize new field "m_fn_ptr_type".
      	(function::get_address): New method.
      	(function_pointer::replay_into): New method.
      	(function_pointer::visit_children): New method.
      	(function_pointer::make_debug_string): New method.
      	(function_pointer::write_reproducer): New method.
      	* jit-recording.h: Within namespace gcc::jit::recording...
      	(function::get_address): New method.
      	(function): Add field "m_fn_ptr_type".
      	(class function_pointer): New subclass of rvalue.
      	* libgccjit++.h (gccjit::function::get_address): New method.
      	* libgccjit.c (gcc_jit_function_get_address): New function.
      	* libgccjit.h (LIBGCCJIT_HAVE_gcc_jit_function_get_address): New
      	macro.
      	(gcc_jit_function_get_address): New API entrypoint.
      	* libgccjit.map (LIBGCCJIT_ABI_9): New tag.
      
      gcc/testsuite/ChangeLog:
      	* jit.dg/all-non-failing-tests.h: Add
      	test-returning-function-ptr.c.
      	* jit.dg/test-returning-function-ptr.c: New test case.
      
      From-SVN: r253244
      David Malcolm committed
    • [AArch64] PR71727 fix -mstrict-align · a509c571
      2017-09-27  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	PR target/71727
      	gcc/
      	* config/aarch64/aarch64.c
      	(aarch64_builtin_support_vector_misalignment): Always return false
      	when misalignment is unknown.
      
      	gcc/testsuite/
      	* gcc.target/aarch64/pr71727-2.c: New test
      
      From-SVN: r253242
      Christophe Lyon committed
    • rs6000-p8swap.c (const_load_sequence_p): Revise this function to return false if… · 6e0cc90b
      rs6000-p8swap.c (const_load_sequence_p): Revise this function to return false if the definition used by the swap...
      
      gcc/ChangeLog:
      
      2017-09-27  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* config/rs6000/rs6000-p8swap.c (const_load_sequence_p): Revise
      	this function to return false if the definition used by the swap
      	instruction is artificial, or if the memory address from which the
      	constant value is loaded is not represented by a base address held
      	in a register or if the base address register is a frame or stack
      	pointer.  Additionally, return false if the base address of the
      	loaded constant is a SYMBOL_REF but is not considered to be a
      	constant.
      	(replace_swapped_load_constant): New function.
      	(rs6000_analyze_swaps): Add a new pass to replace a swap of a
      	loaded constant vector with a load of a swapped constant vector.
      
      gcc/testsuite/ChangeLog:
      
      2017-09-27  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* gcc.target/powerpc/swaps-p8-28.c: New test.
      	* gcc.target/powerpc/swaps-p8-29.c: New test.
      	* gcc.target/powerpc/swaps-p8-30.c: New test.
      	* gcc.target/powerpc/swaps-p8-31.c: New test.
      	* gcc.target/powerpc/swaps-p8-32.c: New test.
      	* gcc.target/powerpc/swaps-p8-33.c: New test.
      	* gcc.target/powerpc/swaps-p8-34.c: New test.
      	* gcc.target/powerpc/swaps-p8-35.c: New test.
      	* gcc.target/powerpc/swaps-p8-36.c: New test.
      	* gcc.target/powerpc/swaps-p8-37.c: New test.
      	* gcc.target/powerpc/swaps-p8-38.c: New test.
      	* gcc.target/powerpc/swaps-p8-39.c: New test.
      	* gcc.target/powerpc/swaps-p8-40.c: New test.
      	* gcc.target/powerpc/swaps-p8-41.c: New test.
      	* gcc.target/powerpc/swaps-p8-42.c: New test.
      	* gcc.target/powerpc/swaps-p8-43.c: New test.
      	* gcc.target/powerpc/swaps-p8-44.c: New test.
      	* gcc.target/powerpc/swaps-p8-45.c: New test.
      
      From-SVN: r253240
      Kelvin Nilsen committed
    • rs6000-builtin.def (BU_FP_1MISC_1): Add define macro. · 4ca4cf4e
      
      gcc/ChangeLog:
      
      2017-09-27  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/rs6000-builtin.def (BU_FP_1MISC_1): Add define macro.
      	(FCTID, FCTIW): Add BU_FP_MISC_1 macro expansion for builtins.
      	* config/rs6000/rs6000.md (lrintsfsi2): Add define_insn for the
      	fctiw instruction.
      
      gcc/testsuite/ChangeLog:
      
      2017-09-27 Carl Love  <cel@us.ibm.com>
      	* gcc.target/powerpc/builtin-fctid-fctiw-runnable.c: New test file
      	for the __builtin_fctid and __builtin_fctiw.
      
      From-SVN: r253238
      Carl Love committed
    • 22131.cc: Make test less istreambuf_iterator implementation dependent. · c3202623
      2017-09-27  François Dumont  <fdumont@gcc.gnu.org>
      
      	* testsuite/22_locale/money_get/get/char/22131.cc: Make test less
      	istreambuf_iterator implementation dependent.
      	* testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
      
      From-SVN: r253237
      François Dumont committed
    • compiler: fix crash on struct that embeds pointer type · 762cc1fb
          
          The type verification code that enforces rules about the types of
          embedded struct fields was not properly handling the case where the
          pointed-to type is a pointer type, e.g.
          
            type s *struct{ C int }
            type t struct{ *s }
          
          which is illegal according to the spec. Tweak the verifier to catch
          this case, and add a guard in the lowering pass to make sure that we
          don't crash on invalid accesses to field "C" in type "t" above.
          
          Fixes golang/go#22050
          
          Reviewed-on: https://go-review.googlesource.com/66530
      
      From-SVN: r253236
      Ian Lance Taylor committed
    • haifa-sched: fix autopref_rank_for_schedule qsort comparator · ab90c27b
      	* haifa-sched.c (autopref_rank_for_schedule): Order 'irrelevant' insns
      	first, always call autopref_rank_data otherwise.
      
      From-SVN: r253235
      Alexander Monakov committed