Jason Merrill
a2dfb56374
re PR libstdc++/67114 ([MinGW64] build failure with POSIX threads enabled)
...
PR c++/67114
* call.c (joust): Only call more_constrained on decls.
From-SVN: r226736
2015-08-08 18:01:12 -04:00
Francois-Xavier Coudert
aab2b07154
re PR fortran/67059 (gfortran --version output is inconsistent with the rest of GCC)
...
PR fortran/67059
* gfortranspec.c (lang_specific_driver): Adjust --version output.
From-SVN: r226734
2015-08-08 19:59:16 +00:00
Ville Voutilainen
f334456903
Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118) and N4366 LWG 2228...
...
2015-08-08 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118)
and N4366 LWG 2228: Missing SFINAE rule in unique_ptr
templated assignment
* include/bits/unique_ptr.h
(__remove_cv, __is_derived_Tp): Remove.
(default_delete::default_delete(const default_delete<_Up[]>)):
Constrain with array convertibility.
(default_delete::operator(_Up*)): Turn into a template,
constrain with array convertibility.
(__safe_conversion_up): New, single object version.
(unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter
convertibility.
(unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
is_assignable as a constraint.
(__safe_conversion_up): Array version, renamed from __safe_conversion,
updated to implement N4089.
(__safe_conversion_raw): New.
(unique_ptr(_Up)): Turn into a template, constrain with array
convertibility.
(unique_ptr(_Up,
typename conditional<is_reference<deleter_type>::value,
deleter_type, const deleter_type&>::type)): Likewise.
(unique_ptr(_Up, typename
remove_reference<deleter_type>::type&&)): Likewise.
(unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise.
(operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
is_assignable as a constraint (array version).
(reset(_Up)): Turn into a template, constrain with array
convertibility.
(reset(nullptr_t)): New.
* testsuite/20_util/default_delete/48631_neg.cc: Adjust.
* testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
* testsuite/20_util/unique_ptr/dr2228.cc: New.
* testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust.
From-SVN: r226733
2015-08-08 14:07:34 +03:00
Bud Davis
0d251765be
When undoing symbols, also restore common block lists
...
gcc/fortran/
2015-08-08 Bud Davis <jmdavis@link.com>
Mikael Morin <mikael@gcc.gnu.org>
PR fortran/59746
* symbol.c (gfc_restore_last_undo_checkpoint): Delete a common block
symbol if it was put in the list.
gcc/testsuite/
2015-08-08 Bud Davis <jmdavis@link.com>
PR fortran/59746
* gfortran.dg/common_22.f90: New.
Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>
From-SVN: r226732
2015-08-08 10:40:06 +00:00
Segher Boessenkool
1aeec6dc1f
re PR rtl-optimization/67028 (combine bug. Different assumptions about subreg in different places.)
...
PR rtl-optimization/67028
* combine.c (simplify_comparison): Fix comment. Rearrange code.
Add test to see if a const_int fits in the new mode.
gcc/testsuite/
PR rtl-optimization/67028
* gcc.dg/pr67028.c: New testcase.
From-SVN: r226731
2015-08-08 03:51:27 +02:00
DJ Delorie
0fa95f4ead
* config/rx/rx.c (rx_mode_dependent_address_p): Remove unneeded asserts.
...
From-SVN: r226730
2015-08-07 21:09:20 -04:00
GCC Administrator
645ea9e86d
Daily bump.
...
From-SVN: r226729
2015-08-08 00:16:11 +00:00
Francois-Xavier Coudert
c2cc83bc88
re PR libfortran/66458 (Loading libgfortran.so changes the FPU exception flags)
...
PR libfortran/66458
* runtime/main.c (init): Only call set_fpu() if requested by user.
From-SVN: r226725
2015-08-07 16:23:53 +00:00
H.J. Lu
8f3f5ac089
Add alternative_mask to ira_implicitly_set_insn_hard_regs
...
Since ira_implicitly_set_insn_hard_regs may be called outside of
ira-lives.c, it can't use the local variable, preferred_alternatives.
This patch adds an alternative_mask argument to
ira_implicitly_set_insn_hard_regs.
gcc/
PR rtl-optimization/67029
* ira-color.c: Include "recog.h" before including "ira-int.h".
* target-globals.c: Likewise.
* ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an
adds an alternative_mask argument and use it instead of
preferred_alternatives.
* ira.h (ira_implicitly_set_insn_hard_regs): Moved to ...
* ira-int.h (ira_implicitly_set_insn_hard_regs): Here.
* sched-deps.c: Include "ira-int.h" after including "ira.h".
(sched_analyze_insn): Update call to
ira_implicitly_set_insn_hard_regs.
* sel-sched.c: Include "ira-int.h" after including "ira.h".
(implicit_clobber_conflict_p): Update call to
ira_implicitly_set_insn_hard_regs.
gcc/testsuite/
PR rtl-optimization/67029
* gcc.dg/pr67029.c: New test.
From-SVN: r226724
2015-08-07 09:18:09 -07:00
Francois-Xavier Coudert
0e360db970
re PR fortran/64104 ([F2003][IEEE] Allow IEEE functions in specification expressions)
...
PR fortran/64104
* expr.c (gfc_check_init_expr): Allow some IEEE functions in
constant expressions.
(external_spec_function): Allow some IEEE functions in specification
expressions.
* simplify.c (gfc_simplify_ieee_selected_real_kind): Remove.
(simplify_ieee_selected_real_kind, simplify_ieee_support,
matches_ieee_function_name, gfc_simplify_ieee_functions): New
functions.
* gfortran.h (gfc_simplify_ieee_selected_real_kind): Remove
prototype.
(gfc_simplify_ieee_functions): Add prototype.
* gfortran.dg/ieee/ieee_8.f90: New test.
From-SVN: r226723
2015-08-07 15:02:15 +00:00
Jiong Wang
a044d2b1b6
[AArch64] Check branch types for noplt testcases
...
2015-08-07 Jiong Wang <jiong.wang@arm.com>
gcc/testsuite/
* gcc.target/aarch64/noplt_1.c: Check branch type instead of relocation
modifers.
* gcc.target/aarch64/noplt_2.c: Likewise.
* gcc.target/aarch64/noplt_3.c: Likewise.
From-SVN: r226721
2015-08-07 13:26:23 +00:00
Uros Bizjak
27f40df410
Makefile.in (.INTERMEDIATE): Add gpl.pod.
...
* Makefile.in (.INTERMEDIATE): Add gpl.pod.
From-SVN: r226720
2015-08-07 14:12:41 +02:00
Ian Lance Taylor
d0ceffe507
libgo/testsuite: don't call kill without args
...
If the timeout subshell has no child processes,
the "xargs | kill" will fail. Ensure there is
some input for kill before calling it.
Reviewed-on: https://go-review.googlesource.com/13295
From-SVN: r226719
2015-08-07 10:10:00 +00:00
Jason Merrill
82b110199a
ville
...
From-SVN: r226716
2015-08-07 04:41:33 -04:00
Kaz Kojima
fa0a20e309
sh.c (sh_recog_treg_set_expr): Return false during expand phase to avoid codegen differences with -g.
...
* config/sh/sh.c (sh_recog_treg_set_expr): Return false during
expand phase to avoid codegen differences with -g.
From-SVN: r226715
2015-08-07 08:11:45 +00:00
Uros Bizjak
41b122f335
texi2pod.pl: Escape braces in regexp involving @strong{...}.
...
* doc/texi2pod.pl: Escape braces in regexp involving @strong{...}.
From-SVN: r226714
2015-08-07 08:38:07 +02:00
Andrew Sutton
971e17ff87
Add C++ Concepts TS support.
...
gcc/c-family/
* c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
* c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
(D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
* c-opts.c (set_std_cxx1z): Set flag_concepts.
* c.opt (fconcepts): New.
gcc/cp/
* constraint.cc, logic.cc: New files.
* Make-lang.in (CXX_AND_OBJCXX_OBJS): Add constraint.o and logic.o.
(c++.tags): Also process .cc files.
* call.c (enum rejection_reason_code): Add rr_constraint_failure.
(print_z_candidate): Handle it.
(constraint_failure): New.
(add_function_candidate): Check constraints.
(build_new_function_call): Handle evaluating concepts.
(joust): Check more_constrained.
* class.c (add_method): Check equivalently_constrained.
(build_clone): Copy constraints.
(currently_open_class): Return tree.
(resolve_address_of_overloaded_function): Check constraints.
* constexpr.c (cxx_eval_constant_expression): Handle REQUIRES_EXPR.
(potential_constant_expression_1): Likewise.
* cp-objcp-common.c (cp_tree_size): Handle CONSTRAINT_INFO.
(cp_common_init_ts): Handle WILDCARD_DECL and REQUIRES_EXPR.
* cp-tree.def: Add CONSTRAINT_INFO, WILDCARD_DECL, REQUIRES_EXPR,
SIMPLE_REQ, TYPE_REQ, COMPOUND_REQ, NESTED_REQ, PRED_CONSTR,
EXPR_CONSTR, TYPE_CONSTR, ICONV_CONSTR, DEDUCT_CONSTR,
EXCEPT_CONSTR, PARM_CONSTR, CONJ_CONSTR, DISJ_CONSTR.
* cp-tree.h (struct tree_constraint_info, check_nonnull)
(check_constraint_info, CI_TEMPLATE_REQS, CI_DECLARATOR_REQS)
(CI_ASSOCIATED_CONSTRAINTS, CI_NORMALIZED_CONSTRAINTS)
(CI_ASSUMPTIONS, TEMPLATE_PARMS_CONSTRAINTS)
(TEMPLATE_PARM_CONSTRAINTS, COMPOUND_REQ_NOEXCEPT_P)
(PLACEHOLDER_TYPE_CONSTRAINTS, PRED_CONSTR_EXPR, EXPR_CONSTR_EXPR)
(TYPE_CONSTR_TYPE, ICONV_CONSTR_EXPR, ICONV_CONSTR_TYPE)
(DEDUCT_CONSTR_EXPR, DEDUCT_CONSTR_PATTERN)
(DEDUCT_CONSTR_PLACEHOLDER, EXCEPT_CONSTR_EXPR, PARM_CONSTR_PARMS)
(PARM_CONSTR_OPERAND, CONSTRAINT_VAR_P, CONSTRAINED_PARM_CONCEPT)
(CONSTRAINED_PARM_EXTRA_ARGS, CONSTRAINED_PARM_PROTOTYPE)
(DECL_DECLARED_CONCEPT_P, WILDCARD_PACK_P, struct cp_unevaluated)
(struct local_specialization_stack, enum auto_deduction_context)
(variable_concept_p, concept_template_p)
(struct deferring_access_check_sentinel): New.
(enum cp_tree_node_structure_enum): Add TS_CP_CONSTRAINT_INFO.
(union lang_tree_node): Add constraint_info field.
(struct lang_decl_base): Add concept_p flag.
(enum cp_decl_spec): Add ds_concept.
(struct cp_declarator): Add requires_clause.
* cxx-pretty-print.c (cxx_pretty_printer::primary_expression)
(cxx_pretty_printer::expression): Handle REQUIRES_EXPR,
TRAIT_EXPR, *_CONSTR.
(pp_cxx_parameter_declaration_clause): Accept a chain of
PARM_DECLs.
(cxx_pretty_printer::declarator): Print requires-clause.
(pp_cxx_template_declaration): Likewise.
(pp_cxx_trait_expression): Handle CPTK_IS_SAME_AS.
(pp_cxx_requires_clause, pp_cxx_requirement)
(pp_cxx_requirement_list, pp_cxx_requirement_body)
(pp_cxx_requires_expr, pp_cxx_simple_requirement)
(pp_cxx_type_requirement, pp_cxx_compound_requirement)
(pp_cxx_nested_requirement, pp_cxx_predicate_constraint)
(pp_cxx_expression_constraint, pp_cxx_type_constraint)
(pp_cxx_implicit_conversion_constraint)
(pp_cxx_argument_deduction_constraint)
(pp_cxx_exception_constraint, pp_cxx_parameterized_constraint)
(pp_cxx_conjunction, pp_cxx_disjunction, pp_cxx_constraint): New.
* cxx-pretty-print.h: Declare them.
* decl.c (decls_match): Compare constraints.
(duplicate_decls): Likewise. Remove constraints before freeing.
(cxx_init_decl_processing): Call init_constraint_processing.
(cp_finish_decl): Diagnose concept without initializer.
(grokfndecl, grokvardecl): Handle concepts and constraints.
(grokdeclarator): Handle concept, requires-clause.
(grokparms): No longer static.
(xref_tag_1): Check constraints.
(finish_function): Call check_function_concept.
(cp_tree_node_structure): Handle CONSTRAINT_INFO.
(check_concept_refinement, is_concept_var, check_concept_fn): New.
* decl2.c (check_classfn): Compare constraints.
(mark_used): Don't instantiate concepts.
* error.c (dump_template_decl): Print constraints.
(dump_function_decl): Likewise.
(dump_expr): Handle REQUIRES_EXPR, *_REQ, *_CONSTR.
* lex.c (init_reswords): Set D_CXX_CONCEPTS.
* method.c (implicitly_declare_fn): Copy constraints from
inherited ctor.
* parser.h (struct cp_parser): Add in_result_type_constraint_p and
prevent_constrained_type_specifiers fields.
* parser.c (make_call_declarator): Add requires_clause parm.
(cp_parser_new): Clear prevent_constrained_type_specifiers.
(cp_parser_primary_expression): Handle RID_IS_SAME_AS, RID_REQUIRES.
(cp_parser_postfix_expression): Set prevent_constrained_type_specifiers.
(cp_parser_trait_expr): Handle RID_IS_SAME_AS.
(cp_parser_declaration): Handle concept introduction.
(cp_parser_member_declaration): Likewise.
(cp_parser_template_parameter): Handle constrained parameter.
(cp_parser_type_parameter): Handle constraints.
(cp_parser_decl_specifier_seq): Handle RID_CONCEPT.
(cp_parser_template_id): Handle partial concept id.
(cp_parser_type_name): Add overload that takes typename_keyword_p.
Handle constrained parameter.
(cp_parser_nonclass_name): Handle concept names.
(cp_parser_alias_declaration): Handle constraints.
(cp_parser_late_return_type_opt): Also handle requires-clause.
(cp_parser_type_id_1): Handle deduction constraint.
(cp_parser_parameter_declaration): Handle constrained parameters.
(cp_parser_class_specifier_1): Handle constraints.
(cp_parser_template_declaration_after_parameters): Split out from
cp_parser_template_declaration_after_export.
(cp_parser_single_declaration): Handle constraints.
(synthesize_implicit_template_parm): Handle constraints.
(cp_parser_maybe_concept_name, cp_parser_maybe_partial_concept_id)
(cp_parser_introduction_list, get_id_declarator)
(get_unqualified_id, is_constrained_parameter)
(cp_parser_check_constrained_type_parm)
(cp_parser_constrained_type_template_parm)
(cp_parser_constrained_template_template_parm)
(constrained_non_type_template_parm, finish_constrained_parameter)
(declares_constrained_type_template_parameter)
(declares_constrained_template_template_parameter)
(check_type_concept, cp_parser_maybe_constrained_type_specifier)
(cp_parser_maybe_concept_name, cp_parser_maybe_partial_concept_id)
(cp_parser_requires_clause, cp_parser_requires_clause_opt)
(cp_parser_requires_expression)
(cp_parser_requirement_parameter_list, cp_parser_requirement_body)
(cp_parser_requirement_list, cp_parser_requirement)
(cp_parser_simple_requirement, cp_parser_type_requirement)
(cp_parser_compound_requirement, cp_parser_nested_requirement)
(cp_parser_template_introduction)
(cp_parser_explicit_template_declaration)
(get_concept_from_constraint): New.
* pt.c (local_specialization_stack): Implement.
(maybe_new_partial_specialization): New.
(maybe_process_partial_specialization): Use it.
(retrieve_local_specialization, register_local_specialization)
(template_parm_to_arg, build_template_decl, extract_fnparm_pack)
(tsubst_expr): No longer static.
(spec_hasher::equal): Compare constraints.
(determine_specialization): Handle constraints.
(check_explicit_specialization): Handle concepts.
(process_template_parm): Handle constraints.
(end_template_parm_list): Add overload taking no arguments.
(process_partial_specialization): Handle concepts and constraints.
Register partial specializations of variable templates.
(redeclare_class_template): Handle constraints.
(convert_template_argument): Handle WILDCARD_DECL. Check
is_compatible_template_arg.
(coerce_template_parameter_pack): Handle wildcard packs.
(coerce_template_parms): DR 1430 also applies to concepts. Add
overloads taking fewer parameters.
(lookup_template_class_1): Handle constraints.
(lookup_template_variable): Concepts are always bool.
(finish_template_variable): Handle concepts and constraints.
(tsubst_friend_class): Handle constraints.
(gen_elem_of_pack_expansion_instantiation): Handle constraints.
(tsubst_pack_expansion): Handle local parameters.
(tsubst_decl) [FUNCTION_DECL]: Handle constraints.
(tsubst) [TEMPLATE_TYPE_PARM]: Handle deduction constraints.
(tsubst_copy_and_build): Handle REQUIRES_EXPR.
(more_specialized_fn, more_specialized_partial_spec): Check constraints.
(more_specialized_inst): Split out from most_specialized_instantiation.
(most_specialized_partial_spec): Check constraints.
(instantiate_decl): Never instantiate a concept.
(value_dependent_expression_p): Handle REQUIRES_EXPR, TYPE_REQ,
variable concepts.
(type_dependent_expression_p): Handle WILDCARD_DECL, REQUIRES_EXPR.
(instantiation_dependent_r): Handle REQUIRES_EXPR and concepts.
(do_auto_deduction): Add overload taking tsubst flags and context enum.
Handle constraints.
(get_template_for_ordering, most_constrained_function)
(is_compatible_template_arg, convert_wildcard_argument)
(struct constr_entry, struct constr_hasher, decl_constraints)
(valid_constraints_p, get_constraints, set_constraints)
(remove_constraints, init_constraint_processing): New.
* ptree.c (cxx_print_xnode): Handle CONSTRAINT_INFO.
* search.c (lookup_member): Do lookup in the open partial
instantiation.
* semantics.c (finish_template_template_parm): Handle constraints.
(fixup_template_type): New.
(finish_template_type): Call it.
(trait_expr_value, finish_trait_expr): Handle CPTK_IS_SAME_AS.
* tree.c (cp_tree_equal): Handle local parameters, CONSTRAINT_INFO.
(cp_walk_subtrees): Handle REQUIRES_EXPR.
* typeck.c (cp_build_function_call_vec): Check constraints.
Co-Authored-By: Braden Obrzut <admin@maniacsvault.net>
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r226713
2015-08-07 01:44:49 -04:00
Yaakov Selkowitz
bf5372e7f0
Makefile.def (libiconv): Define bootstrap=true.
...
2015-08-06 Yaakov Selkowitz <yselkowi@redhat.com>
* Makefile.def (libiconv): Define bootstrap=true.
Mark pdf/html/info as missing.
(configure-gcc): Depend on all-libiconv.
(all-gcc): Ditto.
(configure-libcpp): Ditto.
(all-libcpp): Ditto.
(configure-intl): Ditto.
(all-intl): Ditto.
* Makefile.in: Regenerate.
intl/
* configure: Reflects renaming of configure.in to configure.ac
libcpp/
* configure: Regenerate.
gcc/
* configure.ac: Define LIBICONV_DEP with in-tree libiconv.
* configure: Regenerate.
From-SVN: r226712
2015-08-07 01:13:52 -04:00
GCC Administrator
8c49d0c419
Daily bump.
...
From-SVN: r226705
2015-08-07 00:16:11 +00:00
Mikael Morin
ed673c00bf
Move one condition out of gfc_trans_scalar_assign
...
* trans.h (gfc_trans_scalar_assign): Remove fourth argument.
* trans-expr.c (gfc_trans_scalar_assign): Merge fourth into sixth
argument.
(gfc_conv_subref_array_arg, gfc_trans_subarray_assign,
gfc_trans_subcomponent_assign, gfc_trans_assignment_1): Update callers.
* trans-array.c (gfc_conv_expr_descriptor): Ditto.
* trans-stmt.c (forall_make_variable_temp,
generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
gfc_trans_where_assign, gfc_trans_where_3): Ditto.
From-SVN: r226700
2015-08-06 20:47:36 +00:00
David Malcolm
0eb6f71c48
jit.dg/test-benchmark.c: add a summary of timings
...
gcc/testsuite/ChangeLog:
* jit.dg/test-benchmark.c (main): Record all elapsed times at each
optimization level, and print a summary at the end.
From-SVN: r226697
2015-08-06 19:05:52 +00:00
Francois-Xavier Coudert
00ebbcbc59
* runtime/compile_options.c (set_options): Fix typos.
...
From-SVN: r226686
2015-08-06 17:42:19 +00:00
Jason Merrill
1bcc5f29a7
re PR c++/66533 ([C++14] ICE: in dependent_type_p, at cp/pt.c:21073)
...
PR c++/66533
* parser.c (cp_parser_primary_expression): Don't skip to the end
of the statement if we're parsing tentatively.
From-SVN: r226684
2015-08-06 12:33:14 -04:00
Jiong Wang
b207454235
[AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt
...
The instruction sequences for preparing argument for TLS descriptor
runtime resolver and the later function call to resolver can actually be
hoisted out of the loop.
Currently we can't because we have exposed the hard register X0 as
destination of "set". While GCC's RTL data flow infrastructure will
skip or do very conservative assumption when hard register involved in
and thus some loop IV opportunities are missed.
This patch add another "tlsdesc_small_pseudo_<mode>" pattern, and avoid
expose x0 to gcc generic code.
Generally, we define a new register class FIXED_R0 which only contains register
0, so the instruction sequences generated from the new add pattern is the same
as tlsdesc_small_<mode>, while the operand 0 is wrapped as pseudo register that
RTL IV opt can handle it.
Ideally, we should allow operand 0 to be any pseudo register, but then
we can't model the override of x0 caused by the function call which is
hidded by the UNSPEC.
So here, we restricting operand 0 to be x0, the override of x0 can be
reflected to the gcc.
2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Jiong Wang <jiong.wang@arm.com>
gcc/
* config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
* config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
* config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
(aarch64_register_move_cost): Likewise.
(aarch64_load_symref_appropriately): Invoke the new added pattern if
possible.
* config/aarch64/constraints.md (Uc0): New constraint.
gcc/testsuite/
* gcc.target/aarch64/tlsdesc_hoist.c: New testcase.
From-SVN: r226683
2015-08-06 16:08:39 +00:00
Jiong Wang
201fa0b3a0
[AArch64] Tighten direct call pattern for sibcall to repair -fno-plt
...
2015-08-06 Jiong Wang <jiong.wang@arm.com>
gcc/
* config/aarch64/constraints.md (Usf): Add the test of
aarch64_is_noplt_call_p.
gcc/testsuite/
* gcc.target/aarch64/noplt_3.c: New testcase.
From-SVN: r226682
2015-08-06 16:02:16 +00:00
Jiong Wang
b60d63cbae
[AArch64] Tighten direct call pattern to repair -fno-plt
...
2015-08-06 Jiong Wang <jiong.wang@arm.com>
gcc/
* config/aarch64/aarch64-protos.h (aarch64_is_noplt_call_p): New declaration.
* config/aarch64/aarch64.c (aarch64_is_noplt_call_p): New function.
* config/aarch64/aarch64.md (call_value_symbol): Check noplt scenarios.
(call_symbol): Likewise.
gcc/testsuite/
* gcc.target/aarch64/noplt_1.c: New testcase.
* gcc.target/aarch64/noplt_2.c: Likewise.
From-SVN: r226681
2015-08-06 15:57:36 +00:00
Jason Merrill
c1153c1987
re PR c++/67130 (ICE: tree check: expected identifier_node, have template_decl in write_unqualified_id, at cp/mangle.c:1218)
...
PR c++/67130
PR c++/67131
PR c++/66260
* mangle.c (write_expression) [TEMPLATE_ID_EXPR]: Handle variable
templates.
* pt.c (tsubst_copy_and_build): Check for argument substitution
failure.
From-SVN: r226676
2015-08-06 10:26:18 -04:00
Venkataramanan Kumar
47486460a9
Vectorize mult expressions with power 2 constants via shift, for targets has no vector multiplication support.
...
2015-08-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
* tree-vect-patterns.c (vect_recog_mult_pattern): New function
for vectorizing multiplication patterns.
* tree-vectorizer.h: Adjust the number of patterns.
2015-08-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
* gcc.dg/vect/vect-mult-pattern-1.c: New test.
* gcc.dg/vect/vect-mult-pattern-2.c: New test.
From-SVN: r226675
2015-08-06 12:00:57 +00:00
Uros Bizjak
b0b0e68ca0
sse.md (*vec_concatv2df): Declare added alternatives as sselog type.
...
* config/i386/sse.md (*vec_concatv2df): Declare added
alternatives as sselog type.
From-SVN: r226674
2015-08-06 13:12:06 +02:00
Andreas Krebbel
7e5c374606
S/390: Fix dwarf reg size table for -m31 -mzarch.
...
gcc/ChangeLog:
* config/s390/s390.c (s390_dwarf_frame_reg_mode): Return Pmode for
all GPRs.
gcc/testsuite/ChangeLog:
* gcc.target/s390/dwarfregtable-1.c: New test.
* gcc.target/s390/dwarfregtable-2.c: New test.
* gcc.target/s390/dwarfregtable-3.c: New test.
From-SVN: r226673
2015-08-06 10:23:38 +00:00
Andreas Krebbel
c914ac45c7
S/390: Clobber VRs in __builtin_tbegin.
...
gcc/ChangeLog:
* config/s390/s390.c (s390_expand_tbegin): Expand either
tbegin_1_z13 or tbegin_1 depending on VX flag.
* config/s390/s390.md ("tbegin_1_z13"): New expander.
gcc/testsuite/ChangeLog:
* gcc.target/s390/htm-builtins-z13-1.c: New test.
From-SVN: r226672
2015-08-06 10:21:41 +00:00
Andreas Krebbel
17f262c539
S/390: Doc: Add documentation for -mhtm, -mvx, and -mzvector.
...
gcc/ChangeLog:
* config/s390/s390.opt: Clarify description for -mzvector
* doc/invoke.texi: Add documentation for -mhtm, -mvx, and
-mzvector.
From-SVN: r226671
2015-08-06 10:18:20 +00:00
Francois-Xavier Coudert
cfe25557ad
re PR fortran/64022 ([F2003][IEEE] ieee_support_flag does not handle kind=10 and kind=16 REAL variables)
...
PR fortran/64022
* gfortran.dg/ieee/large_2.f90: New test.
* gfortran.dg/ieee/large_3.F90: New test.
From-SVN: r226670
2015-08-06 09:22:30 +00:00
Richard Biener
a3fe41f5c9
gimple.h (gimple_call_set_fn): Access op member directly.
...
2015-08-06 Richard Biener <rguenther@suse.de>
* gimple.h (gimple_call_set_fn): Access op member directly.
(gimple_call_chain_ptr): Likewise.
(gimple_call_set_chain): Likewise.
(gimple_cond_lhs_ptr): Likewise.
(gimple_cond_set_lhs): Likewise.
(gimple_cond_rhs_ptr): Likewise.
(gimple_cond_set_rhs): Likewise.
(gimple_cond_true_label): Likewise.
(gimple_cond_set_true_label): Likewise.
(gimple_cond_set_false_label): Likewise.
(gimple_cond_false_label): Likewise.
(gimple_label_label): Likewise.
(gimple_label_set_label): Likewise.
(gimple_goto_set_dest): Likewise.
(gimple_asm_input_op): Likewise.
(gimple_asm_input_op_ptr): Likewise.
(gimple_asm_set_input_op): Likewise.
(gimple_asm_output_op): Likewise.
(gimple_asm_output_op_ptr): Likewise.
(gimple_asm_set_output_op): Likewise.
(gimple_asm_clobber_op): Likewise.
(gimple_asm_set_clobber_op): Likewise.
(gimple_asm_label_op): Likewise.
(gimple_asm_set_label_op): Likewise.
(gimple_switch_index): Likewise.
(gimple_switch_index_ptr): Likewise.
(gimple_return_retval_ptr): Likewise.
(gimple_return_retval): Likewise.
(gimple_return_set_retval): Likewise.
(gimple_switch_set_index): Likewise. Remove superfluous GIMPLE_CHECK.
(gimple_switch_label): Likewise.
(gimple_switch_set_label): Likewise.
From-SVN: r226669
2015-08-06 08:51:59 +00:00
Richard Biener
8861704d23
gimple-fold.c (gimple_fold_stmt_to_constant_1): Simplify bool comparison canonicalization and restrict to integers.
...
2015-08-06 Richard Biener <rguenther@suse.de>
* gimple-fold.c (gimple_fold_stmt_to_constant_1): Simplify
bool comparison canonicalization and restrict to integers.
From-SVN: r226668
2015-08-06 08:45:52 +00:00
Francois-Xavier Coudert
b168884abe
re PR fortran/64022 ([F2003][IEEE] ieee_support_flag does not handle kind=10 and kind=16 REAL variables)
...
PR fortran/64022
* gfortran.dg/ieee/large_1.f90: Adjust test.
From-SVN: r226665
2015-08-06 08:38:59 +00:00
Jason Merrill
f31d0b122f
pt.c (determine_specialization): Print candidates after 'no match' error.
...
* pt.c (determine_specialization): Print candidates after 'no
match' error.
From-SVN: r226653
2015-08-05 21:33:32 -04:00
Jason Merrill
a2b4cfaa89
decl.c (cp_finish_decl): Tidy.
...
* decl.c (cp_finish_decl): Tidy.
* typeck.c (finish_class_member_access_expr): Use
type_dependent_expression_p.
* semantics.c (finish_id_expression): Use
type_dependent_expression_p. Don't build_qualified_name for a
decl in non-dependent scope.
* pt.c (type_dependent_expression_p): A TEMPLATE_ID_EXPR of an
identifier is dependent. Remove variable_template_p check.
From-SVN: r226652
2015-08-05 21:33:27 -04:00
GCC Administrator
d8835b4d85
Daily bump.
...
From-SVN: r226651
2015-08-06 00:16:14 +00:00
Andrew MacLeod
2eff147015
coretypes.h (enum symbol_visibility): Relocate here.
...
2015-08-05 Andrew MacLeod <amacleod@redhat.com>
* coretypes.h (enum symbol_visibility): Relocate here.
* flag-types.h (enum symbol_visibility): Remove.
* tree-core.h (enum symbol_visibility): Remove.
From-SVN: r226648
2015-08-05 23:18:09 +00:00
Nikolai Bozhenov
e1ed1bca36
constexpr.cc: Remove redundant -save-temps option.
...
2015-08-05 Nikolai Bozhenov <n.bozhenov@samsung.com>
* testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Remove
redundant -save-temps option.
* testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise.
* testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise.
* testsuite/30_threads/future/cons/constexpr.cc: Likewise.
* testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.
From-SVN: r226647
2015-08-05 21:57:03 +01:00
Lynn Boger
f395ddf3c7
re PR go/66870 (split stack issues on ppc64le and ppc64)
...
2015-08-15 Lynn Boger <laboger@linux.vnet.ibm.com>
PR target/66870
* gcc/config/rs6000/rs6000.c (rs6000_emit_prologue): Check
for no_split_stack function attribute along with
flag_split_stack.
(rs6000_expand_split_stack_prologue): Likewise.
From-SVN: r226643
2015-08-05 13:07:16 -05:00
Jason Merrill
dc062b4986
re PR c++/66260 ([C++14] Failure to compile variable template with recursively defined partial specialization)
...
PR c++/66260
PR c++/66596
PR c++/66649
PR c++/66923
* pt.c (lookup_template_variable): Use NULL_TREE for type.
(instantiate_template_1): Also set DECL_TI_ARGS based on
the immediate parent.
(tsubst_copy_and_build) [TEMPLATE_ID_EXPR]: Handle variable templates.
(finish_template_variable): Add complain parm.
* cp-tree.h: Adjust.
From-SVN: r226642
2015-08-05 13:56:14 -04:00
Jason Merrill
85171e7877
re PR c++/65195 (Variable template cannot be used as a function)
...
PR c++/65195
PR c++/66619
* semantics.c (finish_id_expression): Call convert_from_reference
for variable template.
From-SVN: r226641
2015-08-05 13:51:29 -04:00
Manuel López-Ibáñez
76787f7009
re PR c/16351 (NULL dereference warnings)
...
gcc/ChangeLog:
2015-08-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
Jeff Law <law@redhat.com>
PR c/16351
* doc/invoke.texi (Wnull-dereference): New.
* tree-vrp.c (infer_value_range): Update call to infer_nonnull_range.
* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour):
Warn for potential NULL dereferences.
(find_explicit_erroneous_behaviour): Warn for NULL dereferences.
* ubsan.c (instrument_nonnull_arg): Call
infer_nonnull_range_by_attribute.
(instrument_nonnull_return): Likewise.
* common.opt (Wnull-dereference); New.
* gimple.c (infer_nonnull_range): Remove bool arguments.
(infer_nonnull_range_by_dereference): New.
(infer_nonnull_range_by_attribute): New.
* gimple.h: Update declarations.
gcc/testsuite/ChangeLog:
2015-08-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
Jeff Law <law@redhat.com>
PR c/16351
* gcc.dg/tree-ssa/isolate-2.c: Close comment.
* gcc.dg/tree-ssa/isolate-4.c: Likewise.
* gcc.dg/tree-ssa/wnull-dereference.c: New test.
* gcc.dg/tree-ssa/isolate-1.c: Test warnings with -Wnull-dereference.
* gcc.dg/tree-ssa/isolate-3.c: Likewise.
* gcc.dg/tree-ssa/isolate-5.c: Likewise.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r226640
2015-08-05 17:36:29 +00:00
Richard Sandiford
72a35f9354
gensupport.c (sequence_num): Replace with...
...
gcc/
* gensupport.c (sequence_num): Replace with...
(insn_sequence_num, split_sequence_num, peephole2_sequence_num):
...these new variables.
(init_rtx_reader_args_cb): Update accordingly.
(get_num_code_insns): Likewise.
(read_md_rtx): Rework to use a while loop and get_c_test.
Use the new counters. Remove redundant DEFINE_SUBST case.
* genoutput.c (gen_split): Delete.
(main): Don't call it.
From-SVN: r226635
2015-08-05 15:47:31 +00:00
Richard Sandiford
d1427a17a7
gensupport.h (get_c_test): Declare.
...
gcc/
* gensupport.h (get_c_test): Declare.
* gensupport.c (get_c_test): New function.
* genconditions.c (main): Use it.
* genrecog.c (validate_pattern): Likewise.
(match_pattern_1): Likewise. Remove c_test argument.
(match_pattern): Update accordingly and remove c_test argument.
(main): Update accordingly.
From-SVN: r226634
2015-08-05 15:46:02 +00:00
Richard Sandiford
ba0ee63dfe
gensupport.h (get_num_insn_codes): Declare.
...
gcc/
* gensupport.h (get_num_insn_codes): Declare.
* gensupport.c (get_num_insn_codes): New function.
* genattrtab.c (optimize_attrs): Rename max_insn_code to
num_insn_codes.
(main): Likewise. Use get_num_insn_codes.
* gencodes.c (main): Remove "last" and use get_num_insn_codes.
From-SVN: r226633
2015-08-05 15:44:23 +00:00
Richard Sandiford
dcc74ead1e
re PR middle-end/66311 (Problems with some integer(16) values)
...
gcc/
PR middle-end/66311
* wide-int.cc (wi::from_mpz): Make sure that absolute mpz value
is zero- rather than sign-extended.
gcc/testsuite/
2015-08-05 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR middle-end/66311
* gfortran.dg/pr66311.f90: New file.
From-SVN: r226632
2015-08-05 14:23:42 +00:00
Richard Sandiford
96b4d19305
target-insns.def (can_extend): Delete.
...
gcc/
* target-insns.def (can_extend): Delete.
From-SVN: r226631
2015-08-05 14:21:11 +00:00