Commit Graph

151141 Commits

Author SHA1 Message Date
Martin Sebor
8be3f30682 Reference PR testsuite/79051, not 791051.
From-SVN: r244381
2017-01-12 11:41:33 -07:00
Martin Sebor
dcb5624309 PR testsuite/791051 - FAIL: gcc.dg/attr-alloc_size-4.c (test for warnings, line 140)
gcc/testsuite/ChangeLog:
	* gcc.dg/attr-alloc_size-4.c: Avoid false negatives due to bug 79054.

From-SVN: r244380
2017-01-12 11:35:19 -07:00
David Edelsohn
b7431c206e * gcc.dg/pr78768.c: Require LTO.
From-SVN: r244379
2017-01-12 13:27:04 -05:00
Martin Sebor
2bcd9f3208 PR c/79074 - -Waddress difference between C and C++ with (T*)0
gcc/testsuite/ChangeLog:
	* c-c++-common/Waddress-2.c: Remove a test to avoid a C failure
	due to the referenced bug.

From-SVN: r244378
2017-01-12 11:07:51 -07:00
Martin Sebor
b2fc1c7050 PR testsuite/79073 - FAIL: gcc.dg/pr78973.c (test for warnings, line 12) in ILP32
gcc/testsuite/ChangeLog:
	* gcc.dg/pr78973.c: Xfail on ILP32 targets.

From-SVN: r244377
2017-01-12 10:43:16 -07:00
Uros Bizjak
fbed6f3695 builtin_target.c (check_features): Check all supported __builtin_cpu_supports options.
* gcc.target/i386/builtin_target.c (check_features): Check all
	supported __builtin_cpu_supports options.

From-SVN: r244375
2017-01-12 18:30:03 +01:00
Jonathan Wakely
a1f009a65f PR77528 partially revert r244278 and define default constructors
PR libstdc++/77528
	* include/bits/stl_queue.h (queue, priority_queue): Remove default
	member-initializers and define default constructors as templates with
	constraints.
	* include/bits/stl_stack.h (stack): Likewise.
	* testsuite/23_containers/priority_queue/requirements/constructible.cc:
	New.
	* testsuite/23_containers/priority_queue/requirements/
	explicit_instantiation/1.cc: Test more instantiations.
	* testsuite/23_containers/priority_queue/requirements/
	explicit_instantiation/1_c++98.cc: Likewise.
	* testsuite/23_containers/queue/requirements/constructible.cc: New.
	* testsuite/23_containers/stack/requirements/constructible.cc: New.

From-SVN: r244374
2017-01-12 17:28:36 +00:00
Kyrylo Tkachov
27282dadbf Add Cortex-A15 tuning to gcc.dg/uninit-pred-8_a.c
PR tree-optimization/78319
	* gcc.dg/uninit-pred-8_a.c: Add -mtune=cortex-a15 for arm.
	Remove xfail.

From-SVN: r244372
2017-01-12 17:02:38 +00:00
Uros Bizjak
2da3add55b * config/i386/i386.c: Fix whitespace.
From-SVN: r244371
2017-01-12 17:12:22 +01:00
Uros Bizjak
211a2f4acd * config/i386/i386.c (PTA_SGX): Define to 1 << 63.
From-SVN: r244370
2017-01-12 17:10:14 +01:00
Arnaud Charlet
ca0eb951e3 [multiple changes]
2017-01-12  Tristan Gingold  <gingold@adacore.com>

	* s-mmap.ads, s-mmap.adb, s-mmosin-unix.ads, s-mmosin-unix.adb,
	s-mmauni-long.ads, s-mmosin-mingw.ads, s-mmosin-mingw.adb: New files.

2017-01-12  Yannick Moy  <moy@adacore.com>

	* errout.adb, errout.ads (Initialize): Factor common treatment
	in Reset_Warnings.
	(Reset_Warnings): New procedure to reset counts related to warnings.
	(Record_Compilation_Errors): New variable to store the presence of an
	error, used in gnat2why to allow changing the Warning_Mode.
	(Compilation_Errors): Use new variable Record_Compilation_Errors to
	store the presence of an error.

2017-01-12  Javier Miranda  <miranda@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications):
	For Interrupt_Handler and Attach_ Handler aspects, decorate the
	internally built reference to the protected procedure as coming
	from sources and force its analysis.

2017-01-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Build_Derived_Type): For a scalar derived type,
	inherit predicates if any from the first_subtype of the parent,
	not from the anonymous parent type.
	* sem_eval.adb (Is_Static_Subtype): A type that inherits a dynamic
	predicate is not a static subtype.

2017-01-12  Gary Dismukes  <dismukes@adacore.com>

	* freeze.adb (Check_Suspicious_Convention): New procedure
	performing a warning check on discriminated record types with
	convention C or C++. Factored out of procedure Freeze_Record_Type,
	and changed to only apply to base types (to avoid spurious
	warnings on subtypes). Minor improvement of warning messages
	to refer to discriminated rather than variant record types.
	(Freeze_Record_Type): Remove code for performing a suspicious
	convention check.
	(Freeze_Entity): Only call Freeze_Record_Type
	on types that aren't declared within any enclosing generic units
	(rather than just excluding the type when the innermost scope
	is generic). Call Check_Suspicious_Convention whether or not
	the type is declared within a generic unit.
	* sem_ch8.adb (In_Generic_Scope): Move this function to Sem_Util.
	* sem_util.ads, sem_util.adb (In_Generic_Scope): New function (moved
	from Sem_Ch8).

2017-01-12  Tristan Gingold  <gingold@adacore.com>

	* sysdep.c, adaint.c, rtinit.c, ming32.h:
	(__gnat_current_codepage): Renamed from CurrentCodePage
	(__gnat_current_ccs_encoding): Renamed from CurrentCCSEncoding

2017-01-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Fully_Conformant_Expressions): Handle properly
	quantified expressions, following AI12-050: the loop parameters
	of two quantified expressions are conformant if they have the
	same identifier.

From-SVN: r244369
2017-01-12 17:01:16 +01:00
Bill Schmidt
6611316649 re PR target/79044 (ICE in insn_is_swappable_p, at config/rs6000/rs6000.c:41191)
[gcc]

2017-01-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/79044
	* config/rs6000/rs6000.c (insn_is_swappable_p): Mark
	element-reversing loads and stores as not swappable.

[gcc/testsuite]

2017-01-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/79044
	* gcc.target/powerpc/swaps-p8-26.c: New.

From-SVN: r244368
2017-01-12 16:01:13 +00:00
Arnaud Charlet
4e41b0e67f * gcc-interface/Makefile.in: Clean up VxWorks targets.
From-SVN: r244367
2017-01-12 16:57:45 +01:00
Arnaud Charlet
0289a8d7ef [multiple changes]
2017-01-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Analyze_Attribute_Reference, case Loop_Entry):
	Hnadle properly the attribute reference when it appears as part
	of an expression in another loop aspect.

2017-01-12  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch3.adb (Check_Predicated_Discriminant): New procedure,
	subsidiary of Build_Initialization_Call, to complete generation
	of predicate checks on discriminants whose (sub)types have
	predicates, and to add checks on variants that do not have an
	others clause.
	* sem_util.adb (Gather_Components): A missing Others alternative is
	not an error when the type of the discriminant is a static predicate
	(and coverage has been checked when analyzing the case statement). A
	runtime check is generated to verify that a given discriminant
	satisfies the predicate (RM 3.8.1. (21.1/2)).

2017-01-12  Yannick Moy  <moy@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Only
	perform checking of exception mechanism when generating code.

2017-01-12  Justin Squirek  <squirek@adacore.com>

	* exp_ch7.adb (Add_Type_Invariants, Process_Array_Component):
	Remove handling of access component with invariant.
	(Build_Invariant_Procedure_Declaration): Remove return on class
	wide type.
	* freeze.adb (Freeze_Array_Type, Freeze_Record_Type): Remove
	conditional exception for component or array so Has_Own_Invariants
	flag is not falsly set.
	* sem_ch3.adb (Make_Class_Wide_Type): Initialize copy of class
	wide type to have no invariant flags.

From-SVN: r244366
2017-01-12 15:42:42 +01:00
Arnaud Charlet
2168d7cc3b [multiple changes]
2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch9.adb, sem_prag.adb, s-tassta.adb, sem_util.adb, s-tarest.adb,
	sem_ch13.adb: Minor reformatting.

2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_aggr.adb (Build_Record_Aggr_Code): Guard against a missing
	adjustment primitive when the ancestor type was not properly frozen.
	(Gen_Assign): Guard against a missing initialization
	primitive when the component type was not properly frozen.
	(Initialize_Array_Component): Guard against a missing adjustment
	primitive when the component type was not properly frozen.
	(Initialize_Record_Component): Guard against a missing adjustment
	primitive when the component type was not properly frozen.
	(Process_Transient_Component_Completion): The transient object may
	not be finalized when its associated type was not properly frozen.
	* exp_ch3.adb (Build_Assignment): Guard against a missing
	adjustment primitive when the component type was not properly frozen.
	(Build_Initialization_Call): Guard against a missing
	initialization primitive when the associated type was not properly
	frozen.
	(Expand_N_Object_Declaration): Guard against a missing
	adjustment primitive when the base type was not properly frozen.
	(Predefined_Primitive_Bodies): Create an empty Deep_Adjust
	body when there is no adjustment primitive available. Create an
	empty Deep_Finalize body when there is no finalization primitive
	available.
	* exp_ch4.adb (Apply_Accessibility_Check): Guard against a
	missing finalization primitive when the designated type was
	not properly frozen.
	(Expand_N_Allocator): Guard against a missing initialization primitive
	when the designated type was not properly frozen.
	* exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add the adjustment call
	only when the corresponding adjustment primitive is available.
	* exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Generate the
	adjustment/finalization statements only when there is an available
	primitive to carry out the action.
	(Build_Initialize_Statements): Generate the initialization/finalization
	statements only when there is an available primitive to carry out the
	action.
	(Make_Adjust_Call): Do not generate a call when the underlying
	type is not present due to a possible missing full view.
	(Make_Final_Call): Do not generate a call when the underlying
	type is not present due to a possible missing full view.
	(Make_Finalize_Address_Stmts): Generate an empty body when the
	designated type lacks a finalization primitive.
	(Make_Init_Call): Do not generate a call when the underlying type is
	not present due to a possible missing full view.
	(Process_Component_For_Adjust): Add the adjustment call only when the
	corresponding adjustment primitive is available.
	(Process_Component_For_Finalize): Add the finalization call only when
	the corresponding finalization primitive is available.
	(Process_Object_Declaration): Use a null statement to emulate a
	missing call to the finalization primitive of the object type.
	* exp_ch7.ads (Make_Adjust_Call): Update the comment on usage.
	(Make_Final_Call): Update the comment on usage.
	(Make_Init_Call): Update the comment on usage.
	* exp_util.adb (Build_Transient_Object_Statements): Code reformatting.

2017-01-12  Arnaud Charlet  <charlet@adacore.com>

	* einfo.ads: Update documentation of Address_Taken.
	* sem_attr.adb (Analyze_Access_Attribute, Resolve_Attribute
	[Access_Attribute]): Only consider 'Access/'Unchecked_Access
	for subprograms when setting Address_Taken flag.

2017-01-12  Patrick Bernardi  <bernardi@adacore.com>

	* sem_ch10.adb (Analyze_With_Clause): Removed code that turned
	Configurable_Run_Time_Mode off when analysing with'ed predefined
	libraries.

From-SVN: r244365
2017-01-12 15:40:14 +01:00
Jonathan Wakely
4704f28e7a PR66284 remove std::function special case for reference_wrapper
PR libstdc++/66284
	* doc/xml/manual/intro.xml: Document LWG 2781 change.
	* doc/html/*: Regenerate.
	* include/std/functional (_Function_base::_Ref_manager): Remove.
	(_Function_handler): Remove partial specializations for
	reference_wrapper.
	(function::target): Remove special case for const qualification.
	* testsuite/20_util/function/6.cc: Adjust tests for target type.
	* testsuite/20_util/function/7.cc: Likewise.
	* testsuite/20_util/function/8.cc: Likewise.

From-SVN: r244364
2017-01-12 14:28:38 +00:00
Gary Dismukes
872fc7b53d sem_prag.adb: Minor reformatting.
2017-01-12  Gary Dismukes  <dismukes@adacore.com>

	* sem_prag.adb: Minor reformatting.
	* sem_util.adb (Unique_Entity): fix result for
	bodies of entry families.

From-SVN: r244363
2017-01-12 14:59:45 +01:00
Justin Squirek
00420f7430 sem_prag.adb (Analyze_Pragma): Add appropriate calls to Resolve_Suppressible in the pragma Assertion_Policy case.
2017-01-12  Justin Squirek  <squirek@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Add appropriate calls to
	Resolve_Suppressible in the pragma Assertion_Policy case.
	(Resolve_Suppressible): Created this function to factor out
	common code used to resolve Suppress to either Ignore or Check
	* snames.ads-tmpl: Add name for Suppressible.

From-SVN: r244362
2017-01-12 14:55:59 +01:00
Nathan Sidwell
0691440320 combine.c (try_combine): Don't ignore result of overlap checking loop.
* combine.c (try_combine): Don't ignore result of overlap checking
	loop.  Combine overlap & asm check into single loop.

Co-Authored-By: Nicolai Stange <nicstange@gmail.com>

From-SVN: r244361
2017-01-12 13:54:43 +00:00
Gary Dismukes
4bfe4a99e0 exp_ch9.adb, [...]: Minor reformatting.
2017-01-12  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch9.adb, s-secsta.adb, snames.ads-tmpl, exp_ch3.adb: Minor
	reformatting.
	* debug.adb: Minor comment fixes.

From-SVN: r244360
2017-01-12 14:54:16 +01:00
Arnaud Charlet
fedb083041 Change percentage to 25
From-SVN: r244359
2017-01-12 14:50:33 +01:00
Arnaud Charlet
eacfa9bc8c [multiple changes]
2017-01-12  Arnaud Charlet  <charlet@adacore.com>

	* sem_util.adb (Unique_Entity): For concurrent
	bodies that are defined with stubs and complete a declaration
	of a single concurrent object return the entity of an implicit
	concurrent type, not the entity of the anonymous concurrent
	object.
	* debug.adb: -gnatd.J is no longer used.
	* make.adb (Globalize): Removed, no longer used.
	* sem_ch9.adb: minor typo in comment for entry index

2017-01-12  Patrick Bernardi  <bernardi@adacore.com>

	* aspect.adb, aspect.ads: Added new aspect Secondary_Stack_Size.
	* exp_ch3.adb (Build_Init_Statements): As part of initialising
	the value record of a task, set its _Secondary_Stack_Size field
	if present.
	* exp_ch9.adb (Expand_N_Task_Type_Declaration): Create
	a _Secondary_Stack_Size field in the value record of
	the task if a Secondary_Stack_Size rep item is present.
	(Make_Task_Create_Call): Include secondary stack size
	parameter. If No_Secondary_Stack restriction is in place, passes
	stack size of 0.
	* par-prag.adb, sem_prag.adb, sem_prag.ads: Added new pragma
	Secondary_Stack_Size.
	* s-secsta.adb, s-secsta.ads (Minimum_Secondary_Stack_Size): New
	function to define the overhead of the secondary stack.
	* s-tarest.adb (Create_Restricted_Task,
	Create_Restricted_Task_Sequential): Functions now include
	Secondary_Stack_Size parameter to pass to Initialize_ATCB.
	* s-tarest.adb (Create_Restricted_Task,
	Create_Restricted_Task_Sequential): Calls to Initialize_ATCB now
	include Secondary_Stack_Size parameter.
	(Task_Wrapper): Secondary stack now allocated to the size specified by
	the Secondary_Stack_Size parameter in the task's ATCB.
	* s-taskin.adb, s-taskin.adb (Common_ATCB, Initialize_ATCB): New
	Secondary_Stack_Size component.
	* s-tassta.adb, s-tassta.ads (Create_Restricted_Task,
	Create_Restricted_Task_Sequential): Function now include
	Secondary_Stack_Size parameter.
	(Task_Wrapper): Secondary stack now allocated to the size
	specified by the Secondary_Stack_Size parameter in the task's
	ATCB.
	* s-tproft.adb (Register_Foreign_Thread): Amended Initialize_ATCB call
	to include Secondary_Stack_Size parameter.
	* sem_ch13.adb (Analyze_Aspect_Specification): Add support for
	Secondary_Stack_Size aspect, turning the aspect into its corresponding
	internal attribute.
	(Analyze_Attribute_Definition): Process Secondary_Stack_Size attribute.
	* snames.adb-tmpl, snames.ads-tmpl: Added names
	Name_Secondary_Stack_Size, Name_uSecondary_Stack_Size,
	Attribute_Secondary_Stack_Size and Pragma_Secondary_Stack_Size.

From-SVN: r244358
2017-01-12 14:49:46 +01:00
Arnaud Charlet
52108814f5 Minor reformatting.
From-SVN: r244357
2017-01-12 14:30:56 +01:00
Arnaud Charlet
5f325af260 [multiple changes]
2017-01-12  Yannick Moy  <moy@adacore.com>

	* exp_spark.adb (Expand_SPARK_Potential_Renaming): Fix sloc of copied
	subtree.

2017-01-12  Justin Squirek  <squirek@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference):
	Fix Finalization_Size case by properly resolving the type after
	rewritting the node.

2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Build_DIC_Procedure_Body): Semi-insert the body into
	the tree.
	(Build_DIC_Procedure_Declaration): Semi-insert the body into the tree.
	* binde.adb, exp_ch5.adb, sem_type.adb, sem.ads, sem_res.adb,
	exp_sel.ads: Minor reformatting.

2017-01-12  Justin Squirek  <squirek@adacore.com>

	* exp_ch6.adb (Expand_Call): Add guard to prevent
	invariant checks from being created for internally generated
	subprograms.

2017-01-12  Bob Duff  <duff@adacore.com>

	* lib-writ.ads: Remove incorrect comment.

2017-01-12  Javier Miranda  <miranda@adacore.com>

	* debug.adb (-gnatd.K): Enable generation of contract-only
	procedures in CodePeer mode.
	* contracts.adb (Build_And_Analyze_Contract_Only_Subprograms):
	New subprogram.
	(Analyze_Contracts): Generate contract-only procedures if -gnatdK is
	set.
	* scil_ll.ads, scil_ll.adb (Get_Contract_Only_Body_Name): New
	subprogram.
	(Get_Contract_Only_Missing_Body_Name): New subprogram.
	(Get_Contract_Only_Body): New subprogram.
	(Set_Contract_Only_Body): New subprogram.
	(Is_Contract_Only_Body): New subprogram.
	(Set_Is_Contract_Only_Body): New subprogram.
	(SCIL_Nodes): Replace table by hash-table.

From-SVN: r244356
2017-01-12 14:30:20 +01:00
Arnaud Charlet
10c2c151f1 [multiple changes]
2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch6.adb: Minor reformatting.
	* spark_xrefs.ads: minor cleanup of comments for SPARK xrefs

2017-01-12  Bob Duff  <duff@adacore.com>

	* binde.adb (Forced): New reason for a dependence.
	(Force_Elab_Order): Implementation of the new switch.
	* binde.ads: Minor comment fixes.
	* bindusg.adb: Add -f switch. Apparently, there was an -f switch
	long ago that is no longer supported; removed comment about that.
	* opt.ads (Force_Elab_Order_File): Name of file specified for
	-f switch.
	* switch-b.adb: Parse -f switch.

From-SVN: r244355
2017-01-12 14:26:34 +01:00
Justin Squirek
84e1361435 exp_ch6.adb (Check_View_Conversion): Created this function to properly chain calls to check type invariants that may...
2017-01-12  Justin Squirek  <squirek@adacore.com>

	* exp_ch6.adb (Check_View_Conversion): Created this function
	to properly chain calls to check type invariants that may be
	present in a subprogram call after the subprogram.
	(Expand_Call): Add a conditional to identify when a view conversion
	needs to be checked.
	* nlists.adb, nlists.ads (Prepend_New): New routine.
	(Prepend_New_To): New routine.

From-SVN: r244354
2017-01-12 14:24:16 +01:00
Arnaud Charlet
e51102b29c [multiple changes]
2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* sinfo.ads: Minor reformatting.

2017-01-12  Gary Dismukes  <dismukes@adacore.com>

	* exp_util.adb, exp_util.ads, einfo.ads: Minor typo fixes and
	reformatting.

2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch6.adb (Make_Build_In_Place_Call_In_Anonymous_Context): Add new
	variable Definite. Create a local object and pass its 'Access to the
	BIP function when the result type is either definite or it does not
	require any finalization or secondary stack management.

From-SVN: r244353
2017-01-12 14:21:21 +01:00
Bob Duff
6e759c2a0f contracts.adb, [...] (Pragma_Name): Change name to Pragma_Name_Unmapped.
2017-01-12  Bob Duff  <duff@adacore.com>

	* contracts.adb, einfo.adb, errout.adb, exp_attr.adb,
	exp_ch3.adb, exp_ch7.adb, exp_ch9.adb, exp_prag.adb, freeze.adb,
	frontend.adb, ghost.adb, inline.adb, lib-writ.adb, lib-xref.adb,
	par.adb, par-ch10.adb, par-ch2.adb, par-prag.adb, par_sco.adb,
	sem_attr.adb, sem_aux.adb, sem_ch10.adb, sem_ch12.adb,
	sem_ch13.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_elab.adb,
	sem_prag.adb, sem_res.adb, sem_util.adb, sem_util.ads,
	sem_warn.adb, sinfo.adb, sinfo.ads, sprint.adb (Pragma_Name):
	Change name to Pragma_Name_Unmapped.
	(Pragma_Name_Mapped): Change name to Pragma_Name.
	This is because the "mapped" version should be the usual case.

From-SVN: r244352
2017-01-12 14:18:47 +01:00
Richard Biener
6bb4ea5cdf tree-pretty-print.c (dump_generic_node): Provide -gimple variant for MEM_REF.
2017-01-12  Richard Biener  <rguenther@suse.de>

	* tree-pretty-print.c (dump_generic_node): Provide -gimple
	variant for MEM_REF.  Sanitize INTEGER_CST for -gimple.

	c/
	* gimple-parser.c (c_parser_gimple_postfix_expression): Parse
	__MEM.

	* gcc.dg/gimplefe-21.c: New testcase.

From-SVN: r244350
2017-01-12 08:33:09 +00:00
Richard Biener
ef9d56f8ac tree.c (initialize_tree_contains_struct): Make TS_OPTIMIZATION and TS_TARGET_OPTION directly derive from TS_BASE.
2017-01-12  Richard Biener  <rguenther@suse.de>

	* tree.c (initialize_tree_contains_struct): Make TS_OPTIMIZATION
	and TS_TARGET_OPTION directly derive from TS_BASE.
	* tree-core.h (tree_optimization_option): Derive from tree_base.
	(tree_target_option): Likewise.

From-SVN: r244349
2017-01-12 08:13:43 +00:00
Michael Collison
f15dbadbf6 zero_bits_compound-2.c: Fix test for aarch64.
2016-11-30  Michael Collison  <michael.collison@arm.com>

	* gcc.dg/zero_bits_compound-2.c: Fix test for aarch64.

From-SVN: r244348
2017-01-12 08:12:02 +00:00
GCC Administrator
da7069127c Daily bump.
From-SVN: r244346
2017-01-12 00:16:14 +00:00
Uros Bizjak
f69dacdae5 i386.c (memory_address_length): Increase len only when rip_relative_addr_p returns false.
* config/i386/i386.c (memory_address_length): Increase len
	only when rip_relative_addr_p returns false.

From-SVN: r244341
2017-01-11 22:53:45 +01:00
Jason Merrill
91d01bf40a PR c++/78337 - ICE on invalid with generic lambda
* semantics.c (process_outer_var_ref): Check if containing_function
	is null.  Move inform call under complain test.

From-SVN: r244340
2017-01-11 16:43:42 -05:00
Julia Koval
73e32c4743 i386-common.c (OPTION_MASK_ISA_SGX_UNSET): New.
* common/config/i386/i386-common.c (OPTION_MASK_ISA_SGX_UNSET): New.
	(OPTION_MASK_ISA_SGX_SET): New.
	(ix86_handle_option): Handle OPT_msgx.
	* config.gcc: Added sgxintrin.h.
	* config/i386/driver-i386.c (host_detect_local_cpu): Detect sgx.
	* config/i386/i386-c.c (ix86_target_macros_internal): Define __SGX__.
	* config/i386/i386.c (ix86_target_string): Add -msgx.
	(PTA_SGX): New.
	(ix86_option_override_internal): Handle new options.
	(ix86_valid_target_attribute_inner_p): Add sgx.
	* config/i386/i386.h (TARGET_SGX, TARGET_SGX_P): New.
	* config/i386/i386.opt: Add msgx.
	* config/i386/sgxintrin.h: New file.
	* config/i386/x86intrin.h: Add sgxintrin.h.

testsuite/ChangeLog:

	* gcc.target/i386/sgx.c New test.
	* gcc.target/i386/sse-12.c: Add -msgx.
	* gcc.target/i386/sse-13.c: Ditto.
	* gcc.target/i386/sse-14.c: Ditto.
	* gcc.target/i386/sse-22.c: Ditto.
	* gcc.target/i386/sse-23.c: Ditto.
	* g++.dg/other/i386-2.C: Ditto.
	* g++.dg/other/i386-3.C: Ditto.


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

From-SVN: r244339
2017-01-11 22:41:13 +01:00
Jakub Jelinek
fa8438f71c Fix up a typo.
From-SVN: r244338
2017-01-11 22:39:25 +01:00
Martin Sebor
3594adc7b0 PR c++/24511 - [DR 470] explicit instantiation/extern template unsats
PR c++/24511 - [DR 470] explicit instantiation/extern template unsats
// on symbols defined later

gcc/testsuite/ChangeLog:
	* g++.dg/template/explicit9.C: New test.

From-SVN: r244337
2017-01-11 14:02:46 -07:00
Nathan Sidwell
01bfd25762 re PR c++/77812 (incorrectly rejects valid C++ code that uses enum in template instantiation)
cp/
	PR c++/77812
	* name-lookup.c (set_namespace_binding_1): An overload of 1 decl
	is a new overload.

	testsuite/
	PR c++/77812
	* g++.dg/pr77812.C: New.

From-SVN: r244335
2017-01-11 20:37:16 +00:00
Nathan Sidwell
5b33cc835c * name-lookup.c (push_overloaded_decl_1): Refactor OVERLOAD creation.
From-SVN: r244334
2017-01-11 20:11:56 +00:00
Jakub Jelinek
eae63d784c re PR c++/71537 (GCC rejects consetxpr boolean conversions and comparisons on the result of pointer arithmetic.)
PR c++/71537
	* fold-const.c (maybe_nonzero_address): Return 1 for function
	local objects.
	(tree_single_nonzero_warnv_p): Don't handle function local objects
	here.

	* g++.dg/cpp1y/constexpr-71537.C: New test.

From-SVN: r244333
2017-01-11 21:10:36 +01:00
Jakub Jelinek
88df7964b5 flatten-3.c: Add quotation marks around dg-options argument.
* gcc.dg/tree-ssa/flatten-3.c: Add quotation marks around dg-options
	argument.

From-SVN: r244332
2017-01-11 20:48:56 +01:00
Martin Sebor
960ecba4bf PR c/47931 - missing -Waddress warning for comparison with NULL
gcc/testsuite/ChangeLog:
	* c-c++-common/Waddress-2.c: New test.

From-SVN: r244331
2017-01-11 11:33:13 -07:00
Than McIntosh
a2182c9cc2 compiler: add containing Bfunction to conditional_expression
Add containing Bfunction to Backend::conditional_expression
    method signature, since the back end might need to create a
    temporary when generating IR for this construct.
    
    Reviewed-on: https://go-review.googlesource.com/35056

From-SVN: r244330
2017-01-11 18:15:16 +00:00
Jakub Jelinek
1f258a55a9 re PR c++/78341 (ICE on invalid C++ code on x86_64-linux-gnu (internal compiler error: in cp_parser_std_attribute_spec, at cp/parser.c:24597))
PR c++/78341
	* parser.c (cp_parser_std_attribute_spec): Remove over-eager
	assertion.  Formatting fix.

	* g++.dg/cpp0x/pr78341.C: New test.

From-SVN: r244329
2017-01-11 19:09:58 +01:00
Jakub Jelinek
6b5b4e9cec re PR c++/72813 (atomic header cannot be compiled into translation unit with -fkeep-inline-functions)
PR c++/72813
	* gcc.c (default_compilers): Don't add -o %g.s for -S -save-temps
	of c-header.

	* c-decl.c (pop_file_scope): Set flag_syntax_only to 1 after writing
	PCH file.

	* decl2.c (c_parse_final_cleanups): Set flag_syntax_only to 1 after
	writing PCH file.

From-SVN: r244328
2017-01-11 19:08:57 +01:00
Ian Lance Taylor
25e15acf8c compiler: mark generated struct/array types as incomparable
The recent change to generate type functions for more types with
    identity comparisons caused us to generate some unnecessary functions,
    and even caused a compiler crash on Solaris due to phase ordering.
    Avoid this by marking all generated and uncompared struct and array
    types as incomparable, so that we don't try to generate type functions
    for them.
    
    Reviewed-on: https://go-review.googlesource.com/35110

From-SVN: r244327
2017-01-11 17:41:49 +00:00
Martin Sebor
bf5fbf465d PR c/78768 - -Walloca-larger-than and -Wformat-length warnings disabled by -flto
gcc/ChangeLog:
	* c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
	Also enable for LTO.

gcc/testsuite/ChangeLog:
	PR c/78768
	* gcc.dg/pr78768.c: New test.

From-SVN: r244326
2017-01-11 10:28:52 -07:00
David Malcolm
19ff0049cd Offer suggestions for unrecognized sanitizer options (PR driver/78877)
gcc/ChangeLog:
	PR driver/78877
	* opts.c: Include "spellcheck.h"
	(struct string_fragment): New struct.
	(struct edit_distance_traits<const string_fragment &>): New
	struct.
	(get_closest_sanitizer_option): New function.
	(parse_sanitizer_options): Offer suggestions for unrecognized arguments.

gcc/testsuite/ChangeLog:
	PR driver/78877
	* gcc.dg/spellcheck-options-14.c: New test case.
	* gcc.dg/spellcheck-options-15.c: New test case.
	* gcc.dg/spellcheck-options-16.c: New test case.
	* gcc.dg/spellcheck-options-17.c: New test case.

From-SVN: r244325
2017-01-11 17:25:40 +00:00
Jakub Jelinek
d29bd378ab dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): For DWARF5 decrease by 12.
* dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): For DWARF5 decrease
	by 12.
	(DWARF_COMDAT_TYPE_UNIT_HEADER_SIZE): Always
	DWARF_COMPILE_UNIT_HEADER_SIZE plus 12.
	(DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE): Define.
	(calc_base_type_die_sizes): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE
	for initial die_offset if dwarf_split_debug_info.
	(output_comp_unit): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE for
	initial next_die_offset if dwo_id is non-NULL.  Don't emit padding
	fields.
	(output_skeleton_debug_sections): Formatting fix.  Use
	DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE instead of
	DWARF_COMPILE_UNIT_HEADER_SIZE.  Don't emit padding.

From-SVN: r244323
2017-01-11 17:46:15 +01:00
Wilco Dijkstra
d2471b3168 My previous change to the Cortex-A53 scheduler resulted in a 13% regression on a proprietary benchmark.
My previous change to the Cortex-A53 scheduler resulted in a 13% regression on a
proprietary benchmark.  This turned out to be due to non-optimal scheduling of int
to float conversions.  This patch separates int to FP transfers from int to float
conversions based on experiments to determine the best schedule.  As a result of
these tweaks the performance of the benchmark improves by 20%.

    gcc/
	* config/arm/cortex-a53.md: Add bypasses for
	cortex_a53_r2f_cvt.
	(cortex_a53_r2f): Only use for transfers.
	(cortex_a53_f2r): Likewise.
	(cortex_a53_r2f_cvt): Add reservation for conversions.
	(cortex_a53_f2r_cvt): Likewise.

From-SVN: r244322
2017-01-11 16:38:42 +00:00