aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface
AgeCommit message (Collapse)AuthorFilesLines
2017-02-24misc.c (gnat_type_max_size): Try to return a meaningful value for array ↵Eric Botcazou2-29/+91
types with TYPE_INDEX_TYPE set on... * gcc-interface/misc.c (gnat_type_max_size): Try to return a meaningful value for array types with TYPE_INDEX_TYPE set on their domain type. * gcc-interface/utils.c (max_size): For operations and expressions, do not build a new node if the operands have not changed or are missing. From-SVN: r245698
2017-02-24utils.c (max_size): Flip the second argument when recursing on TRUTH_NOT_EXPR.Eric Botcazou1-1/+2
* gcc-interface/utils.c (max_size) <tcc_expression>: Flip the second argument when recursing on TRUTH_NOT_EXPR. From-SVN: r245697
2017-02-12system-freebsd-x86.ads: Rename into...John Marino1-2/+30
* system-freebsd-x86.ads: Rename into... * system-freebsd.ads: ...this. (Default_Bit_Order): Define using Standard'Default_Bit_Order. * gcc-interface/Makefile.in: Support aarch64-freebsd. (x86-64/FreeBSD): Adjust to above renaming. (i386/FreeBSD): Likewise. From-SVN: r245377
2017-01-25re PR lto/79061 ([LTO][ASAN] LTO plus ASAN fails with "AddressSanitizer: ↵Maxim Ostapenko1-1/+2
initialization-order-fiasco") PR lto/79061 gcc/ * asan.c (get_translation_unit_decl): New function. (asan_add_global): Extract modules file name from globals TRANSLATION_UNIT_DECL name. gcc/fortran/ * f95-lang.c (gfc_create_decls): Include stringpool.h. Pass main_input_filename to build_translation_unit_decl. gcc/ada/ * gcc-interface/utils.c (get_global_context): Pass main_input_filename to build_translation_unit_decl. gcc/c/ * c-decl.c (pop_scope): Pass main_input_filename to build_translation_unit_decl. gcc/cp/ * decl.c (cxx_init_decl_processing): Pass main_input_filename to build_translation_unit_decl. From-SVN: r244890
2017-01-16re PR driver/49726 (-g0 file.S -g does not produce debug info)Jakub Jelinek1-3/+3
PR driver/49726 * gcc.c (debug_level_greater_than_spec_func): New function. (static_spec_functions): Add debug-level-gt spec function. (ASM_DEBUG_SPEC, cpp_options): Use %:debug-level-gt(0) instead of !g0. * config/darwin.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise. * config/darwin9.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise. * common.opt (g, gcoff, gdwarf, gdwarf-, ggdb, gno-pubnames, gpubnames, ggnu-pubnames, gno-record-gcc-switches, grecord-gcc-switches, gno-strict-dwarf, gstrict-dwarf, gstabs, gstabs+, gtoggle, gvms, gxcoff, gxcoff+): Add Driver flag. c-family/ * c.opt (gen-decls): Add Driver flag. ada/ * gcc-interface/lang.opt (gant, gnatO, gnat): Add Driver flag. From-SVN: r244505
2017-01-13Restore Solaris/SPARC Ada bootstrapRainer Orth1-1/+1
* gcc-interface/Makefile.in (SPARC/Solaris): Fix typo. From-SVN: r244431
2017-01-12* gcc-interface/Makefile.in: Clean up VxWorks targets.Arnaud Charlet1-27/+48
From-SVN: r244367
2017-01-03s-linux-mips.ads: Rename from s-linux-mipsel.ads.James Cowgill1-27/+8
* s-linux-mips.ads: Rename from s-linux-mipsel.ads. * gcc-interface/Makefile.in (MIPS/Linux): Merge mips and mipsel sections. From-SVN: r244025
2016-12-07decl.c (gnat_to_gnu_entity): When they are global...Pierre-Marie de Rodat1-0/+1
* gcc-interface/decl.c (gnat_to_gnu_entity): When they are global, consider ___XR GNAT encodings variables for renamings as static so they have a location in the debug info. From-SVN: r243341
2016-12-07decl.c (gnat_to_gnu_entity): Translate System.Address into ptr_type_node for ↵Eric Botcazou1-13/+7
every foreign convention. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Translate System.Address into ptr_type_node for every foreign convention. (gnat_to_gnu_subprog_type): Likewise for result and parameter types. (gnat_to_gnu_param): Do not do it here for GCC builtins. (intrin_return_compatible_p): Likewise. From-SVN: r243340
2016-12-07Adjust commentEric Botcazou1-4/+4
From-SVN: r243338
2016-12-07decl.c (gnat_to_gnu_entity): Also call finish_character_type on Character ↵Eric Botcazou2-7/+31
subtypes. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>: Also call finish_character_type on Character subtypes. * gcc-interface/utils.c (finish_character_type): Deal with subtypes. From-SVN: r243336
2016-12-05re PR ada/48835 (porting GNAT to m68k-linux)Mikael Pettersson1-0/+29
PR ada/48835 * gcc-interface/Makefile.in: Add support for m68k-linux. * system-linux-m68k.ads: New file. From-SVN: r243247
2016-11-27re PR ada/78524 (failure of ACATS c41104a at -O0)Eric Botcazou1-1/+3
PR ada/78524 * gcc-interface/utils.c (max_size) <tcc_reference>: Add missing conversion to original type in the PLACEHOLDER_EXPR case. From-SVN: r242902
2016-11-22Makefile.in ($(lang_checks_parallelized)): Fix detection of -j argument.Uros Bizjak1-1/+1
gcc/ChangeLog * Makefile.in ($(lang_checks_parallelized)): Fix detection of -j argument. gcc/ada/ChangeLog * gcc-interface/Make-lang.in (check-acats): Fix detection of -j argument. libstdc++-v3/ChangeLog * testsuite/Makefile.am (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection of -j argument. * testsuite/Makefile.in: Regenereate. From-SVN: r242705
2016-11-18Add SET_DECL_MODERichard Sandiford1-1/+1
This may no longer be necessary with the current version of the SVE patches, but it does at least make things consistent with the TYPE_MODE/SET_TYPE_MODE split. gcc/ada/ 2016-11-16 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * gcc-interface/utils.c (create_label_decl): Use SET_DECL_MODE. gcc/c/ 2016-11-16 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * c-decl.c (merge_decls): Use SET_DECL_MODE. (make_label, finish_struct): Likewise. gcc/cp/ 2016-11-16 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * class.c (finish_struct_bits): Use SET_DECL_MODE. (build_base_field_1, layout_class_type, finish_struct_1): Likewise. * decl.c (make_label_decl): Likewise. * pt.c (tsubst_decl): Likewise. gcc/fortran/ 2016-11-16 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * trans-common.c (build_common_decl): Use SET_DECL_MODE. * trans-decl.c (gfc_build_label_decl): Likewise. * trans-types.c (gfc_get_array_descr_info): Likewise. gcc/lto/ 2016-11-16 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * lto.c (offload_handle_link_vars): Use SET_DECL_MODE. gcc/ 2016-11-16 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * tree.h (SET_DECL_MODE): New macro. * cfgexpand.c (avoid_deep_ter_for_debug): Use SET_DECL_MODE. (expand_gimple_basic_block): Likewise. * function.c (split_complex_args): Likeise. * ipa-prop.c (ipa_modify_call_arguments): Likewise. * omp-simd-clone.c (ipa_simd_modify_stmt_ops): Likewise. * stor-layout.c (layout_decl, relayout_decl): Likewise. (finish_bitfield_representative): Likewise. * tree.c (make_node_stat): Likewise. * tree-inline.c (remap_ssa_name): Likewise. (tree_function_versioning): Likewise. * tree-into-ssa.c (rewrite_debug_stmt_uses): Likewise. * tree-sra.c (sra_ipa_reset_debug_stmts): Likewise. * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Likewise. * tree-ssa-loop-ivopts.c (remove_unused_ivs): Likewise. * tree-ssa.c (insert_debug_temp_for_var_def): Likewise. * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise. * varasm.c (make_debug_expr_from_rtl): Likewise. libcc1/ 2016-11-16 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * plugin.cc (plugin_build_add_field): Use SET_DECL_MODE. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r242585
2016-11-14Makefile.in: Replace s-interr-hwint.adb with s-interr-vxworks.adb throughout.Eric Botcazou1-12/+12
* gcc-interface/Makefile.in: Replace s-interr-hwint.adb with s-interr-vxworks.adb throughout. From-SVN: r242382
2016-11-13decl.c (gnat_to_gnu_entity): In assertion about known Esize...Bob Duff1-1/+2
* gcc-interface/decl.c (gnat_to_gnu_entity): In assertion about known Esize, protect with !is_type and change !Unknown_Esize to Known_Esize. From-SVN: r242363
2016-11-13decl.c (gnat_to_gnu_entity): Look at the underlying type for the signedness ↵Eric Botcazou1-1/+1
of the type. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Look at the underlying type for the signedness of the type. From-SVN: r242361
2016-11-13decl.c (annotate_value): Deal specially with negative constants.Eric Botcazou1-0/+8
* gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Deal specially with negative constants. From-SVN: r242360
2016-11-13utils2.c (gnat_protect_expr): Also protect only the address if the ↵Eric Botcazou1-3/+7
expression is the component of a dereference. * gcc-interface/utils2.c (gnat_protect_expr): Also protect only the address if the expression is the component of a dereference. Do not use a reference type for the final temporary reference. From-SVN: r242358
2016-11-13Makefile.in (NO_OMIT_ADAFLAGS): Define.Eric Botcazou1-4/+13
* gcc-interface/Makefile.in (NO_OMIT_ADAFLAGS): Define. (a-except.o): Replace -fno-inline with NO_INLINE_ADAFLAGS. (s-memory.o): New rule. (tracebak.o): Replace -fno-omit-frame-pointer with NO_OMIT_ADAFLAGS. From-SVN: r242357
2016-10-31dwarf2out.h (struct dw_loc_descr_node): Adjust comment for frame_offset_rel bit.Jakub Jelinek1-0/+1
* dwarf2out.h (struct dw_loc_descr_node): Adjust comment for frame_offset_rel bit. (struct array_descr_info): Add rank field. * dwarf2out.c (struct loc_descr_context): Add placeholder_arg and placeholder_seen fields. (resolve_args_picking_1): Handle also frame_offset_rel DW_OP_dup and DW_OP_over. Optimize DW_OP_pick 0 into DW_OP_dup and DW_OP_pick 1 into DW_OP_over. (function_to_dwarf_procedure, type_byte_size, field_byte_offset, gen_variant_part): Clear placeholder_{arg,seen}. (loc_list_from_tree_1): Drop const from context argument. Handle integral PLACEHOLDER_EXPR if context->placeholder_arg. (loc_list_for_address_of_addr_expr_of_indirect_ref, loc_list_from_tree, loc_descriptor_from_tree): Drop const from context argument. (add_scalar_info): Drop const from context argument. Handle context->placeholder_arg. (add_bound_info): Drop const from context argument. (gen_descr_array_type_die): Drop const from ctx variable. Initialize placeholder_arg and placeholder_seen. Add DW_AT_rank attribute and use a single DW_TAG_generic_subrange instead of 7 DW_TAG_subrange_type for assumed rank arrays. fortran/ * trans-types.c (gfc_get_array_descr_info): For -gdwarf-5 or -gno-strict-dwarf, handle assumed rank arrays the way dwarf2out expects. ada/ * gcc-interface/misc.c (gnat_get_array_descr_info): Clear rank field. From-SVN: r241719
2016-10-24Parallelize check-gnatRainer Orth1-0/+3
* gcc-interface/Make-lang.in (lang_checks_parallelized): New target. (check_gnat_parallelize): Likewise. From-SVN: r241469
2016-10-20Makefile (x86-64/Linux): Restore missing pairs.Nicolas Roche1-0/+6
* gcc-interface/Makefile (x86-64/Linux): Restore missing pairs. (x86/Darwin): Likewise. From-SVN: r241369
2016-10-19system-linux-armel.ads: Rename into...Eric Botcazou1-3/+3
* system-linux-armel.ads: Rename into... * system-linux-arm.ads: ...this * gcc-interface/Makefile.in (ARM/Android): Adjust to above renaming. (ARM/Linux): Likewise. (Aarch64/Linux): Likewise. From-SVN: r241328
2016-10-18Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Define.Eric Botcazou1-182/+68
* gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Define. (EXTRA_GNATRTL_TASKING_OBJS): Likewise. (ARM/Android): Add atomic support. (SPARC/Solaris): Simplify. (x86/Solaris): Likewise. (x86/Linux): Likewise. (x86-64/kFreeBDS): Adjust and use system-freebsd-x86.ads (x86/FreeBSD): Add s-mudido-affinity.adb. (x86-64/FreeBSD): Likewise and use system-freebsd-x86.ads. (s390/Linux): Simplify. (PowerPC/AIX): Likewise. (Cygwin/Mingw): Likewise. (MIPSel/Linux): Likewise. (ARM/Linux): Add atomic support. (Aarch64/Linux): Use system-linux-armel.ads. (SPARC/Linux): Simplify. (IA-64/Linux): Minor tweak. (IA-64/HP-UX): Likewise. (Alpha/Linux): Likewise. (x86-64/Linux): Use system-linux-x86.ads. (x86/Darwin): Simplify. (PowerPC/Darwin): Likewise. (ARM/Darwin): Use system-darwin-arm.ads. (ADA_EXCLUDE_SRCS): Minor reformatting. * system-aix.ads (Word_Size): Change to Standard'Word_Size. (Memory_Size): Change to 2 ** Word_Size. (Support_Atomic_Primitives): Set to True. * system-aix64.ads: Delete. * system-darwin-arm.ads: New. * system-darwin-ppc.ads (Word_Size): Change to Standard'Word_Size. (Memory_Size): Change to 2 ** Word_Size. (Support_Atomic_Primitives): Set to True. * system-darwin-ppc64.ads: New. * system-darwin-x86.ads (Word_Size): Change to Standard'Word_Size. (Memory_Size): Change to 2 ** Word_Size. * system-darwin-x86_64.ads: Delete. * system-freebsd-x86.ads (Word_Size): Change to Standard'Word_Size. (Memory_Size): Change to 2 ** Word_Size. * system-freebsd-x86_64.ads: Delete. * system-linux-alpha.ads (Support_Atomic_Primitives): Set to True. * system-linux-armeb.ads (Word_Size): Change to Standard'Word_Size. (Memory_Size): Change to 2 ** Word_Size. (Support_Atomic_Primitives): Set to True. * system-linux-armel.ads (Word_Size): Change to Standard'Word_Size. (Memory_Size): Change to 2 ** Word_Size. (Support_Atomic_Primitives): Set to True. * system-linux-mips.ads: (Word_Size): Change to Standard'Word_Size. (Memory_Size): Change to 2 ** Word_Size. * system-linux-mipsel.ads (Word_Size): Change to Standard'Word_Size. (Memory_Size): Change to 2 ** Word_Size. * system-linux-s390.ads (Word_Size): Change to Standard'Word_Size. (Memory_Size): Change to 2 ** Word_Size. (Stack_Check_Probes): Set to True. * system-linux-s390x.ads: Delete. * system-linux-sparc.ads (Word_Size): Change to Standard'Word_Size. (Memory_Size): Change to 2 ** Word_Size. * system-linux-sparcv9.ads: Delete. * system-linux-x86.ads (Word_Size): Change to Standard'Word_Size. (Memory_Size): Change to 2 ** Word_Size. * system-linux-x86_64.ads: Delete. * system-mingw-x86_64.ads: Delete. * system-mingw.ads (Word_Size): Change to Standard'Word_Size. (Memory_Size): Change to 2 ** Word_Size. * system-solaris-sparc.ads (Word_Size): Change to Standard'Word_Size. (Memory_Size): Change to 2 ** Word_Size. (Support_Atomic_Primitives): Set to True. * system-solaris-sparcv9.ads: Delete. * system-solaris-x86.ads (Word_Size): Change to Standard'Word_Size. (Memory_Size): Change to 2 ** Word_Size. * system-solaris-x86_64.ads: Delete. From-SVN: r241316
2016-10-16re PR ada/37139 (DEP prevents using Ada tasking)Eric Botcazou2-5/+37
PR ada/37139 PR ada/67205 * common.opt (-ftrampolines): New option. * doc/invoke.texi (Code Gen Options): Document it. * doc/tm.texi.in (Trampolines): Add TARGET_CUSTOM_FUNCTION_DESCRIPTORS. * doc/tm.texi: Regenerate. * builtins.def: Add init_descriptor and adjust_descriptor. * builtins.c (expand_builtin_init_trampoline): Do not issue a warning on platforms with descriptors. (expand_builtin_init_descriptor): New function. (expand_builtin_adjust_descriptor): Likewise. (expand_builtin) <BUILT_IN_INIT_DESCRIPTOR>: New case. <BUILT_IN_ADJUST_DESCRIPTOR>: Likewise. * calls.c (prepare_call_address): Remove SIBCALLP parameter and add FLAGS parameter. Deal with indirect calls by descriptor and adjust. Set STATIC_CHAIN_REG_P on the static chain register, if any. (call_expr_flags): Set ECF_BY_DESCRIPTOR for calls by descriptor. (expand_call): Likewise. Move around call to prepare_call_address and pass all flags to it. * cfgexpand.c (expand_call_stmt): Reinstate CALL_EXPR_BY_DESCRIPTOR. * gimple.h (enum gf_mask): New GF_CALL_BY_DESCRIPTOR value. (gimple_call_set_by_descriptor): New setter. (gimple_call_by_descriptor_p): New getter. * gimple.c (gimple_build_call_from_tree): SetCALL_EXPR_BY_DESCRIPTOR. (gimple_call_flags): Deal with GF_CALL_BY_DESCRIPTOR. * langhooks.h (struct lang_hooks): Add custom_function_descriptors. * langhooks-def.h (LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS): Define. (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS. * rtl.h (STATIC_CHAIN_REG_P): New macro. * rtlanal.c (find_first_parameter_load): Skip static chain registers. * target.def (custom_function_descriptors): New POD hook. * tree.h (FUNC_ADDR_BY_DESCRIPTOR): New flag on ADDR_EXPR. (CALL_EXPR_BY_DESCRIPTOR): New flag on CALL_EXPR. * tree-core.h (ECF_BY_DESCRIPTOR): New mask. Document FUNC_ADDR_BY_DESCRIPTOR and CALL_EXPR_BY_DESCRIPTOR. * tree.c (make_node_stat) <tcc_declaration>: Use FUNCTION_ALIGNMENT. (build_common_builtin_nodes): Initialize init_descriptor and adjust_descriptor. * tree-nested.c: Include target.h. (struct nesting_info): Add 'any_descr_created' field. (get_descriptor_type): New function. (lookup_element_for_decl): New function extracted from... (create_field_for_decl): Likewise. (lookup_tramp_for_decl): ...here. Adjust. (lookup_descr_for_decl): New function. (convert_tramp_reference_op): Deal with descriptors. (build_init_call_stmt): New function extracted from... (finalize_nesting_tree_1): ...here. Adjust and deal withdescriptors. * defaults.h (FUNCTION_ALIGNMENT): Define. (TRAMPOLINE_ALIGNMENT): Set to above instead of FUNCTION_BOUNDARY. * config/i386/i386.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define. * config/ia64/ia64.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise. * config/rs6000/rs6000.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Likewise. * config/sparc/sparc.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise. ada/ * gcc-interface/misc.c (LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS):Define. * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Deal with a zero TARGET_CUSTOM_FUNCTION_DESCRIPTORS specially for Code_Address. Otherwise, if TARGET_CUSTOM_FUNCTION_DESCRIPTORS is positive, set FUNC_ADDR_BY_DESCRIPTOR for 'Access/'Unrestricted_Access of nested subprograms if the type can use an internal representation. (call_to_gnu): Likewise, but set CALL_EXPR_BY_DESCRIPTOR on indirect calls if the type can use an internal representation. From-SVN: r241222
2016-10-14re PR ada/77968 (ICEs with -flto on gnat.dg)Eric Botcazou1-65/+54
PR ada/77968 * gcc-interface/utils.c (create_var_decl): Do not clear TREE_READONLY in LTO mode for an external variable. (can_materialize_object_renaming_p): Move up. From-SVN: r241154
2016-10-13Move MEMMODEL_* from coretypes.h to memmodel.hThomas Preud'homme1-0/+1
2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * coretypes.h: Move MEMMODEL_* macros and enum memmodel definition into ... * memmodel.h: This file. * alias.c, asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, caller-save.c, calls.c, ccmp.c, cfgbuild.c, cfgcleanup.c, cfgexpand.c, cfgloopanal.c, cfgrtl.c, cilk-common.c, combine.c, combine-stack-adj.c, common/config/aarch64/aarch64-common.c, common/config/arm/arm-common.c, common/config/bfin/bfin-common.c, common/config/c6x/c6x-common.c, common/config/i386/i386-common.c, common/config/ia64/ia64-common.c, common/config/nvptx/nvptx-common.c, compare-elim.c, config/aarch64/aarch64-builtins.c, config/aarch64/aarch64-c.c, config/aarch64/cortex-a57-fma-steering.c, config/arc/arc.c, config/arc/arc-c.c, config/arm/arm-builtins.c, config/arm/arm-c.c, config/avr/avr.c, config/avr/avr-c.c, config/avr/avr-log.c, config/bfin/bfin.c, config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c, config/darwin-c.c, config/darwin.c, config/epiphany/epiphany.c, config/epiphany/mode-switch-use.c, config/epiphany/resolve-sw-modes.c, config/fr30/fr30.c, config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c, config/i386/i386-c.c, config/i386/winnt.c, config/iq2000/iq2000.c, config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c, config/mcore/mcore.c, config/microblaze/microblaze.c, config/mmix/mmix.c, config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c, config/nds32/nds32-cost.c, config/nds32/nds32-intrinsic.c, config/nds32/nds32-md-auxiliary.c, config/nds32/nds32-memory-manipulation.c, config/nds32/nds32-predicates.c, config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c, config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c, config/rs6000/rs6000-c.c, config/rx/rx.c, config/s390/s390-c.c, config/s390/s390.c, config/sh/sh.c, config/sh/sh-c.c, config/sh/sh-mem.cc, config/sh/sh_treg_combine.cc, config/sol2.c, config/spu/spu.c, config/stormy16/stormy16.c, config/tilegx/tilegx.c, config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c, config/visium/visium.c, config/vms/vms-c.c, config/xtensa/xtensa.c, coverage.c, cppbuiltin.c, cprop.c, cse.c, cselib.c, dbxout.c, dce.c, df-core.c, df-problems.c, df-scan.c, dojump.c, dse.c, dwarf2asm.c, dwarf2cfi.c, dwarf2out.c, emit-rtl.c, except.c, explow.c, expmed.c, expr.c, final.c, fold-const.c, function.c, fwprop.c, gcse.c, ggc-page.c, haifa-sched.c, hsa-brig.c, hsa-gen.c, hw-doloop.c, ifcvt.c, init-regs.c, internal-fn.c, ira-build.c, ira-color.c, ira-conflicts.c, ira-costs.c, ira-emit.c, ira-lives.c, ira.c, jump.c, loop-doloop.c, loop-invariant.c, loop-iv.c, loop-unroll.c, lower-subreg.c, lra.c, lra-assigns.c, lra-coalesce.c, lra-constraints.c, lra-eliminations.c, lra-lives.c, lra-remat.c, lra-spills.c, mode-switching.c, modulo-sched.c, omp-low.c, passes.c, postreload-gcse.c, postreload.c, predict.c, print-rtl-function.c, recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c, reload.c, reload1.c, reorg.c, resource.c, rtl-chkp.c, rtl-tests.c, rtlanal.c, rtlhooks.c, sched-deps.c, sched-rgn.c, sdbout.c, sel-sched-ir.c, sel-sched.c, shrink-wrap.c, simplify-rtx.c, stack-ptr-mod.c, stmt.c, stor-layout.c, target-globals.c, targhooks.c, toplev.c, tree-nested.c, tree-outof-ssa.c, tree-profile.c, tree-ssa-coalesce.c, tree-ssa-ifcombine.c, tree-ssa-loop-ivopts.c, tree-ssa-loop.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-vect-data-refs.c, ubsan.c, valtrack.c, var-tracking.c, varasm.c: Include memmodel.h. * genattrtab.c (write_header): Include memmodel.h in generated file. * genautomata.c (main): Likewise. * gengtype.c (open_base_files): Likewise. * genopinit.c (main): Likewise. * genconditions.c (write_header): Include memmodel.h earlier in generated file. * genemit.c (main): Likewise. * genoutput.c (output_prologue): Likewise. * genpeep.c (main): Likewise. * genpreds.c (write_insn_preds_c): Likewise. * genrecog.c (write_header): Likewise. * Makefile.in (PLUGIN_HEADERS): Include memmodel.h gcc/ada/ * gcc-interface/utils2.c: Include memmodel.h. gcc/c-family/ * c-cppbuiltin.c: Include memmodel.h. * c-opts.c: Likewise. * c-pragma.c: Likewise. * c-warn.c: Likewise. gcc/c/ * c-typeck.c: Include memmodel.h. gcc/cp/ * decl2.c: Include memmodel.h. * rtti.c: Likewise. gcc/fortran/ * trans-intrinsic.c: Include memmodel.h. gcc/go/ * go-backend.c: Include memmodel.h. libgcc/ * libgcov-profiler.c: Replace MEMMODEL_* macros by their __ATOMIC_* equivalent. * config/tilepro/atomic.c: Likewise and stop casting model to enum memmodel. From-SVN: r241121
2016-10-13re PR target/77957 (Undefined .LCTOC0 with -fstack-protector-strong ↵Jakub Jelinek1-1/+1
-mminimal-toc -O0 on ppc64) PR target/77957 * hooks.h (hook_tree_void_null): Declare. * hooks.c (hook_tree_void_null): New function. * langhooks.c (lhd_return_null_tree_v): Remove. * langhooks-def.h (lhd_return_null_tree_v): Remove. * cfgexpand.c (stack_protect_prologue): If guard_decl is NULL, set y to const0_rtx. * function.c (stack_protect_epilogue): Likewise. * config/tilepro/tilepro.c (TARGET_STACK_PROTECT_GUARD): Redefine if TARGET_THREAD_SSP_OFFSET is defined. * config/s390/s390.c (TARGET_STACK_PROTECT_GUARD): Likewise. * config/sparc/sparc.c (TARGET_STACK_PROTECT_GUARD): Likewise. * config/tilegx/tilegx.c (TARGET_STACK_PROTECT_GUARD): Likewise. * config/rs6000/rs6000.c (TARGET_STACK_PROTECT_GUARD): Likewise. * config/i386/i386.c (TARGET_STACK_PROTECT_GUARD): Likewise. (ix86_stack_protect_guard): New function. c/ * c-objc-common.h (LANG_HOOKS_GETDECLS): Use hook_tree_void_null instead of lhd_return_null_tree_v. ada/ * gcc-interface/misc.c (LANG_HOOKS_GETDECLS): Use hook_tree_void_null instead of lhd_return_null_tree_v. From-SVN: r241087
2016-10-11Makefile.in (LIBGNAT_TARGET_PAIRS): Define for DJGPP targetAndris Pavenis1-0/+17
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-11exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.Pierre-Marie de Rodat3-4/+69
* 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
2016-10-11utils2.c (build_binary_op): Add a NO_FOLD argument.Pierre-Marie de Rodat3-21/+38
* 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
2016-10-11fe.h (Constant_Value): Declare.Tristan Gingold1-0/+9
* fe.h (Constant_Value): Declare. * gcc-interface/decl.c (compile_time_known_address_p): Also consider references to constants. From-SVN: r240977
2016-10-11trans.c (gnat_to_gnu): Adjust comment.Eric Botcazou1-6/+8
* 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
2016-10-11utils.c (type_unsigned_for_rm): New predicate.Eric Botcazou1-24/+40
* 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
2016-10-11system-linux-ppc64.ads: Delete.Eric Botcazou1-31/+16
* 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
2016-10-10decl.c (gnat_to_gnu_entity): Put volatile qualifier on types at the very end ↵Eric Botcazou1-14/+15
of the processing. * gcc-interface/decl.c (gnat_to_gnu_entity): Put volatile qualifier on types at the very end of the processing. (gnat_to_gnu_param): Remove redundant test. (change_qualified_type): Do nothing for unconstrained array types. From-SVN: r240915
2016-10-10utils2.c (find_common_type): Do not return the LHS type if it's an array ↵Eric Botcazou1-10/+23
with non-constant lower bound and... * gcc-interface/utils2.c (find_common_type): Do not return the LHS type if it's an array with non-constant lower bound and the RHS type is an array with a constant one. From-SVN: r240913
2016-10-10utils.c (convert): For a biased input type, convert the bias itself to the ↵Eric Botcazou1-4/+12
base type before adding it. * gcc-interface/utils.c (convert): For a biased input type, convert the bias itself to the base type before adding it. From-SVN: r240910
2016-10-08utils.c (convert): Add missing break.Eric Botcazou5-34/+33
* gcc-interface/utils.c (convert) <VECTOR_CST>: Add missing break. Revert 2016-09-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * gcc-interface/decl.c: Fix fall through comment formatting. * gcc-interface/misc.c: Likewise. * gcc-interface/trans.c: Likewise. * gcc-interface/utils.c: Likewise. * gcc-interface/utils2.c: Likewise. From-SVN: r240890
2016-09-29[Patch] Remove all uses of TARGET_FLT_EVAL_METHOD_NON_DEFAULT and poison itJames Greenhalgh1-2/+1
I'm going to hookize TARGET_FLT_EVAL_METHOD, so the current definition of TARGET_FLT_EVAL_METHOD_NON_DEFAULT will stop working. The relaxation enabled by TARGET_FLT_METHOD_NON_DEFAULT isn't portable, and keeping it in place is tricky, so this patch removes it, and poisons TARGET_FLT_EVAL_METHOD_NON_DEFAULT in system.h to prevent future use. gcc/ * defaults.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Remove. * system.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Poison. gcc/c-family/ * c-opts.c (c_common_post_options): Remove special case for TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard in C++. gcc/java/ * lang.c (java_post_options): Remove special case for TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard. gcc/fortran/ * options.c (gfc_post_options): Remove special case for TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard. gcc/ada/ * gcc-interface/misc.c (gnat_post_options): Remove special case for TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard. From-SVN: r240614
2016-09-26Fix fallthrough comments for Ada, Solaris/x86, SPARCRainer Orth5-32/+34
gcc: * config/i386/i386.c (ix86_print_operand) [HAVE_AS_IX86_CMOV_SUN_SYNTAX]: Add gcc_fallthrough. * config/sparc/sparc.c (check_pic): Add fallthrough comment. (epilogue_renumber): Likewise. gcc/ada: * gcc-interface/decl.c: Fix fall through comment formatting. * gcc-interface/misc.c: Likewise. * gcc-interface/trans.c: Likewise. * gcc-interface/utils.c: Likewise. * gcc-interface/utils2.c: Likewise. From-SVN: r240509
2016-09-23* hsa-gen.c (hsa_op_immed::hsa_op_immed Use CONSTRUCTOR_NELTS (...)Jakub Jelinek1-1/+1
instead of vec_safe_length (CONSTRUCTOR_ELTS (...)). (gen_hsa_ctor_assignment): Likewise. * print-tree.c (print_node): Likewise. * tree-dump.c (dequeue_and_dump): Likewise. * tree-sra.c (sra_modify_constructor_assign): Likewise. * expr.c (store_constructor): Likewise. * fold-const.c (operand_equal_p): Likewise. * tree-pretty-print.c (dump_generic_node): Likewise. * hsa-brig.c (hsa_op_immed::emit_to_buffer): Likewise. * ipa-icf-gimple.c (func_checker::compare_operand): Likewise. cp/ * typeck2.c (process_init_constructor_record): Use CONSTRUCTOR_NELTS (...) instead of vec_safe_length (CONSTRUCTOR_ELTS (...)). * decl.c (reshape_init_r): Likewise. (check_initializer): Likewise. ada/ * gcc-interface/decl.c (gnat_to_gnu_entity): Use CONSTRUCTOR_NELTS (...) instead of vec_safe_length (CONSTRUCTOR_ELTS (...)). From-SVN: r240390
2016-07-14decl.c (gnat_to_gnu_entity): Also use the void pointer type if the ↵Eric Botcazou2-14/+26
designated type is incomplete and has no... * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Also use the void pointer type if the designated type is incomplete and has no full view in LTO mode. <E_Access_Protected_Subprogram_Type>: Adjust comment. <E_Incomplete_Type>: Likewise. * gcc-interface/trans.c (Call_to_gnu): Do not convert to the type of the actual if it is a dummy type. From-SVN: r238333
2016-07-11Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG.Bernd Edlinger3-2/+5
2016-07-11 Bernd Edlinger <bernd.edlinger@hotmail.de> Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG. * tree-core.h (tree_base::nothrow_flag): Adjust comment. (tree_type_common::lang_flag_7): New. (tree_type_common::spare): Reduce size. * tree.h (TYPE_ALIGN_OK): Remove. (TYPE_LANG_FLAG_7): New. (get_inner_reference): Adjust header. * print-tree.c (print_node): Adjust. * expr.c (get_inner_reference): Remove parameter keep_aligning. (get_bit_range, expand_assignment, expand_expr_addr_expr_1): Adjust calls to get_inner_reference. (expand_expr_real_1): Adjust call to get_inner_reference. Remove handling of TYPE_ALIGN_OK. * builtins.c (get_object_alignment_2): Adjust call to get_inner_reference. Remove handling of VIEW_CONVERT_EXPR. * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove handling of TYPE_ALIGN_OK. * asan.c (instrument_derefs): Adjust calls to get_inner_reference. * cfgexpand.c (expand_debug_expr): Likewise. * dbxout.c (dbxout_expand_expr): Likewise. * dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref, loc_list_from_tree, fortran_common): Likewise. * fold-const.c (optimize_bit_field_compare, decode_field_reference, fold_unary_loc, fold_comparison, split_address_to_core_and_offset): Likewise. * gimple-laddress.c (execute): Likewise. * gimple-ssa-strength-reduction.c (slsr_process_ref): Likewise. * gimplify.c (gimplify_scan_omp_clauses): Likewise. * hsa-gen.c (gen_hsa_addr): Likewise. * simplifx-rtx.c (delegitimize_mem_from_attrs): Likewise. * tsan.c (instrument_expr): Likewise. * ubsan.c (instrument_bool_enum_load, instrument_object_size): Likewise. * tree.c (verify_type_variant): Remove handling of TYPE_ALIGN_OK. * tree-affine.c (tree_to_aff_combination, get_inner_reference_aff): Adjust calls to get_inner_reference. * tree-data-ref.c (split_constant_offset_1, dr_analyze_innermost): Likewise. * tree-scalar-evolution.c (interpret_rhs_expr): Likewise. * tree-sra.c (ipa_sra_check_caller): Likewise. * tree-ssa-loop-ivopts.c (split_address_cost): Likewise. * tree-ssa-math-opts.c (find_bswap_or_nop_load, bswap_replace): Likewise. * tree-vect-data-refs.c (vect_check_gather, vect_analyze_data_refs): Likewise. * config/mips/mips.c (r10k_safe_mem_expr_p): Likewise. * config/pa/pa.c (pa_emit_move_sequence): Remove handling of TYPE_ALIGN_OK. ada: 2016-07-11 Bernd Edlinger <bernd.edlinger@hotmail.de> Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG. * gcc-interface/ada-tree.h (TYPE_ALIGN_OK): Define. * gcc-interface/trans.c (Attribute_to_gnu): Adjust call to get_inner_reference. * gcc-interface/utils2.c (build_unary_op): Likewise. From-SVN: r238210
2016-07-11trans.c (add_decl_expr): Minor tweak.Eric Botcazou2-14/+23
* gcc-interface/trans.c (add_decl_expr): Minor tweak. * gcc-interface/utils.c (create_var_decl): For an external variable, also clear TREE_READONLY in LTO mode if the initializer is not a valid constant and set DECL_READONLY_ONCE_ELAB instead. From-SVN: r238206
2016-07-05decl.c (gnat_to_gnu_entity): Invoke global_bindings_p last when possible.Eric Botcazou1-18/+17
* gcc-interface/decl.c (gnat_to_gnu_entity): Invoke global_bindings_p last when possible. Do not call elaborate_expression_2 on offsets in local record types and avoid useless processing for constant offsets. From-SVN: r238001
2016-07-04Cleanups.Arnaud Charlet1-70/+151
From-SVN: r237977