Commit Graph

166873 Commits

Author SHA1 Message Date
Alexandre Oliva e1bbb0bcf7 [PR87770] test partial specializations for type dependence
When instantiating a partial specialization of a template member
function for a full specialization of a class template, we test
whether the context of variables local to the partial specialization,
i.e., the partial specialization itself, is dependent, and this ICEs
in type_dependent_expression_p, when checking that the function type
isn't type-dependent because it is not in a type-dependent scope.

We shouldn't have got that far: the previous block in
type_dependent_expression_p catches cases in which the function itself
takes template arguments of its own, but it only did so for primary
templates, not for partial specializations.  This patch fixes that.


for  gcc/cp/ChangeLog

	PR c++/87770
	* pt.c (instantiates_primary_template_p): New.
	(type_dependent_expression_p): Use it.

for  gcc/testsuite/ChangeLog

	PR c++/87770
	* g++.dg/pr87770.C: New.

From-SVN: r268529
2019-02-05 06:11:25 +00:00
GCC Administrator ca0107a731 Daily bump.
From-SVN: r268528
2019-02-05 00:16:30 +00:00
Harald Anlauf bc1efcb737 re PR fortran/89077 (ICE using * as len specifier for character parameter)
2019-02-04  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/89077
	* gfortran.dg/pr89077.f90: New test.

2019-02-04  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/89077
	* gfortran.dg/pr89077.f90: New test.

From-SVN: r268525
2019-02-04 20:44:22 +00:00
Alexander Monakov 0058a283e1 doc: showcase a "union of vectors" pattern (PR 88698)
PR c/88698
	* doc/extend.texi (Vector Extensions): Add an example of using vector
	types together with x86 intrinsics.

From-SVN: r268522
2019-02-04 18:00:41 +03:00
Martin Liska a693d9b3d6 Do not dereference NULL pointer in resolve_ref (PR fortran/89185).
2019-02-04  Martin Liska  <mliska@suse.cz>

	PR fortran/89185
	* resolve.c (resolve_ref): Remove breakout variable as
	we need to prevent prev = &(*prev)->next to happen
	with *prev == NULL.

From-SVN: r268521
2019-02-04 13:28:34 +00:00
Alan Modra 13157c1056 [RS6000] Fix potiential buffer overflow
* config/rs6000/rs6000.c (rs6000_indirect_call_template_1): Increase
	str[] size to 160, and comment.

From-SVN: r268520
2019-02-04 23:49:49 +10:30
Alan Modra d92ec61d23 [RS6000] Emit inline PLT when -mno-tls-markers
I restricted output of inline PLT sequences to when TLS marker relocs
were also available, which is obviously true when just considering
assembler support.  However, there is a -mno-tls-markers option to
disable emitting the marker relocs.  Currently that option also
disables inline PLT sequences, which is a bug (*).  This patch fixes
that problem.

*) To be honest, it was a deliberate bug.  I didn't want to have to
deal with inline PLT __tls_get_addr sequences lacking the marker
relocs in the linker, but it turns out the existing linker support for
old-style __tls_get_addr calls works reasonably well.

	* config/rs6000/rs6000.c (rs6000_indirect_call_template_1),
	(rs6000_pltseq_template): Guard output of TLS markers with
	TARGET_TLS_MARKERS.
	(rs6000_longcall_ref, rs6000_call_aix, rs6000_call_sysv),
	(rs6000_sibcall_sysv): Ignore TARGET_TLS_MARKERS when deciding
	to use inline PLT sequences.
	* config/rs6000/rs6000.md (pltseq_tocsave_<mode>),
	(pltseq_plt16_ha_<mode>, pltseq_plt16_lo_<mode>),
	(pltseq_mtctr_<mode>): Don't test TARGET_TLS_MARKERS in predicate.

From-SVN: r268519
2019-02-04 23:48:14 +10:30
Martin Liska 64cd238b35 Bail out when ipa_fn_summaries does not contain entry for callee (PR ipa/88985).
gcc/ChangeLog:

2019-01-24  Martin Liska  <mliska@suse.cz>

	PR ipa/88985
	* ipa-fnsummary.c (estimate_edge_devirt_benefit): Bail
	out when ipa_fn_summaries does not contain entry for callee.

gcc/testsuite/ChangeLog:

2019-01-24  Martin Liska  <mliska@suse.cz>

	PR ipa/88985
	* gcc.dg/ipa/pr88985.c: New test.

From-SVN: r268518
2019-02-04 12:26:14 +00:00
Martin Liska fcd698d713 Report error when -fpre-include can't be opened (PR fortran/88912).
2019-02-04  Martin Liska  <mliska@suse.cz>

	PR fortran/88912
	* scanner.c (load_file): Report error for -fpre-include
	file and do not ICE.

From-SVN: r268517
2019-02-04 12:20:59 +00:00
Martin Liska 1d546c6098 Bail out when ipa_fn_summaries does not contain entry for callee (PR ipa/88958).
2019-02-04  Martin Liska  <mliska@suse.cz>

	PR ipa/88958
	* ipa-fnsummary.c (estimate_edge_devirt_benefit): Bail
	out when ipa_fn_summaries does not contain entry for callee.
2019-02-04  Martin Liska  <mliska@suse.cz>

	PR ipa/88958
	* gcc.dg/ipa/pr88958.c: New test.

From-SVN: r268516
2019-02-04 12:19:48 +00:00
Eric Botcazou b41fe05e92 sparc.h: Remove superfluous blank lines.
* config/sparc/sparc.h: Remove superfluous blank lines.
	* config/sparc/sparc.c (global_offset_table_rtx): Rename into...
	(got_register_rtx): ...this.
	(sparc_got): Adjust to above renaming.
	(sparc_tls_got): Likewise.
	(sparc_delegitimize_address): Likewise.
	(sparc_output_mi_thunk): Likewise.
	(sparc_init_pic_reg): Likewise.
	(save_local_or_in_reg_p): Fix test on the GOT register.
	(USE_HIDDEN_LINKONCE): Move around.
	(get_pc_thunk_name): Likewise.
	(gen_load_pcrel_sym): Likewise.
	(load_got_register): Likewise.

From-SVN: r268514
2019-02-04 11:12:29 +00:00
Jakub Jelinek 0d390ca8ea inline5.c: Handle also @, ...
* gcc.dg/debug/dwarf2/inline5.c: Handle also @, ; or | comment
	characters or extra spaces after the comment character.

From-SVN: r268513
2019-02-04 11:00:53 +01:00
Kito Cheng 1c944e16f0 [NDS32] Change naming rule for dyanmic linker.
gcc/
	* config/nds32/linux.h (GLIBC_DYNAMIC_LINKER): Define the naming rule
	of the dynamic linker: "ld-linux-nds32[le|be][f].so.1".

From-SVN: r268512
2019-02-04 09:00:24 +00:00
Christophe Lyon f874089d31 contrib/dg-extract-results: Handle timeout warnings
2019-02-04  Christophe Lyon  <christophe.lyon@linaro.org>

	contrib/
	* dg-extract-results.py: Keep timeout warnings next to their
	matching test.
	* dg-extract-results.sh: Likewise.

From-SVN: r268511
2019-02-04 09:55:00 +01:00
Jakub Jelinek c8df72c446 * g++.dg/torture/alias-1.C: New test.
From-SVN: r268510
2019-02-04 09:52:18 +01:00
Chung-Ju Wu 4a7df25644 [NDS32] Restrict address mode, when symbol is TLS model.
gcc/
	* config/nds32/nds32.c (nds32_legitimate_address_p): Add TLS model
	into consideration.

From-SVN: r268509
2019-02-04 07:31:45 +00:00
Chung-Ju Wu dcd717d728 [NDS32] Remove all -mtlsdesc-trmpoline related things.
gcc/
	* config.gcc (with_nds32_lib, glibc):
	Remove TARGET_DEFAULT_TLSDESC_TRAMPOLINE=0 setting.
	* config/nds32/linux.h (TARGET_DEFAULT_TLSDESC_TRAMPOLINE): Delete.
	(NDS32_TLSDESC_TRAMPOLINE_SPEC): Delete.

From-SVN: r268508
2019-02-04 07:17:36 +00:00
GCC Administrator 64626f1bf1 Daily bump.
From-SVN: r268507
2019-02-04 00:16:28 +00:00
Martin Sebor 93fd0aad9c PR c/69661 - missing -Wsequence-point warning
gcc/testsuite.ChangeLog:
        * c-c++-common/Wsequence-point-2.c: New test.

From-SVN: r268504
2019-02-03 15:47:41 -07:00
Martin Sebor 0b841214a8 PR c++/44648 - missing -Wunused warning on a const variable in if statement
gcc/testsuite/ChangeLog:
	* g++.dg/warn/Wunused-var-35.C: New test.

From-SVN: r268503
2019-02-03 14:48:27 -07:00
Thomas Koenig 6090f91591 re PR fortran/67679 (-Wunitialized reports on compiler-generated variables)
2019-02-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/67679
	* trans-array.c (gfc_array_allocate):  For setting the bounds on
	the new array, add a condition for a not previously allocated
	variable.

2019-02-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/67679
	* gfortran.dg/warn_undefined_1.f90: New test.
	* gfortran.dg/coarray_lock_7.f90: Fix patterns in test.

From-SVN: r268502
2019-02-03 19:38:25 +00:00
Uros Bizjak d31fd1e8ab re PR target/89071 (AVX vcvtsd2ss lets us avoid PXOR dependency breaking for scalar float<->double and other scalar xmm,xmm instructions)
PR target/89071
	* config/i386/i386.md (*sqrt<mode>2_sse): Add (v,0) alternative.
	Do not prefer (v,v) alternative for non-AVX targets and (m,v)
	alternative for speed when TARGET_SSE_PARTIAL_REG_DEPENDENCY is set.
	(*rcpsf2_sse): Ditto.
	(*rsqrtsf2_sse): Ditto.
	(sse4_1_round<mode<2): Ditto.

From-SVN: r268496
2019-02-03 17:48:41 +01:00
Richard Biener c8eaf058ed re PR debug/87295 ([early debug] ICE with -ffat-lto-objects -fdebug-types-section -g)
2019-02-03  Richard Biener  <rguenther@suse.de>

	PR debug/87295
	* dwarf2out.c (copy_ancestor_tree): Register non-stubs as
	orig.

	* g++.dg/debug/dwarf2/pr87295.C: New testcase.

From-SVN: r268485
2019-02-03 10:53:01 +00:00
GCC Administrator 7d8b09996d Daily bump.
From-SVN: r268483
2019-02-03 00:16:12 +00:00
Dominique d'Humieres 1bdfc7aab0 re PR fortran/81344 (Can't disable -ffpe-trap (or not documented))
2019-02-02  Dominique d'Humieres  <dominiq@gcc.gnu.org>

	PR fortran/81344
	* invoke.texi: Document the behavior of repeated -ffpe-trap
	and -ffpe-summary.

From-SVN: r268480
2019-02-02 22:44:34 +01:00
Thomas Koenig 5197d79937 re PR fortran/88298 (Bogus conversion warning for CSHIFT with -fno-range-check -m64)
2019-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/88298
	* arith.c (gfc_int2int): Do not warn if src->do_not_warn is set.
	* gfortran.h (gfc_expr): Add flag do_not_warn.
	* intrinsic.c (gfc_convert_type_warn): Set expr->do_not_warn if
	no warning is desired.

2019-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/88298
	* gfortran.dg/warn_conversion_10.f90: New test.

From-SVN: r268475
2019-02-02 16:21:43 +00:00
Paul Thomas a3df90b967 re PR fortran/88393 ([OOP] Segfault with type-bound assignment)
2019-02-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/88393
	* trans-expr.c (gfc_conv_procedure_call): For derived entities,
	passed in parentheses to class formals, invert the order of
	copying allocatable components to taking the _data of the
	class expression.

2019-02-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/88393
	* gfortran.dg/alloc_comp_assign_16.f03 : New test.

From-SVN: r268474
2019-02-02 09:23:30 +00:00
Paul Thomas da46c08e8b re PR fortran/88980 (segfault on allocatable string member assignment)
2019-02-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/88980
	* trans-array.c (gfc_array_init_size): Add element_size to the
	arguments.
	(gfc_array_allocate): Remove the recalculation of the size of
	the element and use element_size from the call to the above.
	Unconditionally set the span field of the descriptor.

2019-02-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/88980
	* gfortran.dg/realloc_on_assign_32.f90 : New test.

From-SVN: r268473
2019-02-02 09:16:44 +00:00
Paul Thomas 6bb45a6b52 re PR fortran/88685 (pointer class array argument indexing)
2019-02-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/88685
	* expr.c (is_subref_array): Move the check for class pointer
	dummy arrays to after the reference check. If we haven't seen
	an array reference other than an element and a component is not
	class or derived, return false.

2019-02-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/88685
	* gfortran.dg/pointer_array_component_3.f90 : New test.

From-SVN: r268472
2019-02-02 09:10:58 +00:00
Jason Merrill 01826160a3 PR c++/88761 - ICE with reference capture of constant.
Here, we capture nf, then the use of the proxy decays to a constant during
semantic processing of +nf.  Since we saw some decay from proxy to constant,
we walk through the lambda body to see which proxies are still used, but we
weren't walking into subtrees of DECL_EXPR at all, so we missed the use of
&nf in the initializer of y, and removed the capture.  But then at
instantiation time we try to use nf, don't have a proxy anymore, and ICE.

	* lambda.c (mark_const_cap_r): Do walk subtrees of DECL_EXPR for
	non-proxy decls.

From-SVN: r268471
2019-02-01 23:21:06 -05:00
Jason Merrill fde81c6f70 * nsdmi-template14.C: Expect error for last example.
From-SVN: r268470
2019-02-01 23:19:00 -05:00
GCC Administrator 432335c980 Daily bump.
From-SVN: r268469
2019-02-02 00:16:12 +00:00
Jakub Jelinek dbe138906d re PR middle-end/87887 (ICE in make_ssa_name_fn, at tree-ssanames.c:269)
PR middle-end/87887
	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
	Punt with warning on aggregate return or argument types.  Ignore
	type/mode checking for uniform arguments.

	* gcc.dg/gomp/pr87887-1.c: New test.
	* gcc.dg/gomp/pr87887-2.c: New test.

From-SVN: r268466
2019-02-02 01:04:39 +01:00
Ian Lance Taylor fc34dbfdb0 runtime: add hurd netpoll and semaphore support
Patch by Svante Signell.
    
    Reviewed-on: https://go-review.googlesource.com/c/160827

From-SVN: r268465
2019-02-01 23:57:08 +00:00
Joseph Myers 73353297f3 Regenerate .pot files.
gcc/po:
	* gcc.pot: Regenerate.

libcpp/po:
	* cpplib.pot: Regenerate.

From-SVN: r268464
2019-02-01 23:04:22 +00:00
Ian Lance Taylor cf5773c116 runtime: add getproccount for hurd
Patch by Svante Signell.
    
    Reviewed-on: https://go-review.googlesource.com/c/160825

From-SVN: r268463
2019-02-01 22:55:55 +00:00
Jakub Jelinek 30253e2356 re PR fortran/83246 (internal compiler error or loader problem might be related to a PARAMETER statement being in a BLOCK)
PR fortran/83246
	PR fortran/89084
	* trans-decl.c (generate_local_decl): Add referenced FL_PARAMETERs
	if sym->ns->construct_entities rather than if
	sym->ns->parent->code->op == EXEC_BLOCK.

	* gfortran.dg/pr89084.f90: New test.
	* gfortran.dg/lto/pr89084_0.f90: New test.
	* gfortran.dg/pr83246.f90: New test.

From-SVN: r268462
2019-02-01 23:54:05 +01:00
Ian Lance Taylor d9f0237f70 libgo: add configury and sysinfo support for hurd
Patch by Svante Signell.
    
    Reviewed-on: https://go-review.googlesource.com/c/160824

From-SVN: r268461
2019-02-01 22:46:39 +00:00
Ian Lance Taylor 59ea40d0f2 libgo: add hurd build tags to test files
Patch by Svante Signell.
    
    Reviewed-on: https://go-review.googlesource.com/c/160823

From-SVN: r268460
2019-02-01 22:11:50 +00:00
Ian Lance Taylor 27d6b51071 libgo: add hurd build tags
Patch by Svante Signell.
    
    Reviewed-on: https://go-review.googlesource.com/c/160822

From-SVN: r268459
2019-02-01 21:57:36 +00:00
Ian Lance Taylor b52a3881f0 runtime, sync: use __atomic intrinsics instead of __sync
GCC has supported the __atomic intrinsics since 4.7.  They are better
    than the __sync intrinsics in that they specify a memory model and,
    more importantly for our purposes, they are reliably implemented
    either in the compiler or in libatomic.
    
    Fixes https://gcc.gnu.org/PR52084
    
    Reviewed-on: https://go-review.googlesource.com/c/160820

From-SVN: r268458
2019-02-01 21:55:38 +00:00
Marek Polacek a53a893b4f PR c++/88325 - ICE with invalid out-of-line template member definition.
* parser.c (cp_parser_class_name): Don't call make_typename_type
	for overloads.

	* g++.dg/cpp2a/typename14.C: New test.

From-SVN: r268455
2019-02-01 19:58:44 +00:00
Segher Boessenkool e71ac16355 combine: Use TDF_DETAILS for "can't combine" dump prints
Some people use the -fdump-rtl-combine dumps (instead of the -da or
-fdump-rtl-combine-all dump), but the "Can't combine iN into iM"
messages do not make any sense if the failed combine attempts are not
printed otherwise.  So let's change that.


	* combine.c (try_combine): Do not print "Can't combine" messages unless
	printing failed combination attempts.

From-SVN: r268453
2019-02-01 17:26:48 +01:00
Martin Jambor 09e3944e2b [PR hsa/87863] Set assembler name of group and global variables early
2019-02-01  Martin Jambor  <mjambor@suse.cz>

	PR hsa/87863
	* omp-grid.c (grid_mark_variable_segment): Set assembler name of group
	segment and global segment variables before making them static.

From-SVN: r268452
2019-02-01 17:22:13 +01:00
Martin Jambor b2a8d77a99 Add two missing dump_enabled_p calls
2019-02-01  Martin Jambor  <mjambor@suse.cz>

	* omp-grid.c (grid_target_follows_gridifiable_pattern): Guard two
	missed optimization dump with dump_enabled_p.

From-SVN: r268451
2019-02-01 17:15:36 +01:00
Ian Lance Taylor 284c00e210 compiler: support alias to pointer type as receiver in method declaration
Fixes golang/go#27994.
    
    Reviewed-on: https://go-review.googlesource.com/c/160459

From-SVN: r268450
2019-02-01 15:00:46 +00:00
Richard Biener 577d65881e re PR tree-optimization/88597 (Compile time hog w/ -O1 -fpeel-loops)
2019-02-01  Richard Biener  <rguenther@suse.de>

	PR middle-end/88597
	* tree-scalar-evolution.c (analyze_scalar_evolution): Set up
	the instantiate cache.
	(instantiate_scev_binary): Elide second operand procesing
	if equal to the first.
	* tree-chrec.c (chrec_contains_symbols): Add visited set.
	(chrec_contains_undetermined): Likewise.
	(tree_contains_chrecs): Likewise.

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

From-SVN: r268449
2019-02-01 13:41:43 +00:00
Jan Hubicka 61a8637c88 * parms.def (MAX_INLINE_INSNS_SINGLE): Reduce from 400 to 200.
From-SVN: r268448
2019-02-01 10:46:36 +00:00
Richard Biener 3c54b7d606 re PR tree-optimization/85497 ([graphite] ICE in set_codegen_error, at graphite-isl-ast-to-gimple.c:206)
2019-02-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/85497
	* gcc.dg/graphite/pr85497.c: New testcase.

From-SVN: r268447
2019-02-01 09:17:14 +00:00
Richard Biener ff9d5a2a4a re PR debug/87451 (FAIL: gcc.dg/debug/dwarf2/inline5.c)
2019-02-01  Richard Biener  <rguenther@suse.de>

	PR testsuite/87451
	* gcc.dg/debug/dwarf2/inline5.c: Allow more comment variants.

From-SVN: r268446
2019-02-01 09:08:55 +00:00