Commit graph

173623 commits

Author SHA1 Message Date
Sudakshina Das
666b46c610 [Committed, testsuite] Fix PR92870
With my recent commit, I added a test that is not passing on all targets.
My change was valid for targets that have a vector/scalar shift/rotate optabs
(optab that supports vector shifted by scalar).

Since it does not seem to be easy to find out which targets would support it,
I am limiting the test to the targets that I know pass.

gcc/testsuite/ChangeLog

2019-12-12  Sudakshina Das  <sudi.das@arm.com>

	PR testsuite/92870
	* gcc.dg/vect/vect-shift-5.c: Add target to scan-tree-dump.

From-SVN: r279310
2019-12-12 18:01:18 +00:00
Georg-Johann Lay
404a671b59 Add support for some more AVR devices from avrxmega3 family.
* config/avr/avr-mcus.def (attiny1604, attiny1606, attiny1607)
	(attiny402, attiny404, attiny406)
	(attiny804, attiny806, attiny807)
	(attiny202, attiny204): Add AVR_MCU lines to support them.
	* doc/avr-mmcu.texi: Regenerate.

From-SVN: r279309
2019-12-12 17:00:46 +00:00
Jonathan Wakely
d1505d0146 libstdc++: Simplify std::common_comparison_category
* libsupc++/compare (common_comparison_category): Define without using
	concepts and optimise for compilation time.
	(__detail::__cmp_cat_ids): Remove.
	(__detail::__common_cmp_cat): Replace class template and
	specializations with constexpr function.

From-SVN: r279307
2019-12-12 14:35:55 +00:00
Jan Hubicka
2fb1d6d654 ipa-prop.c (read_ipcp_transformation_info): Fix undefined ordering of execution of function call parameters.
* ipa-prop.c (read_ipcp_transformation_info): Fix undefined ordering
	of execution of function call parameters.

From-SVN: r279306
2019-12-12 14:32:48 +00:00
Ed Schonberg
8d9cf0a3b3 [Ada] Spurious warning about change of representastion in call
2019-12-12  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* sem_ch13.adb (Same_Reprewentation): if the actual in a call is
	a generic actual type, use its bsae type to determine whether a
	change of representastion may be necessary for proper parameter
	passing.

From-SVN: r279305
2019-12-12 10:03:53 +00:00
Ed Schonberg
4dd8320fbb [Ada] Spurious error on universal access equality operator
2019-12-12  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* sem_type.adb (Find_Unique_Type): A call to the universal
	access equality operator requires one operand to be a universal
	access, and the other to be an access type. There is no
	requirement, as previously implied by this routine, that
	pool-specific access types were illegal in this context.

From-SVN: r279304
2019-12-12 10:03:48 +00:00
Steve Baird
97b2ffb81f [Ada] Tighten up semantic checking for protected subprogram declarations
2019-12-12  Steve Baird  <baird@adacore.com>

gcc/ada/

	* sem_ch6.adb
	(New_Overloaded_Entity.Check_Conforming_Paramters): Add new
	Conformance_Type parameter. With the value of
	Subtype_Conformant, the behavior of Check_Conforming_Parameters
	is unchanged.  The call in Matching_Entry_Or_Subprogram to
	instead passes in Type_Conformant. This corresponds to the use
	of "type conformant" in Ada RM 9.4(11.4/3).
	(New_Overloaded_Entity.Has_Matching_Entry_Or_Subprogram): Add
	new Normalized_First_Parameter_Type function to help in ignoring
	the distinction between protected and access-to-protected first
	parameters when checking prefixed-view profile matching. Replace
	computations of the type of the first parameter with calls to
	this function as appropriate.

From-SVN: r279303
2019-12-12 10:03:43 +00:00
Ed Schonberg
93350089be [Ada] Missing dereference in bound of slice in element iterator
2019-12-12  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* sem_ch5.adb: (Analyze_Iterator_Specification): If the
	iteration is over a slice, complete the resolution of its
	bounds, which may be aebitrary expressions. The previous
	pre-analysis may have created itypes for the slice but has not
	performed the expansion that for example may introduce actions
	that specify explicit dereferences and run-time checks.

From-SVN: r279302
2019-12-12 10:03:39 +00:00
Ed Schonberg
0f5abd2148 [Ada] Improve error message for dispatching subprogram formals
2019-12-12  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* sem_ch8.adb: Improve error message for dispatching subprogram
	formals.

From-SVN: r279301
2019-12-12 10:03:35 +00:00
Gary Dismukes
ca00cd0232 [Ada] Fix related to handling up-level references in protected entries
2019-12-12  Gary Dismukes  <dismukes@adacore.com>

gcc/ada/

	* exp_ch9.adb (Build_Protected_Entry): Set the Scope of the new
	block to be the entity of the procedure created for the entry.

From-SVN: r279300
2019-12-12 10:03:30 +00:00
Steve Baird
fbb076f4da [Ada] Improved handling of circular compilation dependencies
2019-12-12  Steve Baird  <baird@adacore.com>

gcc/ada/

	* sem_ch10.adb (Install_With_Clause): Check for the case of a
	circular dependency involving a predefined (or GNAT-defined)
	unit and handle that case by generating an appropropriate error
	message.

From-SVN: r279299
2019-12-12 10:03:26 +00:00
Gary Dismukes
4cdd4a33f4 [Ada] Fix various typos, plus minor reformatting
2019-12-12  Gary Dismukes  <dismukes@adacore.com>

gcc/ada/

	* sem_ch4.adb, sem_res.adb: Minor reformatting.

From-SVN: r279298
2019-12-12 10:03:20 +00:00
Justin Squirek
2f0a921fad [Ada] Broken privacy on Controlled type extensions
2019-12-12  Justin Squirek  <squirek@adacore.com>

gcc/ada/

	* sem_ch4.adb (Analyze_One_Call): Add condition to check for
	incorrectly resolved hidden controlled primitives.

From-SVN: r279297
2019-12-12 10:03:16 +00:00
Ed Schonberg
4bcf29692f [Ada] Fix processing of standard predefined operators
2019-12-12  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* sem_res.adb: Fix processing of standard predefined operators.

From-SVN: r279296
2019-12-12 10:03:11 +00:00
Piotr Trojanek
ddb677163a [Ada] Fix Global contract for the predefined Yield procedure
2019-12-12  Piotr Trojanek  <trojanek@adacore.com>

gcc/ada/

	* libgnarl/a-dispat.ads (Yield): Update Global contract.

From-SVN: r279295
2019-12-12 10:03:06 +00:00
Piotr Trojanek
604801a4a6 [Ada] Fix repeated words and typos in doc and comments
2019-12-12  Piotr Trojanek  <trojanek@adacore.com>

gcc/ada/

	* libgnat/g-altive.ads: Fix typo in comment.
	* bindo-graphs.adb: Fix repeated words in comment.
	* exp_ch4.adb: Likewise.
	* exp_ch5.adb: Likewise.
	* exp_ch7.adb: Likewise.
	* exp_pakd.adb: Likewise.
	* exp_unst.adb: Likewise.
	* exp_util.adb: Likewise.
	* freeze.adb: Likewise.
	* inline.adb: Likewise.
	* layout.adb: Likewise.
	* sem_ch12.adb: Likewise.
	* sem_ch13.adb: Likewise.
	* sem_ch4.adb: Likewise.
	* sem_ch9.adb: Likewise.
	* sem_elab.adb: Likewise.
	* doc/gnat_ugn/gnat_and_program_execution.rst: Fix repeated
	words in user documentation.
	* gnat_ugn.texi: Regenerate.

From-SVN: r279294
2019-12-12 10:03:01 +00:00
Eric Botcazou
955379e4ed [Ada] Fix wrong value of 'Size for slices of bit-packed arrays (2)
2019-12-12  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* exp_attr.adb (Expand_Size_Attribute): Look directly at the
	prefix to detect the bit-packed slices.  Apply the checks last
	in case the attribute needs to be processed by the back-end.
	* exp_ch4.adb (Expand_N_Slice): Do not create a temporary for
	a prefix of the Size attribute.

From-SVN: r279293
2019-12-12 10:02:55 +00:00
Steve Baird
16b5f07b5d [Ada] Implement AI12-0036 (a new legality check for instantiations)
2019-12-12  Steve Baird  <baird@adacore.com>

gcc/ada/

	* sem_ch12.adb
	(Instantiate_Type.Validate_Derived_Type_Instance): Implement the
	legality check of AI12-0036

From-SVN: r279292
2019-12-12 10:02:51 +00:00
Ed Schonberg
c9312e3079 [Ada] Spurious visibility error on subunit with optimization
2019-12-12  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* sem_ch10.adb (Analyze_Subunit): Fix spurious visibility error
	on subunit with optimization.

From-SVN: r279291
2019-12-12 10:02:47 +00:00
Arnaud Charlet
4cd30bf7e5 [Ada] Define __gnat_personality_v0 for SEH
2019-12-12  Arnaud Charlet  <charlet@adacore.com>

gcc/ada/

	* raise-gcc.c (__gnat_personality_v0): Define for SEH.

From-SVN: r279290
2019-12-12 10:02:42 +00:00
Gary Dismukes
182c8b7d2d [Ada] Handling up-level references in protected entries and freeze nodes
2019-12-12  Gary Dismukes  <dismukes@adacore.com>

gcc/ada/

	* exp_ch9.adb (Build_Protected_Entry): Analyze the block created
	to hold the declarations and statements of the protected entry
	body right after it's created, and then call Reset_Scopes_To on
	that block to reset the Scope of nested entities to the block
	scope.
	(Reset_Scope): Add handling for N_Freeze_Entity nodes, calling
	Reset_Scopes recursively on the Actions of such nodes. Also, for
	subprogram bodies that are encountered that might not have a
	separate declaration (such as type init procedures), reset the
	Scope of the subprogram's entity.

From-SVN: r279289
2019-12-12 10:02:38 +00:00
Justin Squirek
c171199011 [Ada] Missing error on incorrect use of Result attribute
2019-12-12  Justin Squirek  <squirek@adacore.com>

gcc/ada/

	* sem_attr.adb (Analyze_Attribute): Add error message for
	invalid usage of Attribute_Result.

From-SVN: r279288
2019-12-12 10:02:32 +00:00
Bob Duff
5d3983bca5 [Ada] Crash on Descriptor_Size attribute
2019-12-12  Bob Duff  <duff@adacore.com>

gcc/ada/

	* sem_attr.adb (Eval_Attribute): Never mark T'Descriptor_Size as
	static, even if T is a static subtype, because otherwise we will
	request the value of the attribute, which will crash because we
	have not evaluated it.

From-SVN: r279287
2019-12-12 10:02:27 +00:00
Ed Schonberg
c2f3e1a3e3 [Ada] Missing length check on private type with unknown discriminants
2019-12-12  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* exp_ch5.adb (Expand_N_Assognment_Statement): Extend the
	processing involving private types with unknown discriminants to
	handle the case where the full view of the type is an
	unconstrained array type.

From-SVN: r279286
2019-12-12 10:02:23 +00:00
Bob Duff
0e3a687f8c [Ada] Compiler crash on prefix call in generic body
2019-12-12  Bob Duff  <duff@adacore.com>

gcc/ada/

	* sem_ch4.adb (Transform_Object_Operation): Deal properly with
	prefix notation in instances.

From-SVN: r279285
2019-12-12 10:02:19 +00:00
Claire Dross
d878b2c981 [Ada] Use correct subtype for call to Last in formal vectors
2019-12-12  Claire Dross  <dross@adacore.com>

gcc/ada/

	* libgnat/a-cofove.adb, libgnat/a-cfinve.adb (Find_Index): Use
	Extended_Index for call to Last.

From-SVN: r279284
2019-12-12 10:02:14 +00:00
Gary Dismukes
e16c6cc331 [Ada] Fix a number of typos, plus minor reformatting
2019-12-12  Gary Dismukes  <dismukes@adacore.com>

gcc/ada/

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

From-SVN: r279283
2019-12-12 10:02:09 +00:00
Bob Duff
d5461bed9a [Ada] Update gnatmetric documentation for average lengths
2019-12-12  Bob Duff  <duff@adacore.com>

gcc/ada/

	* doc/gnat_ugn/gnat_utility_programs.rst: Update gnatmetric
	documentation for average lengths

From-SVN: r279282
2019-12-12 10:02:05 +00:00
Ed Schonberg
605d816615 [Ada] Constraint is ignored on constrained access record component
2019-12-12  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* sem_ch3.adb (Constrain_Access): Remove obsolete comments and
	warning concerning component types of an access type whose
	designated type is a constrained record type. (Such constraints
	were previously ignored). Set scope of itype for component to
	the scope of the enclosing record.
	* sem_ch4.adb: Remove call to Set_Ekind.
	* sem_util.adb (Build_Actual_Subtype_Of_Component): Handle
	components whose type is an access to a constrained
	discriminant, where the constraints may be given by the
	discriminants of the enclosing type. New subprogram
	Build_Access_Record_Constraint.

gcc/testsuite/

	* gnat.dg/warn24.adb: Remove expected warning.

From-SVN: r279281
2019-12-12 10:02:00 +00:00
Justin Squirek
87b66149a3 [Ada] Crash on use of Loop_Entry, Result, and Old as actuals
2019-12-12  Justin Squirek  <squirek@adacore.com>

gcc/ada/

	* exp_ch6.adb (Expand_Call_Helper): Added null case for
	'Loop_Entry, 'Old, and 'Result when calculating whether to
	create extra accessibility parameters.
	* sem_util.adb (Dynamic_Accessibility_Level): Added null case
	for 'Loop_Entry, 'Old, and 'Result when  calculating
	accessibility level based on access-valued attributes.  Also
	added special handling for uses of 'Loop_Entry when used in its
	indexed component form.

From-SVN: r279280
2019-12-12 10:01:55 +00:00
Arnaud Charlet
f48a35ca9c [Ada] Remove references to VMS
2019-12-12  Arnaud Charlet  <charlet@adacore.com>

gcc/ada/

	* raise-gcc.c: Remove references to VMS

From-SVN: r279279
2019-12-12 10:01:51 +00:00
Eric Botcazou
c7732bbe38 [Ada] Mark Ada subprograms and variables referenced from gigi
2019-12-12  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* atree.ads, comperr.ads, debug.ads, einfo.ads, elists.ads,
	err_vars.ads, errout.ads, exp_ch11.ads, exp_code.ads,
	exp_dbug.ads, exp_tss.ads, exp_util.ads, lib.ads, namet.ads,
	nlists.ads, opt.ads, repinfo.ads, restrict.ads, scos.ads,
	sem_aggr.ads, sem_aux.ads, sem_eval.ads, sem_util.ads,
	sinfo.ads, sinput.ads, stringt.ads, targparm.ads, types.ads,
	urealp.ads warnsw.ads: Add WARNING line(s) in commentary.
	* atree.h, elists.h, namet.h, nlists.h, repinfo.h, scos.h,
	stringt.h, types.h, uintp.h, urealp.h: Tidy up.
	* fe.h: Likewise.  Document WARNING mark.

From-SVN: r279278
2019-12-12 10:01:46 +00:00
Dmitriy Anisimkov
a1449c89b7 [Ada] Improve end of command line arguments detection
2019-12-12  Dmitriy Anisimkov  <anisimko@adacore.com>

gcc/ada/

	* libgnat/g-comlin.ads (Get_Argument): New routine similar to
	original Get_Argument but with one more out parameter
	End_Of_Arguments.
	(Get_Arguments): Comment improved.
	* libgnat/g-comlin.adb (Get_Argument): Implementation taken from
	original Get_Argument and improved.
	(Get_Argument): Calls new routine Get_Argument with additional
	parameter.

From-SVN: r279277
2019-12-12 10:01:41 +00:00
Pierre-Marie de Rodat
c38d4670d7 [Ada] Remove implicit anonymous access conversion in testcase
2019-12-12  Pierre-Marie de Rodat  <derodat@adacore.com>

gcc/testsuite/

	* gnat.dg/subp_inst_pkg.adb: Remove implicit anonymous access
	conversion.

From-SVN: r279276
2019-12-12 10:01:36 +00:00
Vineet Gupta
fbf8314b0a [ARC] generate signaling FDCMPF for hard float comparisons
PR 92846:
ARC gcc generates FDCMP instructions which raises Invalid operation for
signaling NaN only. This causes glibc iseqsig() primitives to fail (in
the current ongoing glibc port to ARC)

So break up the hard float compares into tw categories and for unordered
compares generate the FDCMPF instructions which raised exception for
either NaNs.

With this fix testsuite/gcc.dg/torture/pr52451.c passes for ARC.

Also no regressions for the glibc math testsuite, only 6 additional
passes for test*iseqsig

gcc/
xxxx-xx-xx  Vineet Gupta  <vgupta@synopsys.com>

	* config/arc/arc-modes.def (CC_FPUE): New Mode CC_FPUE which
	helps codegen generate exceptions even for quiet NaN.
	* config/arc/arc.c (arc_init_reg_tables): Handle New CC_FPUE mode.
	(get_arc_condition_code): Likewise.
	(arc_select_cc_mode): LT, LE, GT, GE to use the New CC_FPUE mode.
	* config/arc/arc.h (REVERSE_CONDITION): Handle New CC_FPUE mode.
	* config/arc/predicates.md (proper_comparison_operator): Likewise.
	* config/arc/fpu.md (cmpsf_fpu_trap): New Pattern for CC_FPUE.
	(cmpdf_fpu_trap): Likewise.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>

From-SVN: r279274
2019-12-12 09:42:21 +01:00
Claudiu Zissulescu
48f13fb118 [ARC] Use hardware support for double-precision compare instructions.
Allow the compiler to use the double-precision compare instructions.

xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.md (iterator SDF): Check TARGET_FP_DP_BASE.
	(cstoredi4): Use TARGET_HARD_FLOAT.

From-SVN: r279273
2019-12-12 09:42:10 +01:00
François Dumont
5345a1906a libstdc++: Fix tr1 definition ambiguity in versioned namespace
* include/tr1/cctype: Add _GLIBCXX_BEGIN_VERSION_NAMESPACE and
	_GLIBCXX_END_VERSION_NAMESPACE.
	* include/tr1/cfenv: Likewise.
	* include/tr1/cinttypes: Likewise.
	* include/tr1/cstdint: Likewise.
	* include/tr1/cstdio: Likewise.
	* include/tr1/cstdlib: Likewise.
	* include/tr1/cwchar: Likewise.
	* include/tr1/cwctype: Likewise.

From-SVN: r279272
2019-12-12 07:23:34 +00:00
François Dumont
8bc1995989 libstdc++: Qualify isdigit call to fix versioned namespace build.
* src/c++11/random.cc: Include <cctype>.
	(random_devise::_M_init_pretr1): Qualify isdigit call.

From-SVN: r279271
2019-12-12 07:14:55 +00:00
GCC Administrator
d64515f565 Daily bump.
From-SVN: r279270
2019-12-12 00:16:21 +00:00
Jakub Jelinek
afb4cc6853 opts.c (default_options_table): Move -ftree-loop-distribute-patterns entry from -O3 or later section to -O2 or...
* opts.c (default_options_table): Move -ftree-loop-distribute-patterns
	entry from -O3 or later section to -O2 or later section.
	* doc/invoke.texi (-ftree-loop-distribute-patterns): Mention the
	option is enabled by default at -O2+ rather than just at -O3.

From-SVN: r279267
2019-12-12 00:59:14 +01:00
Jakub Jelinek
f8ac7d8f35 re PR fortran/92899 ([OpenMP] ICE in gfc_trans_omp_atomic, at fortran/trans-openmp.c:3769)
PR fortran/92899
	* trans-openmp.c (gfc_trans_omp_atomic): For GFC_OMP_ATOMIC_SWAP,
	do look through conversion on expr2 if any.

	* testsuite/libgomp.fortran/atomic1.f90: New test.

From-SVN: r279266
2019-12-12 00:58:04 +01:00
Jakub Jelinek
f5c03155aa re PR target/92723 (ICE in expand_shift_1, at expmed.c:2635)
PR target/92723
	* tree-vect-patterns.c (vect_recog_rotate_pattern): If dt is not
	vect_internal_def, use oprnd1 as is, without trying to cast it.
	Formatting fix.

	* gcc.dg/vect/pr92723.c: New test.

From-SVN: r279265
2019-12-12 00:49:30 +01:00
Matthias Klose
4f94386981 configure.ac: Factor out common cases for compare_exclusions.
2019-12-11  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Factor out common cases for compare_exclusions.
        * configure: Regenerate.

From-SVN: r279250
2019-12-11 20:59:35 +00:00
Martin Sebor
f7d86b5ca8 builtins.c (compute_objsize): Add an argument and set it to offset into destination.
gcc/ChangeLog:

	* builtins.c (compute_objsize): Add an argument and set it to offset
	into destination.
	* builtins.h (compute_objsize): Add an argument.
	* tree-object-size.c (addr_object_size): Add an argument and set it
	to offset into destination.
	(compute_builtin_object_size): Same.
	* tree-object-size.h (compute_builtin_object_size): Add an argument.
	* tree-ssa-strlen.c (get_addr_stridx): Add an argument and set it
	to offset into destination.
	(maybe_warn_overflow): New function.
	(handle_store): Call maybe_warn_overflow to issue warnings.

gcc/testsuite/ChangeLog:

	* c-c++-common/Wstringop-overflow-2.c: Adjust text of expected messages.
	* g++.dg/warn/Wstringop-overflow-3.C: Same.
	* gcc.dg/Wstringop-overflow-17.c: Same.

From-SVN: r279248
2019-12-11 12:50:43 -07:00
Steven G. Kargl
c7f5b4eddd re PR fortran/92897 ([Coarray] ICE in gfc_set_array_spec, at fortran/array.c:864)
2019-12-11 Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/92897
	* array.c (gfc_set_array_spec):  Remove invalid assert() triggered
	by invalid Fortran code.
 
2019-12-11 Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/92897
	* gfortran.dg/pr92897.f90: New test.

From-SVN: r279247
2019-12-11 19:28:57 +00:00
Jozef Lawrynowicz
a9046e9853 MSP430: Add -fno-exceptions multilib
ChangeLog:

2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config-ml.in (msp430-*-*): Support --disable-no-exceptions configure
	flag.

gcc/ChangeLog:

2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config/msp430/msp430.h (STARTFILE_SPEC) [!fexceptions]: Use
	crtbegin_no_eh.o if building for the C language.
	[fno-exceptions]: Use crtbegin_no_eh.o if building for any language
	except C.
	(ENDFILE_SPEC) [!fexceptions]: Use crtend_no_eh.o if building for 
	the C language.
	[fno-exceptions]: Use crtend_no_eh.o if building for any language
	except C.
	* config/msp430/t-msp430: Add -fno-exceptions multilib.
	* doc/install.texi: Document --disable-no-exceptions multilib configure
	option.
	* doc/sourcebuild.texi: Document exceptions_enabled effective target.

gcc/testsuite/ChangeLog:

2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* lib/gcc-dg.exp: Add dg-prune messages for when exception handling is
	disabled.
	* lib/target-supports.exp (check_effective_target_exceptions_enabled):
	New.

libgcc/ChangeLog:

2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config.host: Add crt{begin,end}_no_eh.o to "extra_parts".
	* config.host (msp430*-*-elf): Add crt{begin,end}_no_eh.o to
	"extra_parts".

From-SVN: r279246
2019-12-11 19:19:50 +00:00
David Malcolm
368877a11b Introduce pretty_printer::clone vfunc
This patch provides a way to clone a pretty_printer.

This is needed so that we can capture text in a label_text and make
layout decisions based on it, using the policy of global_dc's printer,
whilst within a call to diagnostic_show_locus.  We can't print with
the pretty_printer itself within a call to diagnostic_show_locus since
it has partly-buffered content.

gcc/c-family/ChangeLog:
	* c-pretty-print.c (c_pretty_printer::clone): New vfunc
	implementation.
	* c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.

gcc/cp/ChangeLog:
	* cxx-pretty-print.c (cxx_pretty_printer::clone): New vfunc
	implementation.
	* cxx-pretty-print.h (cxx_pretty_printer::clone): New vfunc decl.
	* error.c (cxx_format_postprocessor::clone): New vfunc.

gcc/ChangeLog:
	* pretty-print.c (pretty_printer::pretty_printer): New copy-ctor.
	(pretty_printer::clone): New vfunc implementation.
	* pretty-print.h (format_postprocessor::clone): New pure vfunc
	decl.
	(pretty_printer::pretty_printer): New copy-ctor decl.
	(pretty_printer::clone): New vfunc decl.

From-SVN: r279244
2019-12-11 19:06:39 +00:00
Jozef Lawrynowicz
34a53788fe libgcc: Declare __dso_handle only if DEFAULT_USE_CXA_ATEXIT is true
2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* crtstuff.c: Declare __dso_handle only if DEFAULT_USE_CXA_ATEXIT is
	true.

From-SVN: r279243
2019-12-11 18:59:38 +00:00
David Malcolm
0230c89710 function-tests.c: expose selftest::make_fndecl for use elsewhere
This is used by new selftests in the analyzer patch kit.

gcc/ChangeLog:
	* function-tests.c (selftest::make_fndecl): Make non-static.
	* selftest.h (selftest::make_fndecl): New decl.

From-SVN: r279242
2019-12-11 18:58:56 +00:00
Jakub Jelinek
3455115379 re PR c++/92869 (C++17 wrongly reports aggregate type as not-aggregate (when explicitly defaulted ctors are added))
PR c++/92869
	* class.c (finish_struct): For C++17 and earlier, check
	type_has_user_provided_or_explicit_constructor rather than
	TYPE_HAS_USER_CONSTRUCTOR whether to set CLASSTYPE_NON_AGGREGATE.

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

From-SVN: r279241
2019-12-11 19:44:02 +01:00