1. 19 Oct, 2015 4 commits
    • Fix PR68002, add -fkeep-static-functions · 787da5fd
      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
      Joost VandeVondele committed
    • Remove undefined behaviour from builtins-20.c · 9c99fe75
      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
      Richard Sandiford committed
    • [haifa-sched] model load/store multiples properly in autoprefetcher scheduling · 613743a2
      	* 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
      Kyrylo Tkachov committed
    • Daily bump. · eb5ea58e
      From-SVN: r228959
      GCC Administrator committed
  2. 18 Oct, 2015 10 commits
    • Fix crash in gengtype debug dump · 5330e5a1
      gcc/
      	PR other/65800
      	* gengtype.c (dump_type): Handle TYPE_UNDEFINED correctly.
      
      From-SVN: r228956
      Mikhail Maltsev committed
    • Revise Darwin's sysroot handling to be compatible with the clang toolchain. · d42becb9
      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
      Iain Sandoe committed
    • re PR c++/68006 ([C++14] Incorrect aggregate initialization from empty initializer list with NSDMI) · 49489608
      	PR c++/68006
      
      	* decl.c (implicit_default_ctor_p): New.
      	(start_preparsed_function): Don't clobber on entry to one.
      
      From-SVN: r228949
      Jason Merrill committed
    • Fix common-related error recovery ICE. · a70ba41f
      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
      Mikael Morin committed
    • Darwin - Tidy mmacosx-version-min code and specs. · 45c3fea9
      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
      Iain Sandoe committed
    • Fix PR63758 by using the _NSGetEnviron() API on Darwin · efd40fc4
      include/
      
      	Roland McGrath  <roland@gnu.org>
      
      	PR other/63758
      	* environ.h: New file.
      
      libiberty/
      
      	Roland McGrath  <roland@gnu.org>
      	Iain Sandoe  <iain@codesourcery.com>
      
      	PR other/63758
      	* pex-unix.c: Obtain the environment interface from settings in environ.h
      	rather than in-line code.  Update copyright date.
      	* setenv.c: Likewise.
      	* xmalloc.c: Likewise.
      
      
      
      Co-Authored-By: Iain Sandoe <iain@codesourcery.com>
      
      From-SVN: r228942
      Roland McGrath committed
    • Improve handling of -arch flag for Darwin · 37341412
      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
      Iain Sandoe committed
    • re PR fortran/67177 (MOVE_ALLOC not automatically allocating deferred character… · 38217d3e
      re PR fortran/67177 (MOVE_ALLOC not automatically allocating deferred 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
      Paul Thomas committed
    • fix Darwin bootstrap · 2fe7f26c
      gcc/
      	* config/darwin-driver.h: Adjust includes to add diagnostic-core.
      
      From-SVN: r228939
      Iain Sandoe committed
    • Daily bump. · ba0c749b
      From-SVN: r228936
      GCC Administrator committed
  3. 17 Oct, 2015 3 commits
  4. 16 Oct, 2015 23 commits
    • divmodqi.S: Return 0x00 by default for div by 0. · 793aa938
      * config/rl78/divmodqi.S: Return 0x00 by default for div by 0.
      * config/rl78/divmodsi.S: Update return register to r8.
      * config/rl78/divmodhi.S: Update return register to r8,r9.
      Branch to main_loop_done_himode to pop registers before return.
      
      From-SVN: r228926
      Kaushik Phatak committed
    • Disable X86_TUNE_ALWAYS_FANCY_MATH_387 for Lakemont · 0d3a9fe7
      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
      H.J. Lu committed
    • Fix def_test_returning_type in iamcu/test_basic_returning.c · 104cbaf5
      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
      H.J. Lu committed
    • gen-mul-tables.cc: Adjust include files. · e11c4407
      
      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
      Andrew MacLeod committed
    • Replace printf with __builtin_printf · bc8512ab
      	* gcc.target/i386/iamcu/test_basic_64bit_returning.c (main):
      	Replace printf with __builtin_printf.
      
      From-SVN: r228922
      H.J. Lu committed
    • Properly initialize u5 · 259acf43
      	* gcc.target/i386/iamcu/test_passing_unions.c (main): Properly
      	initialize u5.
      
      From-SVN: r228921
      H.J. Lu committed
    • re PR middle-end/67966 (ICE in convert_move, at expr.c:282) · d21e1248
      	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
      Eric Botcazou committed
    • Document options for Filesystem TS library · fe29811c
      	* doc/xml/manual/configure.xml: Document
      	--enable-libstdcxx-filesystem-ts option.
      	* doc/xml/manual/status_cxx2014.xml: Document libstdc++fs.a.
      	* doc/xml/manual/using.xml: Likewise.
      	* doc/html/*: Regenerate.
      
      From-SVN: r228914
      Jonathan Wakely committed
    • re PR target/67745 ([ARM] wrong alignments when __attribute__ ((optimize,target,align) is used) · 63b0cb04
      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
      Christian Bruel committed
    • [multiple changes] · 1df7c326
      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
      Arnaud Charlet committed
    • [multiple changes] · e1e307d9
      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
      Arnaud Charlet committed
    • [multiple changes] · 7f37fff1
      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
      Arnaud Charlet committed
    • Complete previous change. · 16e49553
      From-SVN: r228905
      Arnaud Charlet committed
    • re PR target/67745 ([ARM] wrong alignments when __attribute__ ((optimize,target,align) is used) · f66a9a76
      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
      Christian Bruel committed
    • Code clean up. · 2346b806
      From-SVN: r228903
      Doug Rupp committed
    • Complete previous change. · 51cf5b3e
      From-SVN: r228902
      Arnaud Charlet committed
    • [multiple changes] · 4b8ae2b0
      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
      Arnaud Charlet committed
    • Complete previous change. · 79b5eeb0
      From-SVN: r228900
      Arnaud Charlet committed
    • [multiple changes] · 8434cfc7
      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
      Arnaud Charlet committed
    • Fix typo. · f99a9fea
      From-SVN: r228898
      Arnaud Charlet committed
    • [multiple changes] · 33398e3c
      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
      Arnaud Charlet committed
    • [multiple changes] · 2a738b34
      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
      Arnaud Charlet committed
    • [multiple changes] · 00c93ba2
      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
      Arnaud Charlet committed