Age | Commit message (Collapse) | Author | Files | Lines |
|
when using negative numbers)
PR c++/47504
* semantics.c (cxx_eval_constant_expression) [NOP_EXPR]: Don't let
the conversion set TREE_OVERFLOW.
From-SVN: r171116
|
|
gcc.c-torture/execute/complex-1.c)
PR debug/48163
* var-tracking.c (prepare_call_arguments): If CALL target
is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
pc instead of looking it up using cselib_lookup and use
Pmode for it if x has VOIDmode.
* dwarf2out.c (gen_subprogram_die): If also both first and
second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
From-SVN: r171114
|
|
gcc.c-torture/execute/complex-1.c)
PR debug/48163
* function.c (assign_parms): For data.passed_pointer parms
use MEM of data.entry_parm instead of data.entry_parm itself
as DECL_INCOMING_RTL.
* dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
also when passed and declared mode is the same, DECL_RTL
is a MEM with pseudo as address and DECL_INCOMING_RTL is
a MEM too.
From-SVN: r171113
|
|
from the TOC))
PR rtl-optimization/37273
* ira-costs.c (scan_one_insn): Detect constants living in memory and
handle them like argument loads from stack slots. Do not double
count memory for memory constants and argument loads from stack slots.
From-SVN: r171111
|
|
From-SVN: r171109
|
|
2011-03-17 H.J. Lu <hongjiu.lu@intel.com>
PR debug/48160
* var-tracking.c (prepare_call_arguments): Check SUBREG.
From-SVN: r171108
|
|
2011-03-17 H.J. Lu <hongjiu.lu@intel.com>
PR target/48171
* config/i386/i386.opt: Add Save to -mavx and -mfma.
From-SVN: r171107
|
|
expression is read-only.
* gcc-interface/decl.c (elaborate_expression_1): Try harder to find
out whether the expression is read-only. Short-circuit placeholder
case and rename a couple of local variables.
From-SVN: r171106
|
|
Core 1212
* semantics.c (finish_decltype_type): Return T&& for xvalue.
* typeck.c (unlowered_expr_type): Preserve cv-quals.
From-SVN: r171104
|
|
PR c++/48166
* decl.c (revert_static_member_fn): Strip function-cv-quals.
From-SVN: r171103
|
|
x86_64-apple-darwin10)
PR bootstrap/48153
* dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
if dwarf_strict.
(gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
Clear call_arg_locations and call_arg_loc_last always.
From-SVN: r171102
|
|
PR middle-end/48152
* var-tracking.c (prepare_call_arguments): If argument needs to be
passed by reference, adjust argtype and mode.
From-SVN: r171101
|
|
tree-ssa-alias.c:1085 with custom flags)
2011-03-17 Richard Guenther <rguenther@suse.de>
PR middle-end/48134
* tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
a value make sure to fold the statement.
* gcc.dg/pr48134.c: New testcase.
From-SVN: r171098
|
|
2011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
PR target/43872
* config/arm/arm.c (arm_get_frame_offsets): Adjust early
return condition with !cfun->calls_alloca.
From-SVN: r171096
|
|
2011-03-17 Richard Guenther <rguenther@suse.de>
PR bootstrap/48148
* lto-cgraph.c (input_overwrite_node): Clear the abstract
origin for decls in other ltrans units.
(input_varpool_node): Likewise.
From-SVN: r171094
|
|
2011-03-17 Richard Guenther <rguenther@suse.de>
PR middle-end/48165
* tree-object-size.c (compute_object_offset): Properly return
the offset operand of MEM_REFs as sizetype.
* g++.dg/torture/pr48165.C: New testcase.
From-SVN: r171092
|
|
* gcc-interface/gigi.h (smaller_form_type_p): Declare.
* gcc-interface/trans.c (smaller_form_type_p): Make global and move...
* gcc-interface/utils.c (smaller_form_type_p): ...to here.
(convert): Deal with conversions from a smaller form type specially.
From-SVN: r171091
|
|
PR rtl-optimization/48141
* params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
* dse.c: Include params.h.
(active_local_stores_len): New variable.
(add_wild_read, dse_step1): Clear it when setting active_local_stores
to NULL.
(record_store, check_mem_read_rtx): Decrease it when removing
from the chain.
(scan_insn): Likewise. Increase it when adding to chain, if it
reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
set active_local_stores to NULL before the addition.
* Makefile.in (dse.o): Depend on $(PARAMS_H).
From-SVN: r171090
|
|
PR rtl-optimization/48141
* dse.c (record_store): If no positions are needed in an insn
that cannot be deleted, at least unchain it from active_local_stores.
* gcc.dg/pr48141.c: New test.
From-SVN: r171089
|
|
PR c++/48089
* semantics.c (potential_constant_expression_1): Don't allow *this
in a constructor.
(register_constexpr_fundef): Use potential_rvalue_constant_expression.
From-SVN: r171086
|
|
-fabi-version=1 and constexpr)
PR c++/47301
* decl.c (compute_array_index_type): Don't bother trying to deal
with literal classes in ABI v1.
From-SVN: r171085
|
|
cp/semantics.c:5571)
PR c++/46336
* decl.c (duplicate_decls): Return NULL_TREE for clashing
C functions.
From-SVN: r171084
|
|
== and > is.)
PR c++/47570
* semantics.c (cxx_eval_constant_expression) [COMPOUND_EXPR]: Don't
use the generic binary expression handling.
From-SVN: r171083
|
|
From-SVN: r171082
|
|
From-SVN: r171077
|
|
From-SVN: r171076
|
|
* Make-lang.in (CXX_PARSER_H): New.
(cp/parser.o): Add dependency on CXX_PARSER_H.
Add dependency on tree-pretty-print.h
(cp/cp-lang.o): Add dependency on CXX_PARSER_H.
* cp-lang.c: Include parser.h.
* parser.c: Include parser.h.
(struct cp_token): Add bitfield purged_p.
Update all users.
Move to parser.h.
(CPP_PURGED): Remove. Update all users.
(struct cp_lexer): Change field buffer to be a VEC of cp_token.
Remove field buffer_length.
Update all users.
Move to parser.h.
(struct tree_check): Move to parser.h.
(cp_token_position): Likewise.
(struct cp_token_cache): Likewise.
(CPP_KEYWORD): Likewise.
(CPP_TEMPLATE_ID): Likewise.
(CPP_NESTED_NAME_SPECIFIER): Likewise.
(N_CP_TTYPES): Likewise.
(enum cp_parser_status_kind): Likewise.
(struct cp_parser_context): Likewise.
(struct cp_default_arg_entry_d): Likewise.
(struct cp_unparsed_functions_entry_d): Likewise.
(struct cp_parser): Likewise.
(cp_lexer_dump_tokens): New.
(cp_lexer_debug_tokens): New.
(cp_lexer_finished_p): New.
(cp_lexer_alloc): Factor out of cp_lexer_new_main.
(cp_lexer_new_main): Re-write main lexing loop to push
tokens into the new VEC buffer.
(cp_lexer_print_token): Improve printing of CPP_NUMBER tokens.
Do not abort if the token type is not recognized, just print
its code.
* parser.h: New file.
* config-lang.in (gtfiles): Add cp/parser.h.
From-SVN: r171075
|
|
naming typedef)
PR debug/47510
gcc/
PR debug/47510
* dwarf2out.c (strip_naming_typedef): Factorize out of ...
(lookup_type_die_strip_naming_typedef): ... here.
(get_context_die): Use it.
(gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
the anonymous struct named by the naming typedef.
gcc/testsuite/
PR debug/47510
* g++.dg/debug/dwarf2/typedef6.C: New test.
From-SVN: r171073
|
|
Core 1148
* typeck.c (check_return_expr): Fix conditions for setting
LOOKUP_PREFER_RVALUE.
From-SVN: r171071
|
|
From-SVN: r171070
|
|
2011-03-16 H.J. Lu <hongjiu.lu@intel.com>
PR target/48154
* config/i386/i386.c (ix86_builtin_vectorized_function): Check
TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
From-SVN: r171069
|
|
with -std=c++0x)
PR c++/48132
* decl.c (check_array_designated_initializer): Allow integer index.
(reshape_init_array_1): Set index on the elements.
From-SVN: r171068
|
|
PR c++/48113
* typeck.c (convert_for_initialization): Use
perform_implicit_conversion_flags.
* call.c (standard_conversion): If LOOKUP_PREFER_RVALUE, set
rvaluedness_matches_p on ck_rvalue.
(convert_like_real) [ck_rvalue]: And restore it here.
From-SVN: r171067
|
|
at cp/tree.c:2482)
PR c++/48115
* call.c (convert_arg_to_ellipsis): Handle incomplete type.
From-SVN: r171066
|
|
x86_64-apple-darwin10)
2011-03-16 Jack Howarth <howarth@bromo.med.uc.edu>
PR lto/48086
* configure.ac: Re-enable LTO on *-apple-darwin9.
* configure: Regenerate.
From-SVN: r171058
|
|
instead of AC_TRY_LINK)
PR libfortran/47883
* acinclude.m4: Don't use AC_TRY_ macros.
* configure.ac: Likewise.
* configure: Regenerate.
From-SVN: r171056
|
|
operands of conditional.
* tree-vrp.c (identify_jump_threads): Slightly simplify type
check for operands of conditional. Allow type to be a
pointer.
* gcc.dg/tree-ssa/vrp55.c: New test.
From-SVN: r171055
|
|
to this tentative parse.
* parser.c (cp_parser_abort_tentative_parse): Make sure we haven't
committed to this tentative parse.
From-SVN: r171054
|
|
template)
PR c++/47999
* semantics.c (finish_call_expr): Preserve reference semantics
in templates.
From-SVN: r171053
|
|
From-SVN: r171052
|
|
const.
2011-03-16 Richard Guenther <rguenther@suse.de>
* gcc.dg/guality/vla-1.c (main): Use result of f1 to avoid
optimizing it away if promoted to const.
From-SVN: r171050
|
|
2011-03-16 Benjamin Kosnik <bkoz@redhat.com>
* config/abi/pre/gnu.ver: Add base destructors for stdexcept classes.
* testsuite/19_diagnostics/stdexcept.cc: New.
From-SVN: r171049
|
|
2011-03-16 Richard Guenther <rguenther@suse.de>
PR tree-optimization/48149
* fold-const.c (fold_binary_loc): Fold
COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
* gcc.dg/fold-complex-1.c: New testcase.
From-SVN: r171048
|
|
2011-03-16 Richard Guenther <rguenther@suse.de>
PR testsuite/48147
* gcc.dg/guality/pr45882.c: Really make sure no inlining
or cloning happens.
From-SVN: r171047
|
|
REALPART_EXPR<complex_float_var>)
2011-03-16 Richard Guenther <rguenther@suse.de>
PR tree-optimization/26134
* tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
(non_rewritable_mem_ref_base): Handle complex type component
accesses, constrain offsets for vector and complex extracts
more properly.
* gcc.dg/tree-ssa/complex-6.c: New testcase.
From-SVN: r171046
|
|
has_zero_uses, at tree-flow-inline.h:342)
2011-03-16 Richard Guenther <rguenther@suse.de>
PR tree-optimization/48146
* tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
operands avoiding the need for renaming.
* gcc.dg/torture/pr48146.c: New testcase.
From-SVN: r171045
|
|
2011-03-16 Richard Guenther <rguenther@suse.de>
* gimple-fold.c (maybe_fold_reference): Open-code relevant
constant folding. Move MEM_REF canonicalization first.
Rely on fold_const_aggregate_ref for initializer folding.
* tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
* gcc.dg/tree-ssa/pr14814.c: Adjust.
* gcc.dg/tree-ssa/ssa-ccp-19.c: Likewise.
From-SVN: r171043
|
|
PR middle-end/48136
* fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
arg0/arg1 or their arguments are always fold converted to matching
types.
* gcc.c-torture/compile/pr48136.c: New test.
From-SVN: r171041
|
|
* var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
to nargs.
From-SVN: r171040
|
|
handles -plugin)
PR lto/46944
* configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
Handle in-tree gold.
(ld_vers): Extract binutils version for gold.
(gcc_cv_ld_hidden): Handle gold here.
(gcc_cv_lto_plugin): Determine level of linker plugin support.
* configure: Regenerate.
* config.in: Regenerate.
* gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
-fuse-linker-plugin otherwise.
(LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
(LINK_COMMAND_SPEC): Use it.
(main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
From-SVN: r171039
|