Commit Graph

141391 Commits

Author SHA1 Message Date
Arnaud Charlet
6fa8f71cf8 [multiple changes]
2015-10-20  Bob Duff  <duff@adacore.com>

	* a-coinve.adb, a-contai.adb: Update comments.
	* pprint.ads: Minor reformatting.

2015-10-20  Tristan Gingold  <gingold@adacore.com>

	* env.c, init.c: Handle arm64-darwin like arm-darwin.
	* tracebak.c: Handle arm64-darwin.

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

	* s-trasym.adb (Symbolic_Traceback): When giving the traceback
	as hexadecimal code addresses, separate by blanks instead of LF.

From-SVN: r229039
2015-10-20 12:13:47 +02:00
Arnaud Charlet
36f2e3d311 [multiple changes]
2015-10-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate freeze
	node for subprogram in Compile_Only mode.

2015-10-20  Dmitriy Anisimkov  <anisimko@adacore.com>

	* s-atocou.adb, s-atocou.ads, a-contai.adb, a-contai.ads,
	s-atocou-x86.adb, s-atocou-builtin.adb: Task safe over container
	iterations.

From-SVN: r229037
2015-10-20 12:10:20 +02:00
Arnaud Charlet
be7e4a402a [multiple changes]
2015-10-20  Philippe Gil  <gil@adacore.com>

	* g-debpoo.ads (Dump): NEW print Debug_Pool statistics & main
	contributors.
	(Dump_Stdout): NEW print to stdout Debug_Pool statistics &
	main contributors.
	(Reset): NEW reset counters to 0.
	(Get_Size): NEW return size allocated at parameter.
	(High_Water_Mark): NEW.
	(Current_Water_Mark): NEW.
	(System_Memory_Debug_Pool): NEW tell Debug_Pools that
	System.Memory uses it.
	* g-debpoo.adb (Traceback_Htable_Elem): add Frees, Total_Frees
	components.
	(Find_Or_Create_Traceback): don't manage in System.Memory
	Debug_Pool Deallocate Traceback's.
	(Validity): add optional Handled table when System.Memory asked
	for Allow_Unhandled_Memory.
	(Allocate): handle Allocate reentrancy occuring when System.Memory
	uses Debug_Pools.
	(Deallocate): handle when Allow_Unhandled_Memory
	is set deallocation of unhandled memory. Dont't check
	Size_In_Storage_Elements if equal to Storage_Count'Last. update
	Frees, Total_Frees new components.

2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>

	* fe.h: Minor tweak.

From-SVN: r229036
2015-10-20 12:07:09 +02:00
Arnaud Charlet
46ee0270b7 [multiple changes]
2015-10-20  Vincent Celier  <celier@adacore.com>

	* sem_cat.adb (Check_Categorization_Dependencies): Do nothing
	when -gnatdu is specified.

2015-10-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (analyze_Subprogram_Renaming): The actual for a
	formal abstract subprogram must have a controlling type.
	* stand.ads: Minor whitespace cleanup.

From-SVN: r229035
2015-10-20 12:04:44 +02:00
Arnaud Charlet
47b79f7801 [multiple changes]
2015-10-20  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch13.adb: Minor reference change (RM => AARM).

2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>

	* make.adb (Check): Skip multilib switches reinstated by the
	compiler only when counting the number of switches, since it is
	what really matters in the regular operating mode.

2015-10-20  Arnaud Charlet  <charlet@adacore.com>

	* einfo.adb: Add extra assertion for small clause.
	* cstand.adb: Minor style fix in comment.
	* debug.adb: Minor reformatting.
	* exp_util.adb: Fix minor typo.

2015-10-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Same_Instantiated_Function): New predicate in
	Check_Formal_Package_Instance, used to verify that the formal
	and the actual of an actual package match when both are functions
	given as attribute references.

From-SVN: r229034
2015-10-20 12:00:15 +02:00
Arnaud Charlet
e9f97e7931 [multiple changes]
2015-10-20  Bob Duff  <duff@adacore.com>

	* a-coinve.ads, a-coinve.adb: Do the same efficiency
	improvements that were already done in the definite case
	(Ada.Containers.Vectors, i.e. a-convec). This includes the
	ability to suppress checks, the fast path for Append, inlining
	as appropriate, and special-casing of "for ... of" loops. Reuse
	the tampering machinery that is now in Ada.Containers. Simplify
	many operations.
	* a-convec.ads, a-convec.adb: Change the code to be more similar
	to a-coinve.
	* a-finali.ads, a-finali.adb: Expose the "null"-ness of the
	operations. This may enable optimizations in the future, and
	seems cleaner anyway.

2015-10-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Is_Operational_Item): Attributes related to
	Ada 2012 iterators are operational items, and can be specified
	on partial views.

From-SVN: r229033
2015-10-20 11:56:56 +02:00
Arnaud Charlet
0489576ce8 [multiple changes]
2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Check_Usage): Update the calls to Usage_Error.
	(Usage_Error): Remove formal parameter Item. Emit a clearer message
	concerning a missing dependency item and place it on the related pragma.

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

	* debug.adb, expander.adb: Implement -gnatd.B switch, which
	triggers a bug box when an abort_statement is seen. This is
	useful for testing Comperr.Compiler_Abort.
	* gnat1drv.adb: Trigger bug box on all exceptions other than
	Unrecoverable_Error.

From-SVN: r229032
2015-10-20 11:55:20 +02:00
Arnaud Charlet
3c777b50a7 [multiple changes]
2015-10-20  Thomas Quinot  <quinot@adacore.com>

	* Makefile.rtl: add the following...
	* g-binenv.ads, g-binenv.adb: New unit providing runtime access
	to bind time captured values ("bind environment")
	* init.c: declare new global variable __gl_bind_env_addr.
	* bindgen.ads, bindgen.adb (Set_Bind_Env): record a bind
	environment key=value pair.
	(Gen_Bind_Env_String): helper to produce the bind environment data
	called  in the binder generated file.
	(Gen_Output_File_Ada): Call the above (Gen_Adainit): Set
	__gl_bind_env_addr accordingly.
	* switch-b.adb: Support for command line switch -V (user interface
	to set a build environment key=value pair)
	* bindusg.adb: Document the above

2015-10-20  Vincent Celier  <celier@adacore.com>

	* sem_prag.adb (Analyse_Pragma: Pragma Pure): Do not set the
	entity as Pure if Debug_Flag_U is set.

From-SVN: r229031
2015-10-20 11:53:11 +02:00
Arnaud Charlet
7188885e56 [multiple changes]
2015-10-20  Bob Duff  <duff@adacore.com>

	* output.adb (Write_Int): Work with negative numbers in order to avoid
	negating Int'First and thereby causing overflow.
	* sem_util.adb: Minor comment fix.

2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>

	* make.adb (Check): Skip multilib switches reinstated by the
	compiler when doing the comparison with switches passed to
	gnatmake.

2015-10-20  Yannick Moy  <moy@adacore.com>

	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Return
	False for procedures marked No_Return.
	* sem_util.ads (Enclosing_Declaration): Improve comment.
	* einfo.adb (Is_Completely_Hidden): Remove spurious assertion.

From-SVN: r229029
2015-10-20 11:48:00 +02:00
Arnaud Charlet
f06f5f6bd6 [multiple changes]
2015-10-20  Thomas Quinot  <quinot@adacore.com>

	* types.ads: Minor reformatting.

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

	* einfo.adb (Get_Pragma): Minor reformatting. Rename local constant
	Is_CDG to Is_CLS. Add pragma Constant_After_Elaboration to the list of
	classification pragmas.

2015-10-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Declarations); At the of the visible part,
	perform name resolution on the expressions in aspects of visible
	entities.
	* sem_ch13.ads, sem_ch13.adb (Resolve_Aspect_Expressions): Resolve
	expressions in aspects independently of whether corresponding
	entity is frozen. Used to complete name resolution of aspect
	expressions for entities declared in the visible part of a
	package or generic package declaration.

From-SVN: r229028
2015-10-20 11:45:29 +02:00
Arnaud Charlet
40417de8ab [multiple changes]
2015-10-20  Vincent Celier  <celier@adacore.com>

	* prj-attr.adb: Add package Codepeer and its attributes.

2015-10-20  Thomas Quinot  <quinot@adacore.com>

	* sem_ch3.adb, sem_ch13.adb: Minor reformatting.

2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>

	* gnatlink.adb (Gnatlink): Do not translate --RTS switch
	for the linker and instead pass the switches that were
	reinstated by the compiler.

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

	* a-contai.ads, a-convec.ads: Move Count_Type_Last from
	a-convec.ads to a-contai.ads, so other containers can refer to it.

From-SVN: r229027
2015-10-20 11:42:53 +02:00
Ed Schonberg
b8a1821614 sem_ch3.adb (Check_Nonoverridable_Aspects): New procedure within Analyze_Full_Type_ Declaration...
2015-10-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Check_Nonoverridable_Aspects): New procedure within
	Analyze_Full_Type_ Declaration, used to apply legality rules in
	13,1,1 (18.3.3) concerning aspects that cannot be overridden in
	a type extension.
	(Check_Duplicate_Aspects): It is not legal to specify the
	Implicit_Dereference aspect on a full view if partial view has
	known discriminants.
	* sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Verify that
	the specification of the aspect on a derived type confirms the
	value of the inherited one.
	* sem_util.adb (Reference_Discriminant): Return empty if none
	specified.

From-SVN: r229026
2015-10-20 11:40:24 +02:00
Arnaud Charlet
d9147bb633 [multiple changes]
2015-10-20  Thomas Quinot  <quinot@adacore.com>

	* exp_ch5.adb, sem_ch3.adb: Minor reformatting.

2015-10-20  Vincent Celier  <celier@adacore.com>

	* a-strsup.adb (Super_Trim): Remove statements that put NUL
	characters in unused portion of the Data string.

From-SVN: r229025
2015-10-20 11:38:17 +02:00
Szabolcs Nagy
16b340c224 Fix default_binds_local_p_2 for extern protected data
gcc:

	PR target/66912
	* varasm.c (default_binds_local_p_2): Turn on extern_protected_data.

gcc/testsuite:

	PR target/66912
	* gcc.target/aarch64/pr66912.c: New.
	* gcc.target/arm/pr66912.c: New.

From-SVN: r229024
2015-10-20 09:37:27 +00:00
Jason Merrill
0d8ab59ce0 re PR c++/67064 (Register asm variable broken)
PR c++/67064

	* semantics.c (force_paren_expr): Don't mess with hard register vars.

From-SVN: r229021
2015-10-20 02:49:13 -04:00
Arkadiusz Drabczyk
620cf5ea84 [PATCH] c/67925 - update documentation on `inline'
* doc/extend.texi: Update documentation WRT inline functions.

From-SVN: r229020
2015-10-19 23:52:00 -06:00
Jason Merrill
2a9fb7125e Implement N4268, Do constant evaluation of all non-type template args.
gcc/c-family/
	* c-cppbuiltin.c (c_cpp_builtins): Define
	__cpp_nontype_template_args.
gcc/cp/
	* parser.c (cp_parser_template_argument): For C++1z just parse a
	constant-expression.
	* pt.c (convert_nontype_argument): For C++1z always call
	maybe_constant_value.

From-SVN: r229019
2015-10-19 22:48:51 -04:00
Jason Merrill
dcdbc004d5 Expand PTRMEM_CST only when necessary.
* constexpr.c (cxx_eval_constant_expression): Expand PTRMEM_CST
	only when necessary.
	(cxx_eval_component_reference): Like here.
	* decl2.c (lower_var_init): And here.
	(c_parse_final_cleanups): Call it.
	* typeck2.c (digest_init_r): Not here.
	* decl.c (complete_vars): Or here.
	(cp_finish_decl): Add local statics to symbol table.

From-SVN: r229018
2015-10-19 22:48:43 -04:00
Jason Merrill
13b380a325 c-cppbuiltin.c (c_cpp_builtins): Define __cpp_enumerator_attributes...
* c-cppbuiltin.c (c_cpp_builtins): Define
	__cpp_enumerator_attributes, __cpp_fold_expressions,
	__cpp_unicode_characters.

From-SVN: r229017
2015-10-19 22:48:36 -04:00
Jason Merrill
a36b732a76 typo
From-SVN: r229016
2015-10-19 22:48:25 -04:00
Steven G. Kargl
b6969536a0 resolve.c (gfc_verify_binding_labels): Check for NULL pointer.
2015-10-19  Steven G. Kargl  <kargl@gcc.gnu.org>

	* resolve.c (gfc_verify_binding_labels): Check for NULL pointer.

2015-10-19  Steven G. Kargl  <kargl@gcc.gnu.org>

	* gfortran.dg/pr67900.f90: New tests.

From-SVN: r229013
2015-10-20 00:31:48 +00:00
GCC Administrator
f7ddf3f349 Daily bump.
From-SVN: r229012
2015-10-20 00:16:15 +00:00
Alan Modra
b2e4c071d7 PR66870 PowerPC64 Enable gold linker with split stack
A powerpc-linux/powerpc64-linux biarch compiler can default to either
-m32 or -m64, and we need to notice both -m32 and -m64 on the gccgo
command line.  It's also possible to build a -m64 only compiler, so in
that case we can define TARGET_CAN_SPLIT_STACK.

gcc/
	PR go/66870
	* config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Don't define.
	* config/rs6000/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
	(TARGET_CAN_SPLIT_STACK_64BIT): Define.
gcc/go/
	PR go/66870
	* gospec.c (saw_opt_m32): Rename to..
	(is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT.
	Update uses.
	(lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32.

From-SVN: r229009
2015-10-20 10:20:30 +10:30
Pierre-Marie de Rodat
524d9b4b90 REE: fix uninitialized registers handling
gcc/ChangeLog:

	PR rtl-optimization/66790
	* df.h (DF_MIR): New macro.
	(DF_LAST_PROBLEM_PLUS1): Update to be past DF_MIR
	(DF_MIR_INFO_BB): New macro.
	(DF_MIR_IN, DF_MIR_OUT): New macros.
	(struct df_mir_bb_info): New.
	(df_mir): New macro.
	(df_mir_add_problem, df_mir_simulate_one_insn): New forward
	declarations.
	(df_mir_get_bb_info): New.
	* df-problems.c (struct df_mir_problem_data): New.
	(df_mir_free_bb_info, df_mir_alloc, df_mir_reset,
	df_mir_bb_local_compute, df_mir_local_compute, df_mir_init,
	df_mir_confluence_0, df_mir_confluence_n,
	df_mir_transfer_function, df_mir_free, df_mir_top_dump,
	df_mir_bottom_dump, df_mir_verify_solution_start,
	df_mir_verify_solution_end): New.
	(problem_MIR): New.
	(df_mir_add_problem, df_mir_simulate_one_insn): New.
	* timevar.def (TV_DF_MIR): New.
	* ree.c: Include bitmap.h
	(add_removable_extension): Add an INIT_REGS parameter.  Use it
	to skip zero-extensions that may get an uninitialized register.
	(find_removable_extensions): Compute must-initialized registers
	using the MIR dataflow problem. Update the call to
	add_removable_extension.
	(find_and_remove_re): Call df_mir_add_problem.

gcc/testsuite/ChangeLog:

	* gnat.dg/opt50.adb: New test.
	* gnat.dg/opt50_pkg.adb: New helper.
	* gnat.dg/opt50_pkg.ads: New helper.

From-SVN: r229008
2015-10-19 23:47:35 +00:00
Segher Boessenkool
32308c8db4 mn10300: Use the STC bb-reorder algorithm at -Os
For mn10300, STC still gives better results for optimise-for-size than
"simple" does.  So use STC at -Os as well.


2015-10-19  Segher Boessenkool  <segher@kernel.crashing.org>

	* common/config/mn10300/mn10300-common.c
	(mn10300_option_optimization_table) <OPT_freorder_blocks_algorithm_>:
	Use REORDER_BLOCKS_ALGORITHM_STC at -Os and up.

From-SVN: r229006
2015-10-20 00:03:13 +02:00
David Wohlferd
88f3c6e6c1 Proposed doc update for Explicit Reg Vars 1/3
Proposed doc update for Explicit Reg Vars 1/3
        * doc/extend.texi (Explicit Register Variables): Simplify and
        avoid unnecessary and confusion abbreviations.  Update cross
        references.
        doc/implement-c.tex: Update cross reference.

From-SVN: r229004
2015-10-19 15:15:41 -06:00
Steven G. Kargl
c3fa5d78ba re PR fortran/68019 (ICE on rank mismatch of implied-shape array of user-defined type)
2015-10-19  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/68019
	* decl.c (add_init_expr_to_sym): Remove an assert() to allow an error
	message to be issued.

2015-10-19  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/68019
	* gfortran.dg/pr68019.f90: new test.

From-SVN: r229003
2015-10-19 21:09:21 +00:00
Jeff Law
a2f6018f32 [PATCH] Don't allow FSM threader to create irreducible loops unless it eliminates a multi-way branch
* tree-ssa-threadupdate.c (valid_jump_thread_path): Reject paths
	that create irreducible loops unless the path elimiantes a multiway
	branch.

From-SVN: r228974
2015-10-19 10:24:00 -06:00
Richard Biener
e6503e0a45 re PR tree-optimization/67975 (Failure to optimise equality between two call sequences)
2015-10-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/67975
	* tree-cfg.h (extract_true_false_controlled_edges): Declare.
	* tree-cfg.c (extract_true_false_controlled_edges): Split out
	core worker from ...
	* tree-ssa-loop-im.c (extract_true_false_args_from_phi): ... here.
	* tree-ssa-sccvn.c (vn_phi_compute_hash): Hash number of args
	instead of block number for PHIs with two or one args.
	(vn_phi_eq): Compare edge predicates of PHIs that are in different
	blocks.

	* gcc.dg/tree-ssa/ssa-fre-50.c: New testcase.

From-SVN: r228971
2015-10-19 14:00:28 +00:00
Richard Biener
4534c2032b gimple-fold.c (gimple_phi_nonnegative_warnv_p): New function.
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-19 13:58:27 +00:00
H.J. Lu
1c6e3c3e2c Use GET_MODE_BITSIZE to get vector natural alignment
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-19 04:41:03 -07:00
H.J. Lu
1be8ebde2e Replace @optindex with @opindex
* doc/invoke.texi: Replace @optindex with @opindex.

From-SVN: r228968
2015-10-19 04:30:46 -07:00
H.J. Lu
3f11bf19d9 Don't leak ISA to __attribute__ ((target("arch=XXX")))
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-19 04:18:14 -07:00
Joost VandeVondele
7be37b351a fix date of changelog entry
From-SVN: r228966
2015-10-19 10:26:32 +00:00
Joost VandeVondele
787da5fdbf Fix PR68002, add -fkeep-static-functions
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-19 10:24:37 +00:00
Richard Sandiford
9c99fe750c Remove undefined behaviour from builtins-20.c
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 10:06:56 +00:00
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