Age | Commit message (Collapse) | Author | Files | Lines |
|
2013-03-18 Tobias Burnus <burnus@net-b.de>
* gfortran.h (gfc_option_t): Remove flag_whole_file.
* invoke.texi (-fno-whole-file): Remove.
* lang.opt (fwhole-file): Change to Ignore.
* options.c (gfc_init_options, gfc_post_options,
gfc_handle_option): Remove !flag_whole_file handling
* parse.c (resolve_all_program_units,
* translate_all_program_units,
gfc_parse_file): Ditto.
* resolve.c (resolve_global_procedure): Ditto.
* trans-decl.c (gfc_get_symbol_decl,
* gfc_get_extern_function_decl,
gfc_create_module_variable): Ditto.
* trans-types.c (gfc_get_derived_type): Ditto.
From-SVN: r196773
|
|
not folded or inlined)
2013-03-18 Richard Biener <rguenther@suse.de>
PR tree-optimization/3713
* tree-ssa-sccvn.c (visit_copy): Simplify. Always propagate
has_constants and expr.
(stmt_has_constants): Properly valueize SSA names when deciding
whether the stmt has constants.
* g++.dg/ipa/devirt-12.C: New testcase.
From-SVN: r196771
|
|
when there is nothing to do.
2013-03-18 Richard Biener <rguenther@suse.de>
* tree-ssa-loop-manip.c (find_uses_to_rename): Do not scan the
whole function when there is nothing to do.
* tree-ssa-loop.c (pass_vectorize): Remove TODO_update_ssa.
* tree-vectorizer.c (vectorize_loops): Update virtual and
loop-closed SSA once.
* tree-vect-loop.c (vect_transform_loop): Do not update SSA here.
From-SVN: r196770
|
|
(50k > ))
2013-03-18 Richard Biener <rguenther@suse.de>
PR middle-end/56113
* domwalk.c (bb_postorder): New global static.
(cmp_bb_postorder): New function.
(walk_dominator_tree): Replace scheme imposing an order for
visiting dominator sons by one sorting them at the time they
are pushed on the stack.
From-SVN: r196769
|
|
2013-03-18 Richard Biener <rguenther@suse.de>
PR tree-optimization/39326
* tree-ssa-loop-im.c (refs_independent_p): Exploit symmetry.
(struct mem_ref): Replace mem member with ao_ref typed member.
(MEM_ANALYZABLE): Adjust.
(memref_eq): Likewise.
(mem_ref_alloc): Likewise.
(gather_mem_refs_stmt): Likewise.
(mem_refs_may_alias_p): Use the ao_ref to query the alias oracle.
(execute_sm_if_changed_flag_set): Adjust.
(execute_sm): Likewise.
(ref_always_accessed_p): Likewise.
(refs_independent_p): Likewise.
(can_sm_ref_p): Likewise.
From-SVN: r196768
|
|
PR c/56566
* tree.c (tree_int_cst_min_precision): For integer_zerop (value)
return 1 even for !unsignedp.
* c-c++-common/pr56566.c: New test.
From-SVN: r196767
|
|
when defined outside of class)
PR c++/54359
PR c++/56639
* parser.c (cp_parser_direct_declarator): Bail if we see a
qualified-id not at namespace scope.
From-SVN: r196765
|
|
From-SVN: r196764
|
|
From-SVN: r196762
|
|
treated differently w.r.t. core issue #337)
PR c++/17232
PR c++/56642
* typeck2.c (abstract_virtuals_error_sfinae): Revert complete_type
change for now.
From-SVN: r196758
|
|
* config/i386/i386.md (isa): Add x64 and nox64.
(enabled): Define x64 for TARGET_64BIT and nox64 for !TARGET_64BIT.
(*pushtf): Enable *roF alternative for x64 isa only.
(*pushxf): Merge with *pushxf_nointeger. Use Yx*r constraint. Set
mode attribute of integer alternatives to DImode for TARGET_64BIT.
(*pushdf): Merge with *pushdf_rex64. Use x64 and nox64 isa attributes.
(*movtf_internal): Merge from *movtf_internal_rex64 and
*movtf_internal_sse. Use x64 and nox64 isa attributes.
(*movxf_internal): Merge with *movxf_internal_rex64. Use x64 and
nox64 isa attributes.
(*movdf_internal): Merge with *movdf_internal_rex64. Use x64 and
nox64 isa attributes.
* config/i386/constraints.md (Yd): Do not set for TARGET_64BIT.
From-SVN: r196757
|
|
* config/alpha/alpha.c (TARGET_LRA_P): New define.
From-SVN: r196756
|
|
PR target/56640
* config/arm/arm.h (REG_CLASS_NAMES): Add "SFP_REG" and "AFP_REG"
class names. Remove trailing comma after "ALL_REGS".
From-SVN: r196753
|
|
From-SVN: r196751
|
|
* cgraph.h (cgraph_get_create_real_symbol_node): Declare.
* cgraph.c (cgraph_get_create_real_symbol_node): New function.
* cgrpahbuild.c: Use cgraph_get_create_real_symbol_node instead
of cgraph_get_create_node.
* ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
From-SVN: r196750
|
|
* decl.c (grokdeclarator): Assert that we won't see a pointer to
METHOD_TYPE.
From-SVN: r196748
|
|
lambda is incorrectly const-qualified)
PR c++/54277
* cp-tree.h (WILDCARD_TYPE_P): Split out from...
(MAYBE_CLASS_TYPE_P): ...here.
* semantics.c (lambda_capture_field_type): Only build a
magic decltype for wildcard types.
(lambda_proxy_type): Likewise.
(finish_non_static_data_member): Get the quals from
the object.
From-SVN: r196747
|
|
not working)
PR c++/55931
* parser.c (cp_parser_template_argument): Don't
fold_non_dependent_expr.
From-SVN: r196746
|
|
* parser.c (cp_parser_lambda_declarator_opt): Use
cp_parser_trailing_type_id.
From-SVN: r196745
|
|
nested-name-specifier)
PR c++/45917
* parser.c (cp_parser_template_id): Don't forget access checks.
From-SVN: r196744
|
|
base member access in lambda expression)
PR c++/52374
* pt.c (tsubst_qualified_id): Use current_nonlambda_class_type.
From-SVN: r196743
|
|
be used in class with default template paramer)
PR c++/54764
PR c++/55972
* name-lookup.h (tag_scope): Add ts_lambda.
* semantics.c (begin_lambda_type): Use it.
* decl.c (xref_tag_1): Set CLASSTYPE_LAMBDA_EXPR.
* pt.c (check_default_tmpl_args): Ignore lambdas.
(push_template_decl_real): Handle lambdas.
* tree.c (no_linkage_check): Adjust lambda check.
From-SVN: r196742
|
|
PR c++/56039
* tree.c (strip_typedefs_expr): Complain about lambda, don't abort.
From-SVN: r196741
|
|
when defined outside of class)
PR c++/54359
* parser.c (cp_parser_direct_declarator): Fix late return
for out-of-class defn of member function.
From-SVN: r196740
|
|
variables in outer scope)
PR c++/55357
* semantics.c (maybe_add_lambda_conv_op): Clear DECL_NAME of copied
parms to avoid duplicate -Wshadow warnings.
From-SVN: r196739
|
|
From-SVN: r196738
|
|
PR c++/56481
* semantics.c (potential_constant_expression_1): Use of 'this' in
a non-constexpr function makes the expression not potentially
constant.
From-SVN: r196737
|
|
N3276
PR c++/52748
* cp-tree.h (tsubst_flags): Add tf_decltype.
* call.c (build_cxx_call): Don't build a temporary if it's set.
(build_over_call): Make sure it's only passed to build_cxx_call.
* parser.c (cp_parser_primary_expression): Add decltype_p parm.
(cp_parser_unary_expression): Likewise.
(cp_parser_cast_expression): Likewise.
(cp_parser_binary_expression): Likewise.
(cp_parser_assignment_expression): Likewise.
(cp_parser_postfix_expression): Likewise. Pass tf_decltype.
(cp_parser_explicit_instantiation): Add decltype_p. Force a
temporary for a call on the LHS of a comma.
(cp_parser_decltype): Pass true to decltype_p parms.
* pt.c (tsubst) [DECLTYPE_TYPE]: Pass tf_decltype.
(tsubst_copy_and_build): Pass tf_decltype down only for
CALL_EXPR and the RHS of COMPOUND_EXPR.
* tree.c (build_cplus_new): Call complete_type_or_maybe_complain.
From-SVN: r196736
|
|
* cp-tree.h (abstract_class_use): New enum.
* typeck2.c (pending_abstract_type): Add use field.
(abstract_virtuals_error_sfinae): Add overloads taking
abstract_class_use instead of tree.
* typeck.c (build_static_cast_1): Call it.
* except.c (is_admissible_throw_operand_or_catch_parameter): Call it.
* pt.c: Adjust calls.
* decl.c (cp_finish_decl): Don't handle functions specially.
(grokdeclarator): Always check return type.
* init.c (build_new_1): Adjust call.
From-SVN: r196735
|
|
DR 337
PR c++/17232
* pt.c (tsubst) [ARRAY_TYPE]: Use abstract_virtuals_error_sfinae.
* typeck2.c (abstract_virtuals_error_sfinae): Call complete_type.
From-SVN: r196734
|
|
DR 657
* pt.c (tsubst_function_type): Call abstract_virtuals_error_sfinae.
(tsubst_arg_types): Likewise.
From-SVN: r196733
|
|
DR 1518
PR c++/54835
* call.c (convert_like_real): Check for explicit constructors
even for value-initialization.
From-SVN: r196732
|
|
constexpr struct)
PR c++/54946
* pt.c (convert_nontype_argument): Handle invalid pointer.
From-SVN: r196731
|
|
From-SVN: r196730
|
|
PR c++/56447
PR c++/55532
* pt.c (instantiate_class_template_1): Instantiate lambda capture
list here.
(tsubst_copy_and_build): Not here.
From-SVN: r196729
|
|
constructor to be deleted, but still declared)
PR c++/55017
* method.c (walk_field_subobs): Disallow copy of rvalue ref.
From-SVN: r196728
|
|
'auto' variable from containing function)
PR c++/55240
* parser.c (parsing_nsdmi): New.
* semantics.c (outer_automatic_var_p): Check it.
(finish_id_expression): Likewise.
* cp-tree.h: Declare it.
From-SVN: r196727
|
|
PR c++/55241
* error.c (dump_expr) [SIZEOF_EXPR]: Print sizeof... properly.
From-SVN: r196726
|
|
* parser.c (lookup_literal_operator): Correct parm/arg naming
mixup.
From-SVN: r196725
|
|
qual_union_type, have template_type_parm in lookup_conversions, at cp/search.c:2515)
PR c++/56238
* pt.c (fold_non_dependent_expr_sfinae): Check
instantiation_dependent_expression_p.
From-SVN: r196724
|
|
PR debug/49090
* dwarf2out.c (gen_generic_params_dies): Indicate default arguments
with DW_AT_default_value.
From-SVN: r196723
|
|
PR c++/56095
* class.c (resolve_address_of_overloaded_function): Accept a
reference to function for target_type.
(instantiate_type): Likewise.
* pt.c (convert_nontype_argument): Pass it to
convert_nontype_argument_function.
From-SVN: r196722
|
|
From-SVN: r196721
|
|
From-SVN: r196705
|
|
PR c++/56607
* typeck.c (cp_build_binary_op): When calling warn_for_div_by_zero,
pass op1 through maybe_constant_value first.
* g++.dg/warn/Wdiv-by-zero-2.C: New test.
* c-c++-common/pr56607.c: New test.
From-SVN: r196704
|
|
evaluation)
/cp
2013-03-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56582
* semantics.c (cxx_eval_array_reference): Check for negative index.
/testsuite
2013-03-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56582
* g++.dg/cpp0x/constexpr-array5.C: New.
From-SVN: r196701
|
|
From-SVN: r196700
|
|
From-SVN: r196697
|
|
From-SVN: r196694
|
|
From-SVN: r196683
|