aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-10-19gimple-fold.c (gimple_phi_nonnegative_warnv_p): New function.Richard Biener6-27/+61
2015-10-19 Richard Biener <rguenther@suse.de> * gimple-fold.c (gimple_phi_nonnegative_warnv_p): New function. (gimple_stmt_nonnegative_warnv_p): Use it. * match.pd (CPROJ): New operator list. (cproj (complex ...)): Move simplifications from ... * builtins.c (fold_builtin_cproj): ... here. * gcc.dg/torture/builtin-cproj-1.c: Skip for -O0. From-SVN: r228970
2015-10-19Use GET_MODE_BITSIZE to get vector natural alignmentH.J. Lu2-1/+11
Since GET_MODE_ALIGNMENT is defined by psABI and the biggest alignment is 4 byte for IA MCU psABI, we should use GET_MODE_BITSIZE for IA MCU psABI to get vector natural alignment to check misaligned vector move. * config/i386/i386.c (ix86_expand_vector_move): Use GET_MODE_BITSIZE for IA MCU psABI to get vector natural alignment. From-SVN: r228969
2015-10-19Replace @optindex with @opindexH.J. Lu2-1/+5
* doc/invoke.texi: Replace @optindex with @opindex. From-SVN: r228968
2015-10-19Don't leak ISA to __attribute__ ((target("arch=XXX")))H.J. Lu6-1/+74
When processing __attribute__ ((target("arch=XXX"))), we should clear the ISA bits in x_ix86_isa_flags first to avoid leaking ISA from command line. gcc/ PR target/67995 * config/i386/i386.c (ix86_valid_target_attribute_tree): If arch= is set, clear all bits in x_ix86_isa_flags, except for ISA_64BIT, ABI_64, ABI_X32, and CODE16. gcc/testsuite/ PR target/67995 * gcc.target/i386/pr67995-1.c: New test. * gcc.target/i386/pr67995-2.c: Likewise. * gcc.target/i386/pr67995-3.c: Likewise. From-SVN: r228967
2015-10-19fix date of changelog entryJoost VandeVondele1-1/+1
From-SVN: r228966
2015-10-19Fix PR68002, add -fkeep-static-functionsJoost VandeVondele6-3/+31
gcc/ChangeLog: 2015-10-17 Joost VandeVondele <vondele@gnu.gcc.org> PR middle-end/68002 * common.opt (fkeep-static-functions): New option. * doc/invoke.texi: Document it. * cgraphunit.c (cgraph_node::finalize_function): Use it. gcc/testsuite/ChangeLog: 2015-10-17 Joost VandeVondele <vondele@gnu.gcc.org> PR middle-end/68002 * gcc.dg/PR68002.c: New test. From-SVN: r228965
2015-10-19Remove undefined behaviour from builtins-20.cRichard Sandiford2-3/+7
builtins-20.c had: if (cos((y*=2, -fabs(tan(x/-y)))) != cos((y*=2,tan(x/y)))) link_error (); which is undefined behaviour. The test expected that y had the same value in x/y and x/-y, but gimplification actually implements the "obvious" interpretation, multiplying y by 2, using it for one cos call, then multiplying it by 2 again and using it for the other cos call. The file has other (valid) tests that side-effects don't block optimisation, such as: if (cosf((y*=3, -x)) != cosf((y*=3,x))) link_error (); so this patch simply removes this instance. Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi. gcc/testsuite/ * gcc.dg/builtins-20.c: Remove undefined behavior. From-SVN: r228963
2015-10-19[haifa-sched] model load/store multiples properly in autoprefetcher schedulingKyrylo Tkachov3-17/+174
* sched-int.h (struct autopref_multipass_data_): Remove offset field. Add min_offset, max_offset, multi_mem_insn_p fields. * haifa-sched.c (analyze_set_insn_for_autopref): New function. (autopref_multipass_init): Use it. Handle PARALLEL sets. (autopref_rank_data): New function. (autopref_rank_for_schedule): Use it. (autopref_multipass_dfa_lookahead_guard_1): Likewise. From-SVN: r228962
2015-10-19Daily bump.GCC Administrator1-1/+1
From-SVN: r228959
2015-10-18Fix crash in gengtype debug dumpMikhail Maltsev2-1/+13
gcc/ PR other/65800 * gengtype.c (dump_type): Handle TYPE_UNDEFINED correctly. From-SVN: r228956
2015-10-18Revise Darwin's sysroot handling to be compatible with the clang toolchain.Iain Sandoe2-5/+22
gcc/ * config/darwin.h (TARGET_SYSTEM_ROOT): Remove this from here, (HAVE_LD_SYSROOT): New. (SYSROOT_SPEC): New. (LINK_SYSROOT_SPEC): Revise to remove the default for target sysroot. (STANDARD_STARTFILE_PREFIX_1): New. (STANDARD_STARTFILE_PREFIX_2): New. From-SVN: r228950
2015-10-18re PR c++/68006 ([C++14] Incorrect aggregate initialization from empty ↵Jason Merrill3-1/+43
initializer list with NSDMI) PR c++/68006 * decl.c (implicit_default_ctor_p): New. (start_preparsed_function): Don't clobber on entry to one. From-SVN: r228949
2015-10-18Fix common-related error recovery ICE.Mikael Morin6-23/+74
Fix an inconsistent state, between the in_common attribute and the common_block pointer. - adding a symbol to a common block list in gfc_match_common is delayed after the call to gfc_add_in_common. - gfc_restore_latest_undo_checkpoint is changed to check the common_block pointer directly instead of the in_common attribute. - gfc_restore_old_symbol is changed to also restore the common-related pointers. This is done using a new function created to factor the related memory management. - In gfc_restore_last_undo_checkpoint, when a symbol has been removed from the common block linked list, its common_next pointer is cleared. PR fortran/67758 gcc/fortran/ * gfortran.h (gfc_symbol): Expand comment. * match.c (gfc_match_common): Delay adding the symbol to the common_block after the gfc_add_in_common call. * symbol.c (gfc_free_symbol): Move common block memory handling... (gfc_set_symbol_common_block): ... here as a new function. (restore_old_symbol): Restore common block fields. (gfc_restore_last_undo_checkpoint): Check the common_block pointer instead of the in_common attribute. When a symbol has been removed from the common block linked list, clear its common_next pointer. gcc/testsuite/ * gfortran.dg/common_25.f90: New file. From-SVN: r228947
2015-10-18Darwin - Tidy mmacosx-version-min code and specs.Iain Sandoe7-92/+68
gcc/ * config/darwin-driver.c (darwin_default_min_version): Refactor code. (darwin_driver_init): Note a version-min when provided on the c/l. * config/darwin.h (%darwin_minversion): Remove. * config/i386/darwin.h: Likewise. * config/rs6000/darwin.h: Likewise. * config/darwin.opt (mmacosx-version-min=): Use the configured default, rather than an arbitrary constant. From-SVN: r228944
2015-10-18Improve handling of -arch flag for DarwinIain Sandoe2-5/+101
gcc/ * config/darwin-driver.c (darwin_driver_init): Handle '-arch' for PPC, detect conflicts between -arch and multilib settings. Detect and warn about conflicts between multiple -arch definitions. From-SVN: r228941
2015-10-18re PR fortran/67177 (MOVE_ALLOC not automatically allocating deferred ↵Paul Thomas8-7/+221
character arrays in derived types) 2015-10-18 Paul Thomas <pault@gcc.gnu.org> PR fortran/67177 PR fortran/67977 * primary.c (match_substring): Add an argument 'deferred' to flag that a substring reference with null start and end should not be optimized away for deferred length strings. (match_string_constant, gfc_match_rvalue): Set the argument. * trans-expr.c (alloc_scalar_allocatable_for_assignment): If there is a substring reference return. * trans-intrinsic.c (conv_intrinsic_move_alloc): For deferred characters, assign the 'from' string length to the 'to' string length. If the 'from' expression is deferred, set its string length to zero. If the 'to' expression has allocatable components, deallocate them. 2015-10-18 Paul Thomas <pault@gcc.gnu.org> PR fortran/67177 * gfortran.dg/move_alloc_15.f90: New test * gfortran.dg/move_alloc_16.f90: New test PR fortran/67977 * gfortran.dg/deferred_character_assignment_1.f90: New test From-SVN: r228940
2015-10-18fix Darwin bootstrapIain Sandoe2-0/+5
gcc/ * config/darwin-driver.h: Adjust includes to add diagnostic-core. From-SVN: r228939
2015-10-18Daily bump.GCC Administrator1-1/+1
From-SVN: r228936
2015-10-17re PR fortran/67987 (ICE on declaring and initializing character with ↵Steven G. Kargl6-28/+71
negative len) 2015-10-17 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/67987 * decl.c (char_len_param_value): Unwrap unlong line. If LEN < 0, force it to zero per the Fortran 90, 95, 2003, and 2008 Standards. * resolve.c (gfc_resolve_substring_charlen): Unwrap unlong line. If 'start' is larger than 'end', length of substring is negative, so explicitly set it to zero. (resolve_charlen): Remove -Wsurprising warning. Update comment to reflect that the text is from the F2008 standard. 2015-10-17 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/67987 * gfortran.df/pr67987.f90: New test. * gfortran.dg/char_length_2.f90: Update testcase. From-SVN: r228933
2015-10-17change a function argument from rtx to rtx_insn *Trevor Saunders2-1/+6
gcc/ChangeLog: 2015-10-16 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * lra-constraints.c (add_next_usage_insn): Change argument type from rtx to rtx_insn *. From-SVN: r228931
2015-10-17Daily bump.GCC Administrator1-1/+1
From-SVN: r228929
2015-10-16Disable X86_TUNE_ALWAYS_FANCY_MATH_387 for LakemontH.J. Lu2-1/+6
Since Lakemont processor doesn't have 387, we should disable X86_TUNE_ALWAYS_FANCY_MATH_387 for Lakemont. * i386/x86-tune.def (X86_TUNE_ALWAYS_FANCY_MATH_387): Disable for Lakemont. From-SVN: r228925
2015-10-16Fix def_test_returning_type in iamcu/test_basic_returning.cH.J. Lu2-1/+9
Use union to check float return bits to avoid converting from integer to float when comparing float return value. * gcc.target/i386/iamcu/test_basic_returning.c (def_test_returning_type): Use union to check float return bits. From-SVN: r228924
2015-10-16gen-mul-tables.cc: Adjust include files.Andrew MacLeod110-1845/+625
2015-10-16 Andrew MacLeod <amacleod@redhat.com> * config/tilepro/gen-mul-tables.cc: Adjust include files. * config/tilegx/mul-tables.c: Regenerate. * config/tilepro/mul-tables.c: Regenerate. * config/tilegx/tilegx-c.c: Adjust include files. * config/tilegx/tilegx.c: Likewise. * config/tilepro/tilepro-c.c: Likewise. * config/tilepro/tilepro.c: Likewise. * config/aarch64/aarch64-builtins.c: Likewise. * config/aarch64/aarch64.c: Likewise. * config/aarch64/cortex-a57-fma-steering.c: Likewise. * config/alpha/alpha.c: Likewise. * config/arc/arc.c: Likewise. * config/arm/aarch-common.c: Likewise. * config/arm/arm-builtins.c: Likewise. * config/arm/arm-c.c: Likewise. * config/arm/arm.c: Likewise. * config/avr/avr-c.c: Likewise. * config/avr/avr-devices.c: Likewise. * config/avr/avr-log.c: Likewise. * config/avr/avr.c: Likewise. * config/bfin/bfin.c: Likewise. * config/c6x/c6x.c: Likewise. * config/cr16/cr16.c: Likewise. * config/cris/cris.c: Likewise. * config/darwin-c.c: Likewise. * config/darwin-driver.c: Likewise. * config/darwin.c: Likewise. * config/default-c.c: Likewise. * config/epiphany/epiphany.c: Likewise. * config/epiphany/mode-switch-use.c: Likewise. * config/epiphany/resolve-sw-modes.c: Likewise. * config/fr30/fr30.c: Likewise. * config/frv/frv.c: Likewise. * config/ft32/ft32.c: Likewise. * config/glibc-c.c: Likewise. * config/h8300/h8300.c: Likewise. * config/i386/host-cygwin.c: Likewise. * config/i386/host-mingw32.c: Likewise. * config/i386/i386-c.c: Likewise. * config/i386/i386.c: Likewise. * config/i386/msformat-c.c: Likewise. * config/i386/winnt-cxx.c: Likewise. * config/i386/winnt-stubs.c: Likewise. * config/i386/winnt.c: Likewise. * config/ia64/ia64-c.c: Likewise. * config/ia64/ia64.c: Likewise. * config/iq2000/iq2000.c: Likewise. * config/lm32/lm32.c: Likewise. * config/m32c/m32c-pragma.c: Likewise. * config/m32c/m32c.c: Likewise. * config/m32r/m32r.c: Likewise. * config/mcore/mcore.c: Likewise. * config/mep/mep-pragma.c: Likewise. * config/mep/mep.c: Likewise. * config/microblaze/microblaze-c.c: Likewise. * config/microblaze/microblaze.c: Likewise. * config/mips/mips-tables.opt * config/mips/mips.c: Likewise. * config/mmix/mmix.c: Likewise. * config/mn10300/mn10300.c: Likewise. * config/moxie/moxie.c: Likewise. * config/msp430/msp430-c.c: Likewise. * config/msp430/msp430.c: Likewise. * config/nds32/nds32-cost.c: Likewise. * config/nds32/nds32-fp-as-gp.c: Likewise. * config/nds32/nds32-intrinsic.c: Likewise. * config/nds32/nds32-isr.c: Likewise. * config/nds32/nds32-md-auxiliary.c: Likewise. * config/nds32/nds32-memory-manipulation.c: Likewise. * config/nds32/nds32-pipelines-auxiliary.c: Likewise. * config/nds32/nds32-predicates.c: Likewise. * config/nds32/nds32.c: Likewise. * config/nios2/nios2.c: Likewise. * config/nvptx/mkoffload.c: Likewise. * config/nvptx/nvptx.c: Likewise. * config/pa/pa.c: Likewise. * config/pdp11/pdp11.c: Likewise. * config/rl78/rl78-c.c: Likewise. * config/rl78/rl78.c: Likewise. * config/rs6000/host-darwin.c: Likewise. * config/rs6000/rs6000-c.c: Likewise. * config/rs6000/rs6000-linux.c: Likewise. * config/rs6000/rs6000.c: Likewise. * config/rx/rx.c: Likewise. * config/s390/s390-c.c: Likewise. * config/s390/s390.c: Likewise. * config/sh/sh-c.c: Likewise. * config/sh/sh-mem.cc: Likewise. * config/sh/sh.c: Likewise. * config/sh/sh_optimize_sett_clrt.cc: Likewise. * config/sh/sh_treg_combine.cc: Likewise. * config/sol2-c.c: Likewise. * config/sol2-cxx.c: Likewise. * config/sol2-stubs.c: Likewise. * config/sol2.c: Likewise. * config/sparc/sparc-c.c: Likewise. * config/sparc/sparc.c: Likewise. * config/spu/spu-c.c: Likewise. * config/spu/spu.c: Likewise. * config/stormy16/stormy16.c: Likewise. * config/v850/v850-c.c: Likewise. * config/v850/v850.c: Likewise. * config/vax/vax.c: Likewise. * config/visium/visium.c: Likewise. * config/vms/vms-c.c: Likewise. * config/vms/vms.c: Likewise. * config/vxworks.c: Likewise. * config/winnt-c.c: Likewise. * config/xtensa/xtensa.c: Likewise. From-SVN: r228923
2015-10-16Replace printf with __builtin_printfH.J. Lu2-1/+6
* gcc.target/i386/iamcu/test_basic_64bit_returning.c (main): Replace printf with __builtin_printf. From-SVN: r228922
2015-10-16Properly initialize u5H.J. Lu2-1/+6
* gcc.target/i386/iamcu/test_passing_unions.c (main): Properly initialize u5. From-SVN: r228921
2015-10-16re PR middle-end/67966 (ICE in convert_move, at expr.c:282)Eric Botcazou5-4/+137
PR middle-end/67966 * gnat.dg/pack21.adb: New test. * gnat.dg/pack22.adb: Likewise. * gnat.dg/pack22_pkg.ad[sb]: New helper. From-SVN: r228917
2015-10-16re PR target/67745 ([ARM] wrong alignments when __attribute__ ↵Christian Bruel8-1/+56
((optimize,target,align) is used) 2015-10-16 Christian Bruel <christian.bruel@st.com> PR target/67745 * config/arm/arm.h (FUNCTION_BOUNDARY): Use FUNCTION_BOUNDARY_P. (FUNCTION_BOUNDARY_P): New macro: * config/arm/arm.c (TARGET_RELAYOUT_FUNCTION, arm_relayout_function): New hook. * doc/tm.texi.in (TARGET_RELAYOUT_FUNCTION): Document. * doc/tm.texi (TARGET_RELAYOUT_FUNCTION): New hook. * gcc/target.def (TARGET_RELAYOUT_FUNCTION): Likewise. * gcc/function.c (allocate_struct_function): Call relayout_function hook. * gcc/passes.c (rest_of_decl_compilation): Likewise. From-SVN: r228912
2015-10-16[multiple changes]Arnaud Charlet11-179/+366
2015-10-16 Hristian Kirtchev <kirtchev@adacore.com> * aspects.adb Add an entry for Constant_After_Elaboration in table Canonical_Aspect. * aspects.ads Add entries for Constant_After_Elaboration in tables Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names and Implementation_Defined_Aspect. * par-prag.adb Pragma Constant_After_Elaboration does not require special processing by the parser. * sem_ch13.adb Add an entry for Constant_After_Elaboration in table Sig_Flags. (Analyze_Aspect_Specifications): Add processing for aspect Constant_After_Elaboration. (Check_Aspect_At_Freeze_Point): Aspect Constant_After_Elaboration does not require special processing at freeze time. * sem_prag.adb (Analyze_Pragma): Add processing for pragma Constant_After_Elaboration. Use routine Find_Related_Context to retrieve the context of pragma Part_Of. (Duplication_Error): Update comment on usage. (Find_Related_Context): New routine. * sem_prag.ads Add an entry for Constant_After_Elaboration in table Aspect_Specifying_Pragma. (Analyze_Contract_Cases_In_Decl_Part): Update the comment on usage. * sem_util.adb (Add_Contract_Item): Add processing for pragma Constant_After_Elaboration. * sem_util.ads (Add_Contract_Item): Update the comment on usage. * snames.ads-tmpl Add new predefined name and aspect id for Constant_After_Elaboration. 2015-10-16 Vincent Celier <celier@adacore.com> * prj-pp.adb (Pretty_Print.Print): Correctly display extending packages, instead of making them renamed packages. From-SVN: r228911
2015-10-16[multiple changes]Arnaud Charlet8-112/+173
2015-10-16 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch12.adb (Analyze_Package_Instantiation): Treat a missing SPARK_Mode annotation as having mode "Off". (Analyze_Subprogram_Instantiation): Treat a missing SPARK_Mode annotation as having mode "Off". (Instantiate_Package_Body): Code reformatting. Treat a missing SPARK_Mode annotation as having mode "Off". (Instantiate_Subprogram_Body): Code reformatting. Treat a missing SPARK_Mode annotation as having mode "Off". 2015-10-16 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb: Code clean up. * sem_ch13.adb: Minor fix in comment. 2015-10-16 Bob Duff <duff@adacore.com> * a-exexda.adb: Change format of Exception_Information to be more like what we print for unhandled exceptions. * a-exstat.adb: Parse new format. * a-except-2005.adb, a-except.adb: Document new format. From-SVN: r228907
2015-10-16[multiple changes]Arnaud Charlet6-13/+65
2015-10-16 Javier Miranda <miranda@adacore.com> * sem_ch5.adb (Analyze_Iterator_Specification): Associate a transient scope with the renaming object declararation. * exp_util.adb (Insert_Actions): if the enclosing interator loop is marked as requiring the secondary stack then attach the actions to the transient scope. 2015-10-16 Bob Duff <duff@adacore.com> * exp_ch7.adb: Minor spelling fixes. 2015-10-16 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): If anonymous type is component type of array type declaration, analyze its declaration in the current scope, not the enclosing one. From-SVN: r228906
2015-10-16Complete previous change.Arnaud Charlet1-0/+10
From-SVN: r228905
2015-10-16re PR target/67745 ([ARM] wrong alignments when __attribute__ ↵Christian Bruel8-1/+108
((optimize,target,align) is used) 2015-10-16 Christian Bruel <christian.bruel@st.com> PR target/67745 * config/arm/arm.h (FUNCTION_BOUNDARY): Move optimize_size condition to: * config/arm/arm.c (arm_option_override_internal): Call arm_override_options_after_change_1. (arm_override_options_after_change): New function. (arm_override_options_after_change_1): Likewise. (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define hook. From-SVN: r228904
2015-10-16Code clean up.Doug Rupp4-52/+8
From-SVN: r228903
2015-10-16Complete previous change.Arnaud Charlet1-0/+2
From-SVN: r228902
2015-10-16[multiple changes]Arnaud Charlet7-56/+90
2015-10-16 Gary Dismukes <dismukes@adacore.com> * prj.adb, sem_util.adb, exp_ch6.adb: Minor reformatting. 2015-10-16 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_Formal_Container_Element_Loop): Modify expansion to allow element iteration over formal containers whose elements are indefinite types. 2015-10-16 Doug Rupp <rupp@adacore.com> * s-taprop-linux.adb (Monotonic_Clock): Call clock_gettime instead of gettimeofday. * s-osinte-linux.ads (clock_gettime): New imported subprogram. From-SVN: r228901
2015-10-16Complete previous change.Arnaud Charlet1-0/+2
From-SVN: r228900
2015-10-16[multiple changes]Arnaud Charlet7-44/+124
2015-10-16 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Indefinite or limited library level objects are now returned on the heap. * exp_ch7.adb (Build_Finalization_Master): Add formal parameter For_Lib_Level. Add context specific insertion for a finalization master created for an access result type related to a build-in-place function call used to initialize a library level object. * exp_ch7.ads (Build_Finalization_Master): Add formal parameter For_Lib_Level. Update the comment on usage. * sem_util.adb (Mark_Coextensions): Code cleanup. 2015-10-16 Emmanuel Briot <briot@adacore.com> * prj.adb (For_Every_Project_Imported_Context): Fix handling of aggregated projects with duplicate names. * a-ngelfu.ads: Minor whitespace fix. From-SVN: r228899
2015-10-16Fix typo.Arnaud Charlet1-1/+1
From-SVN: r228898
2015-10-16[multiple changes]Arnaud Charlet5-22/+45
2015-10-16 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Build_Predicate_Functions): The expression for the predicate is side-effect free if it does not contain any variable references. 2015-10-16 Bob Duff <duff@adacore.com> * a-convec.adb ("="): Previous version depended on "=" composing, but that doesn't quite work -- we want the "=" operator passed in to the generic. So we need a loop after all. 2015-10-16 Yannick Moy <moy@adacore.com> * sem_util.adb (Is_Object_Reference): Attribute 'Loop_Entry produces an object. * sem_ch6.adb: Minor fix in comment. From-SVN: r228897
2015-10-16[multiple changes]Arnaud Charlet6-895/+728
2015-10-16 Bob Duff <duff@adacore.com> * a-contai.ads: Add two check names: Container_Checks and Tampering_Check. Move the tampering check machinery from Ada.Containers.Vectors to Ada.Containers. Later we can share it with other containers. Disable the tampering machinery in the presence of Suppress(Tampering_Check). Simplify the implementation of tampering checks. E.g. use RAII to make incrementing/decrementing of the counts more concise. * a-contai.adb: New package body, implementing the above. * a-convec.ads, a-convec.adb: Use tampering check machinery in Ada.Containers. Disable all checking code when checks are suppressed. Simplify many of the operations. Implement "&" in terms of Append, rather than "by hand". Remove: function "=" (L, R : Elements_Array) return Boolean is abstract; so we can call the predefined "=" on Elements_Array. For "=" on Vectors: Previously, we returned True immediately if Left'Address = Right'Address. That seems like a non-optimization ("if X = X" is unusual), so removed that. Simplify by using slice comparison ("=" on Element_Array will automatically call "=" on the components, even if user defined). 2015-10-16 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Chek_Record_Representation_Clause): When iterating over components, skip anonymous subtypes created for constrained array components. From-SVN: r228896
2015-10-16[multiple changes]Arnaud Charlet17-48/+55
2015-10-16 Eric Botcazou <ebotcazou@adacore.com> * a-tags.ads (Parent_Size): Remove obsolete pragma Export. * s-finmas.ads (Header_Offset): Delete. * s-finmas.adb (Header_Offset): Likewise. (Finalize): Call Header_Size instead of Header_Offset. * s-stposu.adb (Allocate_Any_Controlled): Likewise. (Deallocate_Any_Controlled): Likewise. 2015-10-16 Arnaud Charlet <charlet@adacore.com> * a-exetim.ads, a-exetim-mingw.ads, a-exetim-default.ads: Whitespace cleanup. * s-osprim-mingw.adb, einfo.ads, sem_util.adb, sem_util.ads, sem_ch4.adb, sem_ch13.adb, s-trasym.adb, s-trasym.ads, s-taprop-posix.adb: Minor reformatting. From-SVN: r228895
2015-10-16[multiple changes]Arnaud Charlet6-18/+60
2015-10-16 Bob Duff <duff@adacore.com> * adadecode.h, adadecode.c (ada_demangle): Remove ada_demangle, no longer used. * a-except-2005.adb: Bring System.Traceback.Symbolic into the closure. 2015-10-16 Ed Schonberg <schonberg@adacore.com> * sem_util.adb, sem_util.ads (Get_Reference_Discriminant): Utility to locate the access discriminant that supports implicit dereference on a record type. (Is_OK_Variable_For_Out_Parameter): Reject other illegal uses of Implicit_Dereference on an access_to_constant when actual parameter is a rewritten variable or function call. From-SVN: r228886
2015-10-16[multiple changes]Arnaud Charlet7-10/+47
2015-10-16 Bob Duff <duff@adacore.com> * a-tags.adb, s-trasym.adb, s-trasym.ads: Make sure we don't get elaboration circularities when polling is turned on. 2015-10-16 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): When creating a full declaration for a formal parameter, the entity is labelled as an Itype, so set Associated_Node_For_Itype accordingly. * einfo.ads: Clarify use of Associated_Node_For_Itype. 2015-10-16 Bob Duff <duff@adacore.com> * bindgen: Move pragmas Warnings earlier, otherwise we can get warnings on with_clauses. From-SVN: r228885
2015-10-16[multiple changes]Arnaud Charlet9-54/+46
2015-10-16 Arnaud Charlet <charlet@adacore.com> * s-osprim-mingw.adb, s-osprim-x32.adb, s-taprop-mingw.adb, s-taprop-posix.adb (Monotonic_Clock): Removed, not used. Remove remaining references to OS_Primitives.Monotonic_Clock. Keep it only on windows which is a special case. 2015-10-16 Javier Miranda <miranda@adacore.com> * a-textio.adb (Get_Line): Fix documentation. * einfo.ads (Interface_Name): Fix documentation. * exp_aggr.adb (Backend_Processing_Possible): Fix documentation. * exp_ch4.adb (Expand_N_In): Fix documentation. From-SVN: r228884
2015-10-16[multiple changes]Arnaud Charlet4-46/+61
2015-10-16 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Subp_Info): Remove Listed component. (Add_Inlined_Subprogram): Take an entity instead of an index. Do not set Listed component to True. (New_Entry): Do not initialize Listed component to False. (Analyze_Inlined_Bodies): Do not test Listed component (Must_Inline): Add calls not in the main unit only if they are in a subprogram that can be inlined outside its unit. (Add_Inlined_Body): Move test around and add comment. 2015-10-16 Arnaud Charlet <charlet@adacore.com> * sinfo.ads, einfo.ads: monir clean ups. From-SVN: r228883
2015-10-16Make-lang.in: Update dependenciesArnaud Charlet2-3/+4
* gcc-interface/Make-lang.in: Update dependencies From-SVN: r228882
2015-10-16[multiple changes]Arnaud Charlet19-166/+125
2015-10-16 Arnaud Charlet <charlet@adacore.com> * usage.adb, debug.adb, a-except.adb, a-except.ads, a-except-2005.adb, a-except-2005.ads, s-imgrea.adb: Minor code clean ups related to jgnat/dotnet removal. 2015-10-16 Arnaud Charlet <charlet@adacore.com> * s-osprim-vxworks.adb, s-osprim-darwin.adb, s-tadeca.adb, s-osprim-unix.adb, s-osprim-solaris.adb, s-osprim-posix.adb, s-osprim.ads (Monotonic_Clock): Removed, unused. 2015-10-16 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Try_Object_Operation, Try_One_Interpretation): Do not reset the Obj_Type of the prefix if an interpretation involves an untagged type, to prevent a crash when analyzing an illegal program in All_Errors mode. 2015-10-16 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Expand_N_Expression_With_Actions): Force the evaluation of the expression when its type is Boolean. (Force_Boolean_Evaluation): New routine. 2015-10-16 Bob Duff <duff@adacore.com> * sem_util.adb (Has_Discrim_Dep_Array): Remove this function, and the call. No longer needed now that the back end can handle such things. Should result in further speedups in some cases. 2015-10-16 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Build_Predicate_Functions): If expression for predicate is side-effect free, indicate that the predicate function is pure, to allow for optimization of redundant predicate checks. From-SVN: r228881
2015-10-16checks.adb: Fix typo.Arnaud Charlet22-5163/+49
2015-10-16 Arnaud Charlet <charlet@adacore.com> * checks.adb: Fix typo. * s-osinte-linux.ads: Add header. * projects.texi: Removed, no longer used. * s-multip.adb: Minor: fix header. * sem_ch3.adb, exp_ch7.adb, g-dirope.ads, sinfo.ads, types.ads, a-textio.adb, s-exctra.adb, ali.adb, back_end.ads, exp_intr.adb, a-tigeli.adb, exp_ch3.adb, s-os_lib.ads: Remove further references to .NET. * gnatlink.adb, opt.ads, exp_aggr.adb, s-solita.adb: Minor comment updates. From-SVN: r228880
2015-10-16exp_ch9.adb (Build_Simple_Entry_Call): Set_Is_Internal on the temporary ↵Gary Dismukes3-22/+46
object used for a by-copy entry parameter... 2015-10-16 Gary Dismukes <dismukes@adacore.com> * exp_ch9.adb (Build_Simple_Entry_Call): Set_Is_Internal on the temporary object used for a by-copy entry parameter, to ensure that the object doesn't get its No_Initialization flag reset later in Default_Initialize_Object. Also, generate the assignment of the actual to the temporary in the additional case of a scalar out parameter whose type has a Default_Value aspect. * exp_ch3.adb: Fix minor typo in comment. From-SVN: r228879