Commit Graph

136160 Commits

Author SHA1 Message Date
Ian Lance Taylor
4811c44ee0 compiler: Pass location to fatal_error.
The GCC function is changing.

The error functions need to move to a compiler-indepent
approach so that changes to the GCC functions are not a
concern here.

From-SVN: r220292
2015-01-30 16:04:58 +00:00
Ian Lance Taylor
b4d216f6e2 compiler: Add pkgpath symbol information to export data.
This adds the pkgpath symbol to the export data whenever it is
needed--whenever the pkgpath symbol is not the obvious
transformation of the pkgpath.  This lets us determine the
correct symbol name for indirectly imported packages compiled
with -fgo-prefix.

From-SVN: r220291
2015-01-30 15:57:59 +00:00
Robert Dewar
622599c6d2 a-assert.adb: Minor reformatting.
2015-01-30  Robert Dewar  <dewar@adacore.com>

	* a-assert.adb: Minor reformatting.
	* sem_ch13.adb: Minor comment clarification.
	* types.ads: Minor comment update.
	* sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Avoid blow up
	when we have a predicate that is nothing but an inherited dynamic
	predicate.

From-SVN: r220290
2015-01-30 16:31:01 +01:00
Jerome Guitton
0d1476cb57 Makefile.in (x86-vxworks): Update GCC_SPEC_FILES to include cert link spec.
2015-01-30  Jerome Guitton  <guitton@adacore.com>
               
	* gcc-interface/Makefile.in (x86-vxworks): Update GCC_SPEC_FILES to     
	include cert link spec.

From-SVN: r220289
2015-01-30 16:29:39 +01:00
Arnaud Charlet
e5cabfacf0 [multiple changes]
2015-01-30  Robert Dewar  <dewar@adacore.com>

	* einfo.ads: Minor comment fix.
	* freeze.adb (Freeze_Profile): Add test for suspicious import
	in pure unit.
	* sem_prag.adb (Process_Import_Or_Interface): Test for suspicious
	use in Pure unit is now moved to Freeze (to properly catch
	Pure_Function exemption).

2015-01-30  Bob Duff  <duff@adacore.com>

	* sem_res.ads: Minor comment fix.
	* sem_type.adb: sem_type.adb (Remove_Conversions): Need to
	check both operands of an operator.

2015-01-30  Yannick Moy  <moy@adacore.com>

	* a-assert.ads, a-assert.adb: Mark package spec in SPARK. Set assertion
	policy for Pre to Ignore.
	(Assert): Add precondition.

From-SVN: r220288
2015-01-30 16:25:38 +01:00
Robert Dewar
b7db11490f sem_prag.adb (Process_Import_Or_Interface): Warn if used in Pure unit.
2015-01-30  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Process_Import_Or_Interface): Warn if used in
	Pure unit.
	* s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Clarify
	documentation for some special cases of invalid attempts at
	based integers.

From-SVN: r220287
2015-01-30 16:23:22 +01:00
Arnaud Charlet
1db700c32b [multiple changes]
2015-01-30  Gary Dismukes  <dismukes@adacore.com>

	* errout.ads: Minor reformatting.

2015-01-30  Yannick Moy  <moy@adacore.com>

	* inline.adb (Process_Formals): Use the sloc of
	the inlined node instead of the sloc of the actual parameter,
	when replacing formal parameters by the actual one.

2015-01-30  Arnaud Charlet  <charlet@adacore.com>

	* g-expect.adb (Get_Command_Output): Use infinite timeout when
	calling Expect.

2015-01-30  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Analyze_Associations): If an in-parameter is
	defaulted in an instantiation, add an entry in the list of actuals
	to indicate the default value of the formal (as is already done
	for defaulted subprograms).

2015-01-30  Javier Miranda  <miranda@adacore.com>

	* errout.adb (Error_Msg_PT): Minor error phrasing update.

2015-01-30  Robert Dewar  <dewar@adacore.com>

	* sem_warn.adb (Warn_On_Known_Condition): Improve error message
	for object case.

2015-01-30  Pierre-Marie de Rodat  <derodat@adacore.com>

	* exp_dbug.adb (Get_Encoded_Name): When
	-fgnat-encodings=minimal, do not generate names for biased types.

From-SVN: r220286
2015-01-30 16:15:45 +01:00
Tristan Gingold
1de83011b1 re PR ada/64349 (Bootstrapping Ada fails on darwin(9|10).)
2015-01-30  Tristan Gingold  <gingold@adacore.com>

	PR ada/64349
	* env.c: Move vxworks and darwin includes out of #ifdef IN_RTS.

From-SVN: r220285
2015-01-30 16:13:15 +01:00
Arnaud Charlet
2c6336bec3 [multiple changes]
2015-01-30  Gary Dismukes  <dismukes@adacore.com>

	* freeze.adb: Minor reformatting.

2015-01-30  Javier Miranda  <miranda@adacore.com>

	* errout.ads (Error_Msg_PT): Replace Node_Id by Entity_Id and
	improve its documentation.
	* errout.adb (Error_Msg_PT): Improve the error message.
	* sem_ch6.adb (Check_Conformance): Update call to Error_Msg_PT.
	(Check_Synchronized_Overriding): Update call to Error_Msg_PT.
	* sem_ch3.adb (Check_Abstract_Overriding): Code cleanup.

2015-01-30  Robert Dewar  <dewar@adacore.com>

	* sem_warn.adb (Warn_On_Known_Condition): Do special casing of
	message for False case.

2015-01-30  Doug Rupp  <rupp@adacore.com>

	* s-vxwext-kernel.ads (Task_Cont): Remove imported subprogram body.
	* s-vxwext-kernel.adb (Task_Cont): New subpprogram body specialized for
	kernel.

From-SVN: r220284
2015-01-30 16:06:14 +01:00
Arnaud Charlet
46413d9ea9 [multiple changes]
2015-01-30  Gary Dismukes  <dismukes@adacore.com>

	* sem_attr.adb (Declared_Within_Generic_Unit):
	New function to test whether an entity is declared within the
	declarative region of a given generic unit.
	(Resolve_Attribute): For checking legality of subprogram'Access within
	a generic unit, call new Boolean function Declared_Within_Generic_Unit
	instead of simply comparing the results of Enclosing_Generic_Unit on
	the prefix and access type.  Correct minor comment typos.

2015-01-30  Robert Dewar  <dewar@adacore.com>

	* freeze.adb, exp_util.ads: Update comment.
	* exp_util.adb, exp_ch3.adb: Minor code reorganization and reformatting.
	* sem_util.adb: Minor: fix typo.

From-SVN: r220283
2015-01-30 16:02:09 +01:00
Arnaud Charlet
48b0da2d24 [multiple changes]
2015-01-30  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_attr.adb (Analyze_Attribute): Ensure that
	the check concerning Refined_Post takes precedence over the
	other cases.

2015-01-30  Gary Dismukes  <dismukes@adacore.com>

	* sem_prag.adb: Minor typo fixes and reformatting.

From-SVN: r220282
2015-01-30 15:59:21 +01:00
Szabolcs Nagy
95d0610c17 [Patch/libcpp] Change __ARM_NEON__ to __ARM_NEON in lex.c
2015-01-30  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* lex.c (search_line_fast): Change __ARM_NEON__ to __ARM_NEON.

From-SVN: r220281
2015-01-30 14:07:00 +00:00
Martin Liska
168be70b19 Guard GCC version for a pragma ifdef.
* tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
	in #pragma GCC diagnostic guards.

From-SVN: r220280
2015-01-30 11:57:57 +00:00
Arnaud Charlet
760804f3b9 [multiple changes]
2015-01-30  Yannick Moy  <moy@adacore.com>

	* sem_attr.adb: Code clean up.

2015-01-30  Robert Dewar  <dewar@adacore.com>

	* ali.adb (Scan_ALI): Set Serious_Errors flag in Unit record.
	* ali.ads (Unit_Record): Add new field Serious_Errors.
	* lib-writ.adb (Write_Unit_Information): Set SE (serious errors)
	attribute in U line.
	* lib-writ.ads: New attribute SE (serious erors) in unit line.

2015-01-30  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb Update the usage of attributes Entry_Bodies_Array,
	Lit_Indexes, Scale_Value, Storage_Size_Variable,
	String_Literal_Low_Bound along associated routines and
	Write_FieldX_Name.
	(Pending_Access_Types): New routine.
	(Set_Pending_Access_Types): New routine.
	(Write_Field15_Name): Add an entry for Pending_Access_Types.
	* einfo.ads Add new attribute Pending_Access_Types along
	with usage in nodes.  Update the usage of attributes
	Entry_Bodies_Array, Lit_Indexes, Scale_Value,
	Storage_Size_Variable, String_Literal_Low_Bound.
	(Pending_Access_Types): New routine along with pragma Inline.
	(Set_Pending_Access_Types): New routine along with pragma Inline.
	* exp_ch3.adb (Expand_Freeze_Array_Type): Add new local variable
	Ins_Node. Determine the insertion node for anonynous access type
	that acts as a component type of an array. Update the call to
	Build_Finalization_Master.
	(Expand_Freeze_Record_Type): Update
	the calls to Build_Finalization_Master.
	(Freeze_Type): Remove
	local variable RACW_Seen. Factor out the code that deals with
	remote access-to-class-wide types. Create a finalization master
	when the designated type contains a private component. Fully
	initialize all pending access types.
	(Process_RACW_Types): New routine.
	(Process_Pending_Access_Types): New routine.
	* exp_ch4.adb (Expand_Allocator_Expression): Allocation no longer
	needs to set primitive Finalize_Address.
	(Expand_N_Allocator): Allocation no longer sets primitive
	Finalize_Address.
	* exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
	Update the call to Build_Finalization_Master.
	(Make_Build_In_Place_Call_In_Allocator): Allocation no longer
	needs to set primitive Finalize_Address.
	* exp_ch7.adb (Add_Pending_Access_Type): New routine.
	(Build_Finalization_Master): New parameter profile. Associate
	primitive Finalize_Address with the finalization master if the
	designated type has been frozen, otherwise treat the access
	type as pending. Simplify the insertion of the master and
	related initialization code.
	(Make_Finalize_Address_Body): Allow Finalize_Address for class-wide
	abstract types.
	(Make_Set_Finalize_Address_Call): Remove forlam parameter Typ.
	Simplify the implementation.
	* exp_ch7.ads (Build_Finalization_Master): New parameter profile
	along with comment on usage.
	(Make_Set_Finalize_Address_Call): Remove formal parameter Typ. Update
	the comment on usage.
	* exp_util.adb (Build_Allocate_Deallocate_Proc): Use routine
	Finalize_Address to retrieve the primitive.
	(Finalize_Address): New routine.
	(Find_Finalize_Address): Removed.
	* exp_util.ads (Finalize_Address): New routine.
	* freeze.adb (Freeze_All): Remove the generation of finalization
	masters.
	* sem_ch3.adb (Analyze_Full_Type_Declaration): Propagate any
	pending access types from the partial to the full view.

From-SVN: r220279
2015-01-30 12:20:27 +01:00
Robert Dewar
3b506eefba sem_disp.adb: Minor reformatting.
2015-01-30  Robert Dewar  <dewar@adacore.com>

	* sem_disp.adb: Minor reformatting.
	* sem_disp.ads: Documentation update.

From-SVN: r220278
2015-01-30 12:02:18 +01:00
Uros Bizjak
089ad47399 re PR target/15184 (Direct access to byte inside word not working with -march=pentiumpro)
PR target/15184
	* gcc.target/i386/pr15184-1.c: Compile for ia32 target only.
	(dg-options): Remove -m32.
	(dg-final): Scan for "movb %al" only.
	* gcc.target/i386/pr15184-2.c: Ditto.

From-SVN: r220277
2015-01-30 11:53:53 +01:00
Ed Schonberg
b6dd03dd9c sem_disp.adb (Is_Dynamically_Tagged): when applied to an entity or a function call, return True if type is class-wide.
2015-01-30  Ed Schonberg  <schonberg@adacore.com>

	* sem_disp.adb (Is_Dynamically_Tagged): when applied to an entity
	or a function call, return True if type is class-wide.
	* sem_res.adb (Resolve_Case_Expression, Resolve_If_Expression);
	Apply RM 4.5.7 (17/3): all or none of the dependent expression
	of a conditional expression must be dynamically tagged.

From-SVN: r220276
2015-01-30 10:29:51 +01:00
Richard Biener
566d377a29 re PR tree-optimization/64829 ([ARM] ICE at -O3 in vect_get_vec_def_for_stmt_copy)
2015-01-30  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64829
	* tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
	not add a widening conversion pattern but hand off extra
	widenings to callers.
	(vect_recog_widen_mult_pattern): Handle extra widening produced
	by vect_handle_widen_op_by_const.
	(vect_recog_widen_shift_pattern): Likewise.
	(vect_pattern_recog_1): Remove excess vertical space in dumping.
	* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
	(vect_init_vector_1): Likewise.
	(vect_get_vec_def_for_operand): Likewise.
	(vect_finish_stmt_generation): Likewise.
	(vectorizable_load): Likewise.
	(vect_analyze_stmt): Likewise.
	(vect_is_simple_use): Likewise.

	* gcc.dg/vect/pr64829.c: New testcase.

From-SVN: r220275
2015-01-30 09:22:17 +00:00
Arnaud Charlet
445e588866 [multiple changes]
2015-01-30  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Function_Return): In an extended return
	statement, apply accessibility check to result object when there
	is no initializing expression (Ada 2012 RM 6.5 (5.4/3))

2015-01-30  Robert Dewar  <dewar@adacore.com>

	* sem_ch4.adb (Analyze_If_Expression): Allow for non-standard
	Boolean for case where ELSE is omitted.
	* sem_res.adb: Minor reformatting.

From-SVN: r220274
2015-01-30 10:00:10 +01:00
Jeff Law
8ec350edf4 * combine.c (try_combine): Fix typo in comment.
From-SVN: r220273
2015-01-29 22:50:33 -07:00
Segher Boessenkool
dd1c1f8cb5 re PR target/64580 (very high rs6000_stack_info() usage during LTO Firefox build on ppc64)
PR target/64580
	* config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
	(rs6000_stack_info): Add assert.
	(rs6000_output_savres_externs): New function, split off from...
	(rs6000_output_function_prologue): ... here.  Do not call it for
	thunks.

From-SVN: r220272
2015-01-30 06:35:52 +01:00
Ian Lance Taylor
2e29434de9 compiler: Fix -fgo-prefix handling.
There was bug in the fix for PR 61880: it only worked fully
correctly for code compiled with -fgo-pkgpath.  For code that
used -fgo-prefix, or that used neither option, the '.'
separating the prefix and the package name was converted to an
underscore, which did not happen before.  This broke SWIG and
any other code that expected specific symbol names.
Fortunately all code compiled in libgo and all code compiled
by the go tool uses -fgo-pkgpath, so this probably did not
affect very many people.

This is an incomplete fix that does not modify the package
file format, for use on both mainline and the GCC 4.9 branch.
A follow on patch will fully fix the problem.

From-SVN: r220268
2015-01-30 00:35:44 +00:00
GCC Administrator
15b127290b Daily bump.
From-SVN: r220267
2015-01-30 00:18:08 +00:00
Jack Howarth
a96d75a42b re PR libffi/64855 (FAIL: libffi.call/* -W -Wall -Wno-psabi -O0 -DABI_NUM=* -DABI_ATTR=* execution test on x86_64-apple-darwin*)
2015-01-29  Jack Howarth  <howarth.at.gcc@gmail.com>

	PR libffi/64855
	* testsuite/lib/libffi.exp: Don't set targetabis on darwin.

From-SVN: r220264
2015-01-29 22:09:16 +00:00
Marek Polacek
7b33f0c8e6 re PR c/64709 (Bogus -Wmissing-field-initializers warning)
PR c/64709
	* c-typeck.c (pop_init_level): If constructor_elements has
	exactly one element with integer_zerop value, set constructor_zeroinit
	to 1.  Remove braces around warning_init call.

	* gcc.dg/pr64709.c: New test.

From-SVN: r220263
2015-01-29 21:02:21 +00:00
Jakub Jelinek
a7c3e87ed9 re PR sanitizer/64717 (-fsanitize=vptr leads to warning: ‘<anonymous>’ may be used uninitialized in this function [-Wmaybe-uninitialized])
PR c++/64717
	* cp-ubsan.c (cp_ubsan_instrument_vptr): Don't wrap vptr
	into SAVE_EXPR.

	* g++.dg/ubsan/pr64717-1.C: New test.
	* g++.dg/ubsan/pr64717-2.C: New test.

From-SVN: r220262
2015-01-29 21:40:07 +01:00
Tobias Burnus
d240f6b36a intrinsic.texi (CO_BROADCAST): Correct argument description.
2015-01-29  Tobias Burnus  <burnus@net-b.de>

        * intrinsic.texi (CO_BROADCAST): Correct argument description.

From-SVN: r220261
2015-01-29 21:24:46 +01:00
Uros Bizjak
75e2edeefb pr64801.c: Fix scan-tree-dump-not directive.
* gcc.dg/tree-ssa/pr64801.c: Fix scan-tree-dump-not directive.

From-SVN: r220260
2015-01-29 20:55:57 +01:00
Jakub Jelinek
536616b775 acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of $vtv_cygmin = yes.
* acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
	$vtv_cygmin = yes.  Initialize vtv_cygmin=no unconditionally first.
	* configure: Regenerated.

From-SVN: r220259
2015-01-29 19:36:03 +01:00
H.J. Lu
f4392940cd Define VTV_CYGMIN after vtv_cygmin is set
* acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
	after vtv_cygmin is set.
	* configure: Regenerated.

From-SVN: r220258
2015-01-29 10:21:33 -08:00
Matthias Klose
23842e9135 acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN unconditionally.
2015-01-29  Matthias Klose  <doko@ubuntu.com>

        * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
        unconditionally.
        * configure: Regenerate.

From-SVN: r220257
2015-01-29 18:12:29 +00:00
Caroline Tice
8be349eea9 Committing generated configure & Makefile.in pieces of VTV Cygwin patch (from Patrick Wollgast).
Committing generated configure & Makefile.in pieces of
VTV Cygwin patch (from Patrick Wollgast).  Forgot to 
commit these with the rest of the patch.

From-SVN: r220254
2015-01-29 08:47:25 -08:00
David Malcolm
231d020bfb PR jit/64780: configure: --enable-host-shared and the jit
ChangeLog:
	PR jit/64780
	* configure.ac: Require the user to explicitly specify
	--enable-host-shared if the jit is enabled.
	* configure: Regenerate.

From-SVN: r220253
2015-01-29 16:25:14 +00:00
Jason Merrill
3dbb84276a re PR c++/49508 (Bogus "control reaches end of non-void function" warning)
PR c++/49508
	* semantics.c (finish_return_stmt): Suppress -Wreturn-type on
	erroneous return statement.

From-SVN: r220252
2015-01-29 11:10:08 -05:00
Jason Merrill
e1ef8aa939 re PR c++/64521 (ICE with -frepo)
PR c++/64521
	* repo.c (repo_emit_p): It's OK for a clone to be extern at this
	point.

From-SVN: r220251
2015-01-29 11:09:56 -05:00
Jeff Law
52d285303c re PR target/15184 (Direct access to byte inside word not working with -march=pentiumpro)
PR target/15184
	* combine.c (try_combine): If I0 is a memory load and I3 a store
	to a related address, increase the "goodness" of doing a 4-insn
	combination with I0-I3.
	(make_field_assignment): Handle SUBREGs in the ior+and case.

	PR target/15184
	* gcc.target/i386/pr15184-1.c: New test.
	* gcc.target/i386/pr15184-2.c: New test.

From-SVN: r220249
2015-01-29 07:30:45 -07:00
Yuri Rumyantsev
b8aa7083ec re PR tree-optimization/64746 (Loop with nested load/stores is not vectorized using aggressive if-conversion.)
gcc/

	PR tree-optimization/64746
	* tree-if-conv.c (mask_exists): New function.
	(predicate_mem_writes): Save created mask with given size for further
	use.
	(stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
	(ifcvt_repair_bool_pattern): Collect all statements that are root
	of bool pattern and use iterative algorithm to remove multiple uses
	of predicates, display number of required iterations.

gcc/testsuite/

	PR tree-optimization/64746
	* gcc.target/i386/avx2-vect-aggressive-1.c: New test.

From-SVN: r220248
2015-01-29 13:52:28 +00:00
Richard Biener
d94e3e750d re PR tree-optimization/64853 (wrong code at -Os and above on x86_64-linux-gnu)
2015-01-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64853
	* tree-vrp.c (vrp_valueize_1): Do not return anything if the
	stmt will get simulated again.
	* tree-ssa-ccp.c (valueize_op_1): Likewise.

	* gcc.dg/torture/pr64853.c: New testcase.

From-SVN: r220247
2015-01-29 13:50:37 +00:00
Kyrylo Tkachov
16277100d3 [ARM][cleanup] Simplify some expressions in some epilogue-related functions
* config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
	return_in_pc.  Remove redundant assignments.
	(thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
	(arm_expand_epilogue): Don't compare boolean with true in if condition.

From-SVN: r220246
2015-01-29 13:36:22 +00:00
Uros Bizjak
f84b87aa9f i386.c (ix86_mode_after): Make static.
* config/i386/i386.c (ix86_mode_after): Make static.

From-SVN: r220245
2015-01-29 14:16:35 +01:00
Richard Biener
62c004451a re PR target/64844 (Vectorization inhibited in gcc5 when loop starts with elem[1], aarch64 perf regression from 4.9.1)
2015-01-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64844
	* tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
	dump cost model analysis.
	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
	Do not register adjusted load/store costs here.

	* gcc.dg/vect/pr64844.c: New testcase.

From-SVN: r220244
2015-01-29 12:53:39 +00:00
Jonathan Wakely
85d44192f6 atomic_base.h: Use __always_inline__ instead of always_inline.
* include/bits/atomic_base.h: Use __always_inline__ instead of
	always_inline.
	* include/bits/atomic_futex.h: Likewise.
	* include/bits/c++config: Use __abi_tag__ instead of abi_tag.
	* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
	__packed__ instead of packed.
	* include/std/shared_mutex: Use __unused__ instead of unused.
	* testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
	* testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
	* testsuite/17_intro/headers/c++2014/all_attributes.cc: New.

From-SVN: r220243
2015-01-29 12:47:20 +00:00
Ilya Enkovich
d290bb1d72 i386-protos.h (ix86_use_pseudo_pic_reg): New.
* config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
	* config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
	using x86_use_pseudo_pic_reg.
	* config/i386/i386.c (ix86_conditional_register_usage): Remove
	support for fixed PIC register.
	(ix86_use_pseudo_pic_reg): Not static any more.


Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r220242
2015-01-29 12:24:06 +00:00
Yuri Rumyantsev
e11627e99a re PR middle-end/64809 (ICE at -O3 with -g enabled on x86_64-linux-gnu (in 32-bit mode))
gcc/testsuite/

	PR middle-end/64809
	* gcc.dg/pr64809.c: Delete.

From-SVN: r220241
2015-01-29 12:20:55 +00:00
Ilya Enkovich
c291690eb5 re PR middle-end/64805 (Specific use of __attribute ((always_inline)) breaks MPX functionality with -fcheck-pointer-bounds -mmpx)
gcc/

	PR middle-end/64805
	* ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
	to avoid error in cgraph node verification.

gcc/testsuite/

	PR middle-end/64805
	* gcc.target/i386/pr64805.c: New.

From-SVN: r220240
2015-01-29 11:03:02 +00:00
Rainer Orth
2b6969cd7f Run guality tests on Solaris
* gcc.dg/guality/guality.h (main): Add argv[0] to
	guality_gdb_command.

From-SVN: r220237
2015-01-29 10:12:14 +00:00
Marek Polacek
2d48baf0f1 * doc/standards.texi: Reflect that the default for C is gnu11.
From-SVN: r220236
2015-01-29 10:01:38 +00:00
Kaz Kojima
4897b529e2 reorg.c (relax_delay_slots): Take account of NOTE_INSN_SWITCH_TEXT_SECTIONS and targetm.can_follow_jump.
* reorg.c (relax_delay_slots): Take account of NOTE_INSN_SWITCH_TEXT_SECTIONS
  and targetm.can_follow_jump.

From-SVN: r220235
2015-01-29 08:36:38 +00:00
Caroline Tice
f7f049fa46 Committing VTV Cygwin patch for Patrick Wollgast
* gcc/config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
    if -fvtable-verify=preinit/std is used.
* gcc/config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
* gcc/config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
* gcc/config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
    if -fvtable-verify=preinit/std is used.
* gcc/config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
* gcc/config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
    if -fvtable-verify=preinit/std is used.
* gcc/config/i386/mingw-w64.h (LIB_SPEC): Likewise.
* gcc/config/i386/mingw32.h (LIB_SPEC): Likewise.

* gcc/cp/vtable-class-hierarchy.c (vtv_generate_init_routine): Add
    check for not TARGET_PECOFF at the VTV_PREINIT_PRIORITY checks.

* gcc/varasm.c (assemble_variable): Add code to properly set the comdat
    section and name for the .vtable_map_vars section in case the
    target is PE or COFF.


* libgcc/Makefile.in: Move rules to build vtv_*.o out of the check
    for CUSTOM_CRTSTUFF.
* libgcc/config.host (i[34567]86-*-cygwin*, x86_64-*-cygwin*, i[34567]86-*-mingw*)
    (x86_64-*-mingw*): Only add vtv_*.o to extra_parts if enable_vtable_verify.


* libstdc++-v3/acinclude.m4: Define VTV_CYGMIN.
* libstdc++-v3/configure: Regenerate.

* libstdc++-v3/libsupc++/Makefile.am: Add vtv_sources only to
    libsupc___la_SOURCES and libsupc__convenience_la_SOURCES if VTV_CYGMIN is
    not set.
* libstdc++-v3/libsupc++/Makefile.in: Regenerated.
* libstdc++-v3/libsupc++/vtv_stubs.cc: Add none weak declaration of every
    function for Cygwin and MinGW.

* libstdc++-v3/src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES,
    if VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
    libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
* libstdc++-v3/src/Makefile.in: Regenerate.


* libvtv/Makefile.am : Add libvtv.la to toolexeclib_LTLIBRARIES, if VTV_CYGMIN
    is set. Define libvtv_la_LIBADD, libvtv_la_LDFLAGS, libvtv_stubs_la_LDFLAGS
    and libvtv_stubs_la_SOURCES if VTV_CYGMIN is set. Add obstac.c to
    libvtv_la_SOURCES if VTV_CYGMIN is set.
* libvtv/Makefile.in : Regenerate.
* libvtv/aclocal.m4 : Regenerate.
* libvtv/configure : Regenerate.
* libvtv/configure.ac : Add ACX_LT_HOST_FLAGS. Define VTV_CYGMIN.
* libvtv/configure.tgt : (x86_64-*-cygwin*, i?86-*-cygwin*, x86_64-*-mingw*)
    (i?86-*-mingw*): Add to supported targets.
* libvtv/vtv_fail.cc : Skip inclusion of execinfo.h on Cygwin and MinGW.
(log_error_message): Skip calls to backtrace and backtrace_symbols_fd on Cygwin
    and MinGW.
* libvtv/vtv_malloc.cc : Include windows.h and skip sys/mman.h inclusion on
    Cygwin and MinGW. Add sysconf port on Cygwin and MinGW.
(obstack_chunk_alloc): Exchange call to mmap with call to VirtualAlloc on Cygwin
    and MinGW.
(__vtv_malloc_init): Exchange call to sysconf with call to port of sysconf on
    Cygwin and MinGW.
* libvtv/vtv_malloc.h : Declare mprotect and define PROT_READ and PROT_WRITE on
    Cygwin and MinGW.
* libvtv/map.h : Include stdint.h on MinGW.
* libvtv/rts.cc : Include windows.h, winternl.h and psapi.h, skip include of
    execinfo.h, sys/mman.h and link.h on Cygwin and MinGW.
    Add port of __fortify_fail on Cygwin and MinGW.
    Change ElfW (Addr) to uintptr_t on Cygwin and MinGW.
(read_section_offset_and_length): Add port for Cygwin and MinGW
(iterate_modules): New function.
(vtv_unprotect_vtable_vars): Use iterate_modules instead of dl_iterate_phdr on
    Cygwin and MinGW.
(vtv_protect_vtable_vars): Likewise.
(count_all_pages): Likewise.
(dl_iterate_phdr_count_pages): Don't build on Cygwin and MinGW.
* libvtv/utils.cc : Include windows.h and skip execinfo.h inclusion on
    Cygwin and MinGW.
(__vtv_open_log): Exchange call to getuid and getpid with GetCurrentProcessId and
    adjust call to snprintf accordingly on Cygwin and MinGW.
    Adjust calls to mkdir on MinGW.
    Adjust call to open on Cygwin and MinGW.
(__vtv_add_to_log): Adjust call to snprintf on Cygwin and MinGW.
(__vtv_log_verification_failure): Don't generate a backtrace on Cygwin and MinGW.

From-SVN: r220232
2015-01-29 00:03:56 -08:00
Jan Hubicka
10881cffc2 re PR ipa/64801 (kernel build failure due to ICF)
PR ipa/64801
	* gcc.dg/tree-ssa/pr64801.c: New testcase.
	* cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
	make sane BB profile.
	(cgraph_node::expand_thunk): Make sane BB profile.
	(cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
	* cgraph.h (init_lowered_empty_function): Update prototype.
	* config/i386/i386.c (make_resolver_func): Update call.
	* predict.c (gate): Disable branch prediction pass if
	profile is already there.

From-SVN: r220230
2015-01-29 07:43:14 +00:00