141847 Commits

Author SHA1 Message Date
David Malcolm
525ce91010 libcpp: Improvements to description of source_location in line-map.h
libcpp/ChangeLog:
	* include/line-map.h (source_location): In the table in the
	descriptive comment, show UNKNOWN_LOCATION, BUILTINS_LOCATION,
	LINE_MAP_MAX_LOCATION_WITH_COLS, LINE_MAP_MAX_SOURCE_LOCATION.
	Add notes about ad-hoc values.

From-SVN: r229673
2015-11-02 19:47:03 +00:00
Richard Sandiford
5c1a2e639a Move constant folds for maths functions to new file
The new routines operate on the built-in enum rather than on tree decls.
The idea is to extend this to handle internal functions too, with a
combined enum for both.

The patch also moves fold_fma too, with the same prototype.  The long-term
plan is to replace FMA_EXPR with an internal function, for consistency
with the way that things like SQRT will be handled.

Tested on x86_64-linux-gnu, arm-linux-gnueabi and aarch64-linux-gnu.

gcc/
	* builtins.h (fold_fma): Move to fold-const-call.h.
	* builtins.c: Include fold-const-call.h.
	(mathfn_built_in_2): New function, split out from...
	(mathfn_built_in_1): ...here.
	(do_real_to_int_conversion, fold_const_builtin_pow)
	(fold_const_builtin_logb, fold_const_builtin_significand)
	(fold_const_builtin_load_exponent, do_mpfr_arg1, do_mpfr_arg2)
	(do_mpfr_arg3, do_mpfr_sincos, do_mpfr_bessel_n, do_mpc_arg1): Delete.
	(fold_builtin_sincos): Use fold_const_call to handle constants.
	(fold_builtin_1, fold_builtin_2, fold_builtin_3): Add explicit
	checks for ERROR_MARK.  Use fold_const_call to handle constant
	folds for math functions.
	(fold_fma): Move to fold-const-call.c.
	* fold-const.c: Include fold-const-call.h.
	* Makefile.in (OBJS): Add fold-const-call.o.
	(PLUGIN_HEADERS): Add fold-const-call.h.
	* realmpfr.h (real_from_mpfr): Allow the format to be specified
	directly.
	* realmpfr.c (real_from_mpfr): Likewise.
	* fold-const-call.h, fold-const-call.c: New files.

From-SVN: r229669
2015-11-02 16:34:16 +00:00
Julian Brown
6aadd15a41 [ARM] neon-testgen.ml typo
* config/arm/neon-testgen.ml (emit_epilogue): Remove extraneous
	brackets and semicolon.

From-SVN: r229662
2015-11-02 12:43:14 +00:00
Alan Lawrence
35e2be9fc9 Revert: tree-scalar-evolution.c: Handle LSHIFT by constant
gcc/:

		tree-scalar-evolution.c (interpret_rhs_expr): Handle some
		LSHIFT_EXPRs as equivalent MULT_EXPRs.

	gcc/testsuite/:

		gcc.dg/vect/vect-strided-shift.c: New.

From-SVN: r229660
2015-11-02 12:39:31 +00:00
Kyrylo Tkachov
f4155d214e Move gcc.target/arm/pr67929_1.c test to execute.exp
PR target/67929
	* gcc.target/arm/pr67929_1.c: Move to...
	* gcc.c-torture/execute/pr67929_1.c: ... Here.
	Remove arm-specific directives.  Add noclone, noinline
	attributes.

From-SVN: r229657
2015-11-02 12:23:36 +00:00
Thomas Schwinge
f5ce5ca118 [PR middle-end/68166] Restore build with fold checking enabled
gcc/
	PR middle-end/68166
	* fold-const.c: Include "md5.h".

From-SVN: r229652
2015-11-02 08:42:04 +01:00
Jeff Law
f0e5161244 [PATCH] Avoid ssa-thread-11.c on various targets
* gcc.dg/tree-ssa/ssa-thread-11.c: Update target selector.

From-SVN: r229651
2015-11-01 22:59:19 -07:00
Jeff Law
4815336c9a [PATCH] Fix vms targets
* vmsdbgout.c: Revert unused header file reduction patch.

From-SVN: r229650
2015-11-01 22:27:14 -07:00
Jeff Law
0f8012fbdd * config/mcore/mcore.c: Include regs.h.
From-SVN: r229649
2015-11-01 22:23:52 -07:00
GCC Administrator
4f1617db75 Daily bump.
From-SVN: r229648
2015-11-02 00:16:12 +00:00
Ian Lance Taylor
1c47a3bfa3 mksysinfo.sh: Handle TIOCSPGRP if too complex for -fdump-go-spec.
Reviewed-on: https://go-review.googlesource.com/16534

From-SVN: r229645
2015-11-01 20:51:23 +00:00
Ian Lance Taylor
2e4e655cf3 re PR go/67968 (go1: internal compiler error: in write_specific_type_functions, at go/gofrontend/types.cc:1812)
PR go/67968
    compiler: Traverse types of call expressions.
    
    https://gcc.gnu.org/PR67968 provides a test case that causes a gccgo
    crash on valid code.  The compiler failed to build the hash and equality
    functions required for a type descriptor.  The descriptor is for an
    unnamed type that is being returned by a function imported from a
    different package.  The unnamed type is being implicitly converted to an
    interface type by a return statement.  The fix is to ensure that the
    type of a call expression is always traversed.
    
    Test case sent out for the master testsuite as
    https://golang.org/cl/16532 .

From-SVN: r229642
2015-11-01 20:46:04 +00:00
Uros Bizjak
2bbee501a3 pr67609-2.c: Include sse2-check.h.
* gcc.target/i386/pr67609-2.c: Include sse2-check.h.
	(sse2_test): Rename from main.  Do not return 0.

From-SVN: r229641
2015-11-01 21:22:14 +01:00
David Edelsohn
0cf9ec059e pr46756.f: Remove XFAIL for AIX.
* gfortran.dg/debug/pr46756.f: Remove XFAIL for AIX.
        * gfortran.dg/proc_ptr_39.f90: Require visibility.
        * gfortran.dg/read_dir.f90: XFAIL AIX.

From-SVN: r229640
2015-11-01 14:36:59 -05:00
GCC Administrator
34b4939d35 Daily bump.
From-SVN: r229639
2015-11-01 00:16:16 +00:00
Ian Lance Taylor
2b193803d7 runtime: If no split stacks, allocate stacks using mmap on 64-bit systems.
When not using split stacks, libgo allocate large stacks for each
    goroutine.  On a 64-bit system, libgo allocates a maximum of 128G for
    the Go heap, and allocates 4M for each stack.  When the stacks are
    allocated from the Go heap, the result is that a program can only create
    32K goroutines, which is not enough for an active Go server.  This patch
    changes libgo to allocate the stacks using mmap directly, rather than
    allocating them out of the Go heap.  This change is only done for 64-bit
    systems when not using split stacks.  When using split stacks, the
    stacks are allocated using mmap directly anyhow.  On a 32-bit system,
    there is no maximum size for the Go heap, or, rather, the maximum size
    is the available address space anyhow.
    
    Reviewed-on: https://go-review.googlesource.com/16531

From-SVN: r229636
2015-10-31 23:48:19 +00:00
Ian Lance Taylor
da235df878 Makefile.am (go_cmd_go_files): Update to Go 1.5.1 library by adding alldocs.go, doc.go, note.go.
* Makefile.am (go_cmd_go_files): Update to Go 1.5.1 library by
	adding alldocs.go, doc.go, note.go.
	* Makefile.in: Rebuild.

From-SVN: r229635
2015-10-31 21:29:38 +00:00
Segher Boessenkool
ee5c0d8af9 rs6000: Rewrite rs6000_reg_live_or_pic_offset_p
This function is quite a puzzle; untangle it.  No functional change.


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

	* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Rewrite.

From-SVN: r229634
2015-10-31 20:50:09 +01:00
Segher Boessenkool
f44c1eb7e1 rs6000: Another PIC LRA fix
This one for TARGET_TOC && TARGET_MINIMAL_TOC.  Without it, r30 is not
saved in the prologue for functions that do not use r30, but the register
is set later in the prologue anyhow.  This made all java tests fail.


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

	* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Use the
	same condition for testing whether RS6000_PIC_OFFSET_TABLE_REGNUM is
	live as for using it elsewhere, for TARGET_MINIMAL_TOC.

From-SVN: r229633
2015-10-31 20:48:19 +01:00
Ville Voutilainen
ffea5536df Remove support for N3994, terse range-for, which was not adopted.
/cp
2015-10-31  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Remove the implementation of N3994, terse range-for loops.
	* parser.c (cp_parser_for_init_statement): Remove the parsing
	of a terse range-for.

/testsuite
2015-10-31  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Remove the implementation of N3994, terse range-for loops.
	* g++.dg/cpp1z/range-for1.C: Remove.

From-SVN: r229632
2015-10-31 21:42:01 +02:00
Cesar Philippidis
d057afcdca re PR bootstrap/68168 (r229609 breaks bootstrap)
PR Bootstrap/68168

	gcc/fortran/
	* openmp.c (resolve_omp_clauses): Pass &n->where when calling
	gfc_error.

From-SVN: r229631
2015-10-31 10:55:03 -07:00
Eric Botcazou
64c7c0953f * gnat.dg/discr45.adb: New test.
From-SVN: r229630
2015-10-31 17:13:32 +00:00
Jason Merrill
4fea442db7 Implement multiple 'auto' feature from Concepts TS.
* parser.c (cp_parser_type_id_1): Allow 'auto' if -fconcepts.
	(cp_parser_template_type_arg): Likewise.
	(get_concept_from_constraint): Split out most logic to...
	* constraint.cc (placeholder_extract_concept_and_args): ...here.
	(equivalent_placeholder_constraints, hash_placeholder_constraint): New.
	* cxx-pretty-print.c (pp_cxx_constrained_type_spec): New.
	* cxx-pretty-print.h: Declare it.
	* error.c (dump_type) [TEMPLATE_TYPE_PARM]: Call it.
	* pt.c (is_auto_r, extract_autos_r, extract_autos, auto_hash): New.
	(type_uses_auto): Use is_auto_r.
	(do_auto_deduction): Handle multiple 'auto's if -fconcepts.
	* typeck.c (structural_comptypes) [TEMPLATE_TYPE_PARM]: Compare
	constraints.

From-SVN: r229629
2015-10-31 12:20:05 -04:00
Jason Merrill
a459b07fa4 Streamline for_each_template_parm.
* pt.c (for_each_template_parm_r): Use WALK_SUBTREE.
	Return a meaningful value rather than error_mark_node.
	(for_each_template_parm): Return a tree.
	(uses_template_parms_level): Return bool.
	* cp-tree.h: Adjust.

From-SVN: r229628
2015-10-31 12:19:55 -04:00
Jason Merrill
09833a1db1 Improve deduction failure diagnostics.
* pt.c (unify): Don't diagnose no common base if we already have
	the same template.
	(do_auto_deduction): Explain deduction failure.

From-SVN: r229627
2015-10-31 12:19:50 -04:00
Jason Merrill
79d9b2dea2 pt.c (hash_tmpl_and_args): Use iterative_hash_object on template uid.
* pt.c (hash_tmpl_and_args): Use iterative_hash_object on template
	uid.

From-SVN: r229626
2015-10-31 12:19:44 -04:00
Jason Merrill
dfded2f6b4 Make some functions static.
* parser.c (synthesize_implicit_template_parm)
	(finish_fully_implicit_template): Make static.

From-SVN: r229625
2015-10-31 12:19:38 -04:00
Ian Lance Taylor
b9702967ee libgo: Update from Go 1.5 to Go 1.5.1.
Reviewed-on: https://go-review.googlesource.com/16527

From-SVN: r229624
2015-10-31 15:23:52 +00:00
Markus Trippelsdorf
67376cd2a5 ggc-common.c : Restore needed header for checking=release.
*ggc-common.c : Restore needed header for checking=release.

From-SVN: r229623
2015-10-31 10:57:33 +00:00
Tom de Vries
6664e41e59 Tune pointer-plus folding
2015-10-31  Tom de Vries  <tom@codesourcery.com>

	* fold-const.c (fold_unary_loc): Tune POINTER_PLUS_EXPR folding.

	* gfortran.dg/assumed_type_2.f90: Update test.
	* gfortran.dg/no_arg_check_2.f90: Same.

From-SVN: r229621
2015-10-31 09:33:25 +00:00
Tom de Vries
82d2c2706f Don't expect existing varinfo for arguments in intra_create_variable_infos
2015-10-31  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-structalias.c (intra_create_variable_infos): Don't expect
	existing varinfo for arguments.

From-SVN: r229620
2015-10-31 08:08:48 +00:00
Tom de Vries
d0c9ca4461 Add initial constraints in create_function_info_for
2015-10-31  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-structalias.c (ipa_pta_execute): Add extra arg to call to
	create_function_info_for.  Dump constraints generated during
	create_function_info_for. Move intra_create_variable_infos call and
	function-return-values-escape bit to ...
	(create_function_info_for): ... here, and merge
	intra_create_variable_infos call with argument loop.  Add and handle
	nonlocal_p parameter.

From-SVN: r229619
2015-10-31 08:08:39 +00:00
Tom de Vries
2ce4413c7f Improve readability and structure of create_function_info_for
2015-10-31  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-structalias.c (create_function_info_for): Make sure prev_vi
	updating is alap, and seperated from preceding code.  Make sure
	insert_vi_for_tree is seperated from surrounding code.

From-SVN: r229618
2015-10-31 08:08:28 +00:00
Tom de Vries
a543155b20 Use make_copy_constraint in ipa_pta_execute
2015-10-31  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-structalias.c (ipa_pta_execute): Use make_copy_constraint.

From-SVN: r229617
2015-10-31 08:08:18 +00:00
Ian Lance Taylor
af146490bb runtime: Remove now unnecessary pad field from ParFor.
It is not needed due to the removal of the ctx field.
    
    Reviewed-on: https://go-review.googlesource.com/16525

From-SVN: r229616
2015-10-31 00:59:47 +00:00
GCC Administrator
725e1be340 Daily bump.
From-SVN: r229615
2015-10-31 00:16:16 +00:00
Ian Lance Taylor
8af57ca269 compiler: Create pointer type for all types with methods.
Reviewed-on: https://go-review.googlesource.com/16522

From-SVN: r229612
2015-10-30 23:00:06 +00:00
Nathan Sidwell
27776f5530 * config-list.mk (nvptx-none): Add it.
From-SVN: r229611
2015-10-30 22:31:54 +00:00
Jeff Law
9251aec67d nvptx.h (HARD_REGNO_NREGS): Avoid warning on unused args.
* config/nvptx/nvptx.h (HARD_REGNO_NREGS): Avoid warning on unused
	args.
	(MOVE_MAX): Set to 8.

Co-Authored-By: Nathan Sidwell <nathan@acm.org>

From-SVN: r229610
2015-10-30 22:30:20 +00:00
Cesar Philippidis
2ac33bca8a gfortran.h (gfc_omp_namespace): Add locus where member.
gcc/fortran/
	* gfortran.h (gfc_omp_namespace): Add locus where member.
	* openmp.c (gfc_match_omp_variable_list): Set where for each list
	item found.
	(resolve_omp_clauses): Remove where argument and use the where
	gfc_omp_namespace member when reporting errors.
	(resolve_omp_do):  Update call to resolve_omp_clauses.
	(resolve_oacc_loop): Likewise.
	(gfc_resolve_oacc_directive): Likewise.
	(gfc_resolve_omp_directive): Likewise.
	(gfc_resolve_omp_declare_simd): Likewise.

	gcc/testsuite/
	* gfortran.dg/gomp/intentin1.f90: Adjust copyprivate warning.

From-SVN: r229609
2015-10-30 15:16:52 -07:00
Cesar Philippidis
2631d4eb87 cgraph.c: Include context.h for offloading.
gcc/
	* cgraph.c: Include context.h for offloading.
	* varpool.c: Include context.h and omp-low.h.

From-SVN: r229608
2015-10-30 15:15:17 -07:00
Anatoly Sokolov
d614335f77 Add contains_symbol_ref_p
From-SVN: r229607
2015-10-30 23:56:32 +03:00
Steven G. Kargl
a6906c8097 re PR fortran/46588 (ICE with assumed character length function)
2015-10-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/46588
	* gfortran.dg/pr46588.f90: New test.

From-SVN: r229606
2015-10-30 19:20:36 +00:00
Alan Lawrence
6a6360148a Share code from fold_array_ctor_reference with fold.
* gimple-fold.c (fold_array_ctor_reference): Move searching code to:
        * fold-const.c (get_array_ctor_element_at_index): New.
        (fold): Remove binary-search through CONSTRUCTOR, call previous.

        * fold-const.h (get_array_ctor_element_at_index): New.

From-SVN: r229605
2015-10-30 19:03:14 +00:00
Evgeny Stupachenko
3b1661a9b9 Makefile.in (OBJS): Add multiple_target.o.
2015-10-30  Evgeny Stupachenko  <evstupac@gmail.com>

gcc/
	* Makefile.in (OBJS): Add multiple_target.o.
	* attrib.c (make_attribute): Moved from config/i386/i386.c
	* config/i386/i386.c (make_attribute): Deleted.
	* multiple_target.c (create_dispatcher_calls): New.
	(get_attr_len): Ditto.
	(get_attr_str): Ditto.
	(separate_attrs): Ditto.
	(is_valid_asm_symbol): Ditto.
	(create_new_asm_name): Ditto.
	(create_target_clone): Ditto.
	(expand_target_clones): Ditto.
	(ipa_target_clone): Ditto.
	(ipa_dispatcher_calls): Ditto.
	* passes.def (pass_target_clone): Two new ipa passes.
	* tree-pass.h (make_pass_target_clone): Ditto.
	* doc/extend.texi (target_clones): New attribute description.
gcc/c-family/
	* c-common.c (handle_target_clones_attribute): New.
	(c_common_attribute_table): Add handle_target_clones_attribute.
	(handle_always_inline_attribute): Add check on target_clones attribute.
	(handle_target_attribute): Ditto.
gcc/testsuite/
	* gcc.dg/mvc1.c: New test for multiple targets cloning.
	* gcc.dg/mvc2.c: Ditto.
	* gcc.dg/mvc3.c: Ditto.
	* gcc.dg/mvc4.c: Ditto.
	* gcc.dg/mvc5.c: Ditto.
	* gcc.dg/mvc6.c: Ditto.
	* gcc.dg/mvc7.c: Ditto.
	* g++.dg/ext/mvc1.C: Ditto.
	* g++.dg/ext/mvc2.C: Ditto.
	* g++.dg/ext/mvc3.C: Ditto.
	* g++.dg/ext/mvc4.C: Ditto.

From-SVN: r229595
2015-10-30 18:17:43 +00:00
Steven G. Kargl
834e9dbb39 re PR fortran/51993 (Erroneous type component initialization leads to internal compiler error)
2015-10-15  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/51993
	* decl.c (gfc_set_constant_character_len): Convert gcc_assert into an
	if-statement causing an early return leads to valid error message.

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

	PR fortran/51993
	* gfortran.dg/pr51993.f90: New test.

From-SVN: r229594
2015-10-30 18:13:50 +00:00
Vladimir Makarov
99a04f4fc5 re PR rtl-optimization/68106 (c-c++-common/torture/builtin-arith-overflow-11.c FAILs with -flra-remat @ aarch64)
2015-10-30  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/68106
	* lra-remat.c (input_regno_present_p): Process hard regs
	explicitly present in machine description insns.
	(call_used_input_regno_present_p): Ditto.
	(calculate_gen_cands): Ditto.
	(do_remat): Ditto.

2015-10-30  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/68106
	* gcc.target/aarch64/pr68106.c: New.

From-SVN: r229593
2015-10-30 17:45:16 +00:00
Steven G. Kargl
edcc76d5ae re PR fortran/36192 (ICE with wrong index types and bad parens)
2015-10-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/36192
	* interface.c (get_expr_storage_size):  Check for INTEGER type before
	calling gmp routines.

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

	PR fortran/36192
	* gfortran.dg/pr36192_1.f90: New test.

From-SVN: r229590
2015-10-30 16:46:20 +00:00
Steven G. Kargl
dc0f176a1c re PR fortran/68154 (ICE on initializing character parameter array (explicit, implied))
2015-10-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/68154
	* decl.c (add_init_expr_to_sym): if the char length in the typespec
	is NULL, check for and use a constructor. 

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

	PR fortran/68154
	*gfortran.dg/pr68154.f90

From-SVN: r229588
2015-10-30 16:26:59 +00:00
Jim Wilson
e3316e3caa Fix comment typo.
* config/arm/neon-testgen.ml: Fix comment typo.

From-SVN: r229587
2015-10-30 09:11:59 -07:00