Commit Graph

141555 Commits

Author SHA1 Message Date
Kyrylo Tkachov 613743a2cb [haifa-sched] model load/store multiples properly in autoprefetcher scheduling
* 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-19 09:23:07 +00:00
GCC Administrator eb5ea58e9e Daily bump.
From-SVN: r228959
2015-10-19 00:16:12 +00:00
Mikhail Maltsev 5330e5a158 Fix crash in gengtype debug dump
gcc/
	PR other/65800
	* gengtype.c (dump_type): Handle TYPE_UNDEFINED correctly.

From-SVN: r228956
2015-10-18 23:33:21 +00:00
Iain Sandoe d42becb9d8 Revise Darwin's sysroot handling to be compatible with the clang toolchain.
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-18 18:33:05 +00:00
Jason Merrill 49489608c0 re PR c++/68006 ([C++14] Incorrect aggregate initialization from empty 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-18 14:02:10 -04:00
Mikael Morin a70ba41f41 Fix common-related error recovery ICE.
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-18 17:17:21 +00:00
Iain Sandoe 45c3fea9ba Darwin - Tidy mmacosx-version-min code and specs.
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-18 14:31:25 +00:00
Roland McGrath efd40fc416 Fix PR63758 by using the _NSGetEnviron() API on Darwin
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
2015-10-18 10:33:37 +00:00
Iain Sandoe 37341412a5 Improve handling of -arch flag for Darwin
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-18 10:11:03 +00:00
Paul Thomas 38217d3ee7 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
2015-10-18 09:31:21 +00:00
Iain Sandoe 2fe7f26c18 fix Darwin bootstrap
gcc/
	* config/darwin-driver.h: Adjust includes to add diagnostic-core.

From-SVN: r228939
2015-10-18 09:22:33 +00:00
GCC Administrator ba0c749b80 Daily bump.
From-SVN: r228936
2015-10-18 00:16:13 +00:00
Steven G. Kargl 98a819ea15 re PR fortran/67987 (ICE on declaring and initializing character with 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-17 16:50:47 +00:00
Trevor Saunders 767dc529b7 change a function argument from rtx to rtx_insn *
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-17 01:00:08 +00:00
GCC Administrator f6a2343f98 Daily bump.
From-SVN: r228929
2015-10-17 00:16:11 +00:00
Kaushik Phatak 793aa938bd divmodqi.S: Return 0x00 by default for div by 0.
* 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
2015-10-16 17:47:07 -04:00
H.J. Lu 0d3a9fe776 Disable X86_TUNE_ALWAYS_FANCY_MATH_387 for Lakemont
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-16 14:07:54 -07:00
H.J. Lu 104cbaf530 Fix def_test_returning_type in iamcu/test_basic_returning.c
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-16 13:03:17 -07:00
Andrew MacLeod e11c440728 gen-mul-tables.cc: Adjust include files.
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-16 19:47:09 +00:00
H.J. Lu bc8512ab00 Replace printf with __builtin_printf
* gcc.target/i386/iamcu/test_basic_64bit_returning.c (main):
	Replace printf with __builtin_printf.

From-SVN: r228922
2015-10-16 12:34:32 -07:00
H.J. Lu 259acf4304 Properly initialize u5
* gcc.target/i386/iamcu/test_passing_unions.c (main): Properly
	initialize u5.

From-SVN: r228921
2015-10-16 12:31:20 -07:00
Eric Botcazou d21e124878 re PR middle-end/67966 (ICE in convert_move, at expr.c:282)
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-16 15:56:49 +00:00
Jonathan Wakely fe29811c31 Document options for Filesystem TS library
* 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
2015-10-16 14:55:12 +01:00
Christian Bruel 63b0cb0436 re PR target/67745 ([ARM] wrong alignments when __attribute__ ((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 15:52:51 +02:00
Arnaud Charlet 1df7c326c7 [multiple changes]
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 15:52:44 +02:00
Arnaud Charlet e1e307d941 [multiple changes]
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 15:43:47 +02:00
Arnaud Charlet 7f37fff1a1 [multiple changes]
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-16 15:41:29 +02:00
Arnaud Charlet 16e49553f7 Complete previous change.
From-SVN: r228905
2015-10-16 15:40:04 +02:00
Christian Bruel f66a9a7613 re PR target/67745 ([ARM] wrong alignments when __attribute__ ((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-16 15:37:14 +02:00
Doug Rupp 2346b80643 Code clean up.
From-SVN: r228903
2015-10-16 15:28:39 +02:00
Arnaud Charlet 51cf5b3e0a Complete previous change.
From-SVN: r228902
2015-10-16 15:26:51 +02:00
Arnaud Charlet 4b8ae2b072 [multiple changes]
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-16 15:25:00 +02:00
Arnaud Charlet 79b5eeb0e3 Complete previous change.
From-SVN: r228900
2015-10-16 15:21:25 +02:00
Arnaud Charlet 8434cfc767 [multiple changes]
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-16 15:14:24 +02:00
Arnaud Charlet f99a9fea99 Fix typo.
From-SVN: r228898
2015-10-16 15:14:12 +02:00
Arnaud Charlet 33398e3c4e [multiple changes]
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 15:11:18 +02:00
Arnaud Charlet 2a738b3469 [multiple changes]
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 15:08:04 +02:00
Arnaud Charlet 00c93ba2f2 [multiple changes]
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 15:03:16 +02:00
Arnaud Charlet 65cddf367d [multiple changes]
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 14:53:03 +02:00
Arnaud Charlet f9105bfacd [multiple changes]
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 14:47:43 +02:00
Arnaud Charlet 69d8d8b48d [multiple changes]
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 14:43:21 +02:00
Arnaud Charlet 4ef36ac7d0 [multiple changes]
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-16 14:41:13 +02:00
Arnaud Charlet ed616c6c35 Make-lang.in: Update dependencies
* gcc-interface/Make-lang.in: Update dependencies

From-SVN: r228882
2015-10-16 14:35:59 +02:00
Arnaud Charlet e3d9f44843 [multiple changes]
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-16 14:32:52 +02:00
Arnaud Charlet 57d3adcd5e checks.adb: Fix typo.
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-16 14:25:58 +02:00
Gary Dismukes e83ed69230 exp_ch9.adb (Build_Simple_Entry_Call): Set_Is_Internal on the temporary 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
2015-10-16 14:22:22 +02:00
Arnaud Charlet f145ece721 [multiple changes]
2015-10-16  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb, sem_util.ads, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb:
	Minor reformatting.
	* sem_ch12.adb (Analyze_Formal_Package_Declaration): Set the
	SPARK_Mode from the context.

2015-10-16  Bob Duff  <duff@adacore.com>

	* sem_util.adb (Requires_Transient_Scope):
	If Typ is a generic formal incomplete type, look at the actual
	type. Otherwise, we don't notice that the actual type is tagged,
	has a variant part, etc, causing a mismatch of calling conventions
	between caller and callee.

2015-10-16  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.ads: Move the declaration of enumeration
	literal E_Abstract_State above E_Entry.  Update the upper bound
	of subtype Overloadable_Kind.

2015-10-16  Gary Dismukes  <dismukes@adacore.com>

	* exp_attr.adb: Minor editorial changes.

From-SVN: r228878
2015-10-16 14:21:03 +02:00
Aurelio Remonda 6b6254db8a Shrink std::random_shuffle test to pass on simulators
2015-10-16  Aurelio Remonda  <aurelio.remonda@tallertechnologies.com>

	* testsuite/25_algorithms/random_shuffle/moveable.cc: Change variable
	N from const int N = 200000 to const unsigned int N = 10000.
	Delete useless fill_ascending function call.

From-SVN: r228876
2015-10-16 12:12:15 +01:00
Jan Hubicka 6d244704f7 revert: ipa-icf-gimple.c (func_checker::compare_operand): Compare only empty constructors.
Revert:
	* ipa-icf-gimple.c (func_checker::compare_operand): Compare only
	empty constructors.
	* gcc.c-torture/compile/icfmatch.c: Add testcase

From-SVN: r228875
2015-10-16 11:06:14 +00:00
Arnaud Charlet 535a86378e exp_ch5.adb, [...]: Code clean up: remove special handling for .NET and JVM.
2015-10-16  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch5.adb, sem_ch3.adb, frontend.adb, exp_ch7.adb, exp_ch7.ads,
	sem_ch5.adb, sem_type.adb, exp_util.adb, exp_util.ads, comperr.adb,
	exp_attr.adb, sinfo.ads, exp_ch9.adb, make.adb, usage.adb,
	lib-writ.adb, sem_ch9.adb, bindgen.adb, debug.adb, einfo.adb,
	einfo.ads, types.ads, checks.adb, sem_prag.adb, s-tasini.adb,
	rtsfind.ads, freeze.adb, sem_util.adb, sem_util.ads, exp_dbug.adb,
	gnatlink.adb, gnat1drv.adb, targparm.adb, targparm.ads, exp_ch4.adb,
	exp_ch11.adb, repinfo.adb, s-soflin.adb, s-soflin.ads, exp_ch6.adb,
	exp_ch13.adb, sem_mech.adb, sem_ch6.adb, par-prag.adb, exp_disp.adb,
	sem_ch8.adb, exp_disp.ads, snames.adb-tmpl, exp_aggr.adb, sem_eval.adb,
	exp_intr.adb, sem_ch13.adb, snames.ads-tmpl, sem_disp.adb, exp_ch3.adb:
	Code clean up: remove special handling for .NET and JVM.

From-SVN: r228874
2015-10-16 13:01:53 +02:00