Richard Guenther [Fri, 1 Jul 2011 11:13:13 +0000 (11:13 +0000)]
re PR middle-end/49596 (FAIL: gcc.dg/torture/pr43879_1.c)
2011-07-01 Richard Guenther <rguenther@suse.de>
PR middle-end/49596
* cgraph.h (varpool_all_refs_explicit_p): Not analyzed nodes
may have unknown refs.
From-SVN: r175753
Kai Tietz [Fri, 1 Jul 2011 10:00:25 +0000 (12:00 +0200)]
tree-ssa-forwprop.c (simplify_bitwise_binary): Fix typo.
2011-07-01 Kai Tietz <ktietz@redhat.com>
* tree-ssa-forwprop.c (simplify_bitwise_binary): Fix typo.
2011-07-01 Kai Tietz <ktietz@redhat.com>
* gcc.dg/tree-ssa/bitwise-sink.c: New test.
From-SVN: r175752
Rainer Orth [Fri, 1 Jul 2011 09:25:29 +0000 (09:25 +0000)]
config.gcc: Obsolete alpha*-dec-osf5.1, mips-sgi-irix6.5.
* config.gcc: Obsolete alpha*-dec-osf5.1, mips-sgi-irix6.5.
* doc/install.texi (Specific, alpha*-dec-osf5.1): Document it.
(Specific, mips-sgi-irix6): Likewise.
From-SVN: r175751
Rainer Orth [Fri, 1 Jul 2011 08:59:20 +0000 (08:59 +0000)]
re PR libmudflap/49549 (Use of --noinhibit-exec is unportable)
libmudflap:
PR libmudflap/49549
* testsuite/lib/libmudflap.exp (load_gcc_lib): Load
target-supports.exp.
* testsuite/libmudflap.cth/cthfrags.exp: Only pass
--noinhibit-exec to GNU ld.
gcc:
PR libmudflap/49549
* doc/sourcebuild.texi (Effective-Target Keywords): Document gld.
gcc/testsuite:
PR libmudflap/49549
* lib/target-supports.exp (check_effective_target_gld): New proc.
From-SVN: r175749
Jakub Jelinek [Fri, 1 Jul 2011 08:21:09 +0000 (10:21 +0200)]
tree-pretty-print.c (dump_generic_code): Print [idx]= and [idx1 ...
* tree-pretty-print.c (dump_generic_code) <case CONSTRUCTOR>: Print
[idx]= and [idx1 ... idx2]= before initializers if needed for
array initializers.
From-SVN: r175748
Chen Liqin [Fri, 1 Jul 2011 07:51:38 +0000 (07:51 +0000)]
config.gcc (score-*-elf): Remove score7.o.
2011-07-01 Chen Liqin <liqin.gcc@gmail.com>
* config.gcc (score-*-elf): Remove score7.o.
* config/score/t-score-elf: Likewise.
* config/score/score.c: Merge score7 to score.c and remove forwarding functions.
* config/score/score7.c: Deleted.
* config/score/score7.h: Deleted.
From-SVN: r175747
Richard Guenther [Fri, 1 Jul 2011 06:56:18 +0000 (06:56 +0000)]
re PR middle-end/49603 (177.mesa in SPEC CPU 2000 failed to build)
2011-07-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49603
* tree-vect-stmts.c (vectorizable_load): Remove unnecessary
assert.
* gcc.dg/torture/pr49603.c: New testcase.
From-SVN: r175746
Jason Merrill [Fri, 1 Jul 2011 00:54:27 +0000 (20:54 -0400)]
correct changelog
From-SVN: r175744
Jason Merrill [Fri, 1 Jul 2011 00:53:10 +0000 (20:53 -0400)]
re PR c++/49387 (t.cxx:140: error: too many initializers for ‘const __class_type_info_pseudo’)
PR c++/49387
* rtti.c (get_pseudo_ti_index): Call complete_type.
From-SVN: r175743
GCC Administrator [Fri, 1 Jul 2011 00:17:43 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r175742
Jason Merrill [Fri, 1 Jul 2011 00:03:58 +0000 (20:03 -0400)]
re PR c++/49569 (-std=gnu++0x causes segmentation fault)
PR c++/49569
* method.c (implicitly_declare_fn): Set DECL_PARM_LEVEL and
DECL_PARM_INDEX on rhs parm.
From-SVN: r175738
Jason Merrill [Fri, 1 Jul 2011 00:03:43 +0000 (20:03 -0400)]
* pt.c (iterative_hash_template_arg): Use cp_tree_operand_length.
From-SVN: r175737
Jason Merrill [Fri, 1 Jul 2011 00:03:34 +0000 (20:03 -0400)]
re PR c++/49355 (new T({""}) crashes G++ when struct T { std::string foobar };)
PR c++/49355
* tree.c (stabilize_init): Handle aggregate initialization.
From-SVN: r175736
Martin Jambor [Thu, 30 Jun 2011 21:54:29 +0000 (23:54 +0200)]
tree-sra.c (struct access): Rename total_scalarization to grp_total_scalarization
2011-06-30 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (struct access): Rename total_scalarization to
grp_total_scalarization
(completely_scalarize_var): New function.
(sort_and_splice_var_accesses): Set total_scalarization in the
representative access.
(analyze_access_subtree): Propagate total scalarization accross the
tree, no holes in totally scalarized trees, simplify coverage
computation.
(analyze_all_variable_accesses): Call completely_scalarize_var instead
of completely_scalarize_record.
* testsuite/gcc.dg/tree-ssa/sra-12.c: New test.
From-SVN: r175733
Jason Merrill [Thu, 30 Jun 2011 21:10:03 +0000 (17:10 -0400)]
re PR c++/48481 (C++ overloading memory hog)
PR c++/48481
* name-lookup.c (struct arg_lookup): Add fn_set.
(add_function): Check it.
(lookup_arg_dependent_1): Initialize it.
From-SVN: r175732
Jason Merrill [Thu, 30 Jun 2011 21:09:55 +0000 (17:09 -0400)]
* g++.dg/cpp0x/named.C: Test subobject of xvalue.
From-SVN: r175731
Richard Henderson [Thu, 30 Jun 2011 21:08:54 +0000 (14:08 -0700)]
i386: Always use TARGET_DEEP_BRANCH_PREDICTION.
While it could be possible to output_set_got such that we can
individually annotate the instructions, it's simpler to simply
admit that all processors currently being manufactured do want
deep branch prediction. At which point all of the complication
simply goes away.
* config/i386/i386.h (X86_TUNE_DEEP_BRANCH_PREDICTION): Remove.
(TARGET_DEEP_BRANCH_PREDICTION): Remove.
* config/i386/i386.c: Don't include dwarf2out.h.
(initial_ix86_tune_features): Remove X86_TUNE_DEEP_BRANCH_PREDICTION.
(output_set_got): Don't test TARGET_DEEP_BRANCH_PREDICTION, delete
all code dead thereafter. Don't do dwarf2out_flush_queued_reg_saves.
(ix86_expand_prologue): Set REG_CFA_FLUSH_QUEUE on set_got insn.
(machopic_output_stub): Don't test TARGET_DEEP_BRANCH_PREDICTION.
From-SVN: r175730
Richard Henderson [Thu, 30 Jun 2011 21:04:23 +0000 (14:04 -0700)]
dwarf2out: Add REG_CFA_FLUSH_QUEUE.
* reg-notes.def (REG_CFA_FLUSH_QUEUE): New.
* dwarf2out.c (dwarf2out_frame_debug): Handle it.
* final.c (final_scan_insn): Look for it, and invoke
dwarf2out_frame_debug before the insn if found.
From-SVN: r175729
Richard Henderson [Thu, 30 Jun 2011 21:01:06 +0000 (14:01 -0700)]
dwarf2out: Handle pc_rtx as return column in REG_CFA_OFFSET too.
* dwarf2out.c (dwarf2out_frame_debug_cfa_offset): Allow PC_RTX
as a source, and interpret that as DWARF_FRAME_RETURN_COLUMN.
From-SVN: r175728
Richard Henderson [Thu, 30 Jun 2011 20:59:41 +0000 (13:59 -0700)]
dwarf2out: Convert regs_saved_in_regs to VEC.
* dwarf2out.c (struct reg_saved_in_data): Provide a typedef.
Define a vector of this type.
(regs_saved_in_regs): Use a VEC.
(num_regs_saved_in_regs): Remove.
(compare_reg_or_pc): New.
(record_reg_saved_in_reg): Split out from...
(dwarf2out_flush_queued_reg_saves): ... here.
(clobbers_queued_reg_save): Update for VEC.
(reg_saved_in): Likewise.
(dwarf2out_frame_debug_init): Likewise.
(dwarf2out_reg_save_reg): Use record_reg_saved_in_reg.
(dwarf2out_frame_debug_cfa_register): Likewise.
From-SVN: r175727
Eric Botcazou [Thu, 30 Jun 2011 19:32:23 +0000 (19:32 +0000)]
re PR tree-optimization/49572 (gcc.dg/tree-ssa/
20030709-2.c scan-tree-dump-times cddce2 ".rtmem" 0)
PR tree-optimization/49572
* tree-ssa-dom.c (initialize_hash_element) <GIMPLE_SINGLE_RHS>: Use the
type of the RHS instead of that of the LHS for the expression type.
From-SVN: r175721
Eric Botcazou [Thu, 30 Jun 2011 17:56:50 +0000 (17:56 +0000)]
df-scan.c (df_get_entry_block_def_set): Use INCOMING_REGNO macro unconditionally.
* df-scan.c (df_get_entry_block_def_set): Use INCOMING_REGNO macro
unconditionally.
From-SVN: r175718
Richard Guenther [Thu, 30 Jun 2011 14:03:25 +0000 (14:03 +0000)]
opts.c (finish_options): Do not disable IPA-PTA during ltrans.
2011-06-30 Richard Guenther <rguenther@suse.de>
* opts.c (finish_options): Do not disable IPA-PTA during ltrans.
* tree-ssa-structalias.c (create_variable_info_for): Do not
add initial constraints for non-var-decls. Properly handle
globals in other ltrans partitions.
(intra_create_variable_infos): Manually create constraints for
the fake no-alias parameter.
(ipa_pta_execute): Dump the cgraph, handle ltrans partitions properly
and assert there are no clones.
From-SVN: r175707
Richard Guenther [Thu, 30 Jun 2011 13:27:43 +0000 (13:27 +0000)]
re PR tree-optimization/46787 (Does not vectorize loop with load from scalar variable)
2011-06-30 Richard Guenther <rguenther@suse.de>
PR tree-optimization/46787
* tree-data-ref.c (dr_address_invariant_p): Remove.
(find_data_references_in_stmt): Invariant accesses are ok now.
* tree-vect-stmts.c (vectorizable_load): Handle invariant
loads.
* tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
invariant loads.
* gcc.dg/vect/vect-121.c: New testcase.
From-SVN: r175704
Martin Jambor [Thu, 30 Jun 2011 13:24:19 +0000 (15:24 +0200)]
re PR tree-optimization/49094 (ARM aligned(1) attribute is sometimes dropped)
2011-06-30 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/49094
* tree-sra.c (tree_non_mode_aligned_mem_p): New function.
(build_accesses_from_assign): Use it.
* testsuite/gcc.dg/tree-ssa/pr49094.c: New test.
From-SVN: r175703
Joseph Myers [Thu, 30 Jun 2011 12:26:08 +0000 (13:26 +0100)]
* de.po: Update.
From-SVN: r175698
Jakub Jelinek [Thu, 30 Jun 2011 10:43:59 +0000 (12:43 +0200)]
tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix handling of BUILT_IN_ASSUME_ALIGNED.
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix
handling of BUILT_IN_ASSUME_ALIGNED.
From-SVN: r175695
Jakub Jelinek [Thu, 30 Jun 2011 10:26:32 +0000 (12:26 +0200)]
re PR debug/49364 ([4.7 regressions] Empty .debug_abbrev sections confuse SGI nm)
PR debug/49364
* dwarf2out.c (output_abbrev_section): Don't return early
if abbrev_die_table_in_use is 1.
(dwarf2out_finish): Instead don't call output_abbrev_section
nor emit abbrev_section_label in that case.
From-SVN: r175694
Jakub Jelinek [Thu, 30 Jun 2011 10:25:40 +0000 (12:25 +0200)]
re PR fortran/49540 (Memory-hog with large DATA stmt)
PR fortran/49540
* gfortran.h (gfc_constructor): Add repeat field.
* trans-array.c (gfc_conv_array_initializer): Handle repeat > 1.
* array.c (current_expand): Add repeat field.
(expand_constructor): Copy repeat.
* constructor.c (node_free, node_copy, gfc_constructor_get,
gfc_constructor_lookup): Handle repeat field.
(gfc_constructor_lookup_next, gfc_constructor_remove): New functions.
* data.h (gfc_assign_data_value): Add mpz_t * argument.
(gfc_assign_data_value_range): Removed.
* constructor.h (gfc_constructor_advance): Removed.
(gfc_constructor_lookup_next, gfc_constructor_remove): New prototypes.
* data.c (gfc_assign_data_value): Add REPEAT argument, handle it and
also handle overwriting a range with a single entry.
(gfc_assign_data_value_range): Removed.
* resolve.c (check_data_variable): Adjust gfc_assign_data_value
call. Use gfc_assign_data_value instead of
gfc_assign_data_value_expr.
* gfortran.dg/pr49540-1.f90: New test.
* gfortran.dg/pr49540-2.f90: New test.
From-SVN: r175693
Rainer Orth [Thu, 30 Jun 2011 10:04:52 +0000 (10:04 +0000)]
re PR ada/49511 (acats test setup fails on HP-UX using posix shell)
PR ada/49511
* ada/acats/run_acats (which): Use last field of type -p output.
From-SVN: r175690
Dominique d'Humieres [Thu, 30 Jun 2011 10:02:45 +0000 (12:02 +0200)]
re PR libobjc/36610 (objc_msg_sendv is broken for targets which pass argument via registers)
2011-06-28 Dominique d'Humieres <dominiq@lps.ens.fr>
Iain Sandoe <iains@gcc.gnu.org>
PR libobjc/36610
* objc.dg/torture/forward-1.m: Remove dg-xfail-run-if.
Only skip on 64-bit *-*-darwin8* && !objc2.
Co-Authored-By: Iain Sandoe <iains@gcc.gnu.org>
From-SVN: r175689
Nick Clifton [Thu, 30 Jun 2011 09:13:49 +0000 (09:13 +0000)]
v850.h (CPP_SPEC): Define __v850e__ when compiling for the V850E.
* config/v850/v850.h (CPP_SPEC): Define __v850e__ when compiling
for the V850E.
From-SVN: r175688
Richard Guenther [Thu, 30 Jun 2011 08:44:18 +0000 (08:44 +0000)]
re PR tree-optimization/38752 (ICE in set_uids_in_ptset, at tree-ssa-structalias.c:4817)
2011-06-30 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38752
* gcc.c-torture/compile/pr38752.c: New testcase.
From-SVN: r175684
Jakub Jelinek [Thu, 30 Jun 2011 08:06:01 +0000 (10:06 +0200)]
tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix handling of BUILT_IN_MEMPCPY_CHK and BUILT_IN_STPCPY_CHK.
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix
handling of BUILT_IN_MEMPCPY_CHK and BUILT_IN_STPCPY_CHK.
From-SVN: r175682
Ira Rosen [Thu, 30 Jun 2011 06:37:41 +0000 (06:37 +0000)]
tree-vect-loop.c (vect_determine_vectorization_factor): Handle both pattern and original statements if necessary.
* tree-vect-loop.c (vect_determine_vectorization_factor): Handle
both pattern and original statements if necessary.
(vect_transform_loop): Likewise.
* tree-vect-patterns.c (vect_pattern_recog): Update documentation.
* tree-vect-stmts.c (vect_mark_relevant): Add new argument.
Mark the pattern statement only if the original statement doesn't
have its own uses.
(process_use): Call vect_mark_relevant with additional parameter.
(vect_mark_stmts_to_be_vectorized): Likewise.
(vect_get_vec_def_for_operand): Use vectorized pattern statement.
(vect_analyze_stmt): Handle both pattern and original statements
if necessary.
(vect_transform_stmt): Don't store vectorized pattern statement
in the original statement.
(vect_is_simple_use_1): Use related pattern statement only if the
original statement is irrelevant.
* tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise.
From-SVN: r175681
GCC Administrator [Thu, 30 Jun 2011 00:18:02 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r175678
Jason Merrill [Wed, 29 Jun 2011 22:28:15 +0000 (18:28 -0400)]
re PR c++/49216 ([C++0x] ICE on compiling new-expression with braced-init-list for arrays)
PR c++/49216
* init.c (build_new_1): Pass {} down to build_vec_init.
(build_vec_init): Handle it.
From-SVN: r175674
Jason Merrill [Wed, 29 Jun 2011 21:19:31 +0000 (17:19 -0400)]
DR 1207 PR c++/49003
DR 1207
PR c++/49003
* cp-tree.h (struct saved_scope): Add x_current_class_ptr,
x_current_class_ref.
(current_class_ptr, current_class_ref): Use them.
* decl.c (build_this_parm): Handle getting the class type.
* parser.c (cp_parser_late_return_type_opt): Set up 'this'
for use within the trailing return type.
From-SVN: r175671
Jason Merrill [Wed, 29 Jun 2011 21:19:22 +0000 (17:19 -0400)]
pt.c (tsubst_decl): In unevaluated operand, don't tsubst DECL_INITIAL unless our type use auto.
* pt.c (tsubst_decl) [VAR_DECL]: In unevaluated operand,
don't tsubst DECL_INITIAL unless our type use auto.
From-SVN: r175670
François Dumont [Wed, 29 Jun 2011 20:11:50 +0000 (22:11 +0200)]
set.h, [...]: Remove base class default constructor calls.
2011-06-29 François Dumont <francois.cppdevs@free.fr>
* include/debug/set.h, unordered_map, multiset.h, forward_list,
unordered_set, vector, deque, string, list, multimap.h: Remove base
class default constructor calls.
* include/debug/map.h: Likewise and cleanup several redefinition of
base iterator typedef.
From-SVN: r175665
Changpeng Fang [Wed, 29 Jun 2011 17:53:49 +0000 (17:53 +0000)]
Auto-vectorizer generates 128-bit AVX insns by default for bdver1.
* config/i386/i386.opt (mprefer-avx128): Redefine the flag as a Mask option.
* config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_AVX128_OPTIMAL entry.
(TARGET_AVX128_OPTIMAL): New definition.
* config/i386/i386.c (initial_ix86_tune_features): Initialize
X86_TUNE_AVX128_OPTIMAL entry.
(ix86_option_override_internal): Enable the generation
of the 128-bit instructions when TARGET_AVX128_OPTIMAL is set.
(ix86_preferred_simd_mode): Use TARGET_PREFER_AVX128.
(ix86_autovectorize_vector_sizes): Use TARGET_PREFER_AVX128.
From-SVN: r175661
Jason Merrill [Wed, 29 Jun 2011 17:38:53 +0000 (13:38 -0400)]
re PR c++/49272 (FAIL: g++.old-deja/g++.jason/rfg10.C (test for errors, line 11))
PR c++/49272
* g++.old-deja/g++.jason/rfg10.C: Accept other overflow error too.
From-SVN: r175659
Jason Merrill [Wed, 29 Jun 2011 17:15:16 +0000 (13:15 -0400)]
re PR c++/49520 ([C++0x] using-declaration and operator&& confuses constexpr)
PR c++/49520
* semantics.c (constexpr_fn_retval): Handle CLEANUP_POINT_EXPR here.
(massage_constexpr_body): Not here.
From-SVN: r175658
Jason Merrill [Wed, 29 Jun 2011 17:15:06 +0000 (13:15 -0400)]
re PR c++/49554 ([C++0x] lambda capture causes "cannot call member function ... without object")
PR c++/49554
* semantics.c (lambda_proxy_type): New.
(build_capture_proxy): Use it.
* cp-tree.h (DECLTYPE_FOR_LAMBDA_PROXY): New.
* pt.c (tsubst) [DECLTYPE_TYPE]: Use them.
From-SVN: r175657
Ulrich Weigand [Wed, 29 Jun 2011 16:19:08 +0000 (16:19 +0000)]
re PR rtl-optimization/49114 ([x32] Reload failed to handle (set reg:X (plus:X (subreg:X (reg:Y) 0) (const_int))))
PR rtl-optimization/49114
* reload.c (push_reload): Define in_subreg_loc and out_subreg_loc
only if LIMIT_RELOAD_CLASS to avoid -Werror build breaks.
From-SVN: r175652
Eric Botcazou [Wed, 29 Jun 2011 16:02:56 +0000 (16:02 +0000)]
re PR tree-optimization/49539 (ICE building gnattools)
PR tree-optimization/49539
* tree-ssa-forwprop.c (can_propagate_from): Check for abnormal SSA
names by means of stmt_references_abnormal_ssa_name.
(associate_plusminus): Call can_propagate_from before propagating
from definition statements.
(ssa_forward_propagate_and_combine): Remove superfluous newline.
From-SVN: r175650
Jason Merrill [Wed, 29 Jun 2011 14:34:58 +0000 (10:34 -0400)]
re PR c++/45923 (constexpr diagnostics, more more)
PR c++/45923
* class.c (explain_non_literal_class): New.
(finalize_literal_type_property): Call it.
* cp-tree.h: Declare it.
* semantics.c (ensure_literal_type_for_constexpr_object): Call it.
(is_valid_constexpr_fn): Likewise.
(massage_constexpr_body): Split out from...
(register_constexpr_fundef): ...here.
(is_instantiation_of_constexpr): New.
(expand_or_defer_fn_1): Leave DECL_SAVED_TREE alone in that case.
(explain_invalid_constexpr_fn): New.
(cxx_eval_call_expression): Call it.
(potential_constant_expression_1): Likewise. Avoid redundant errors.
* method.c (process_subob_fn): Diagnose non-constexpr.
(walk_field_subobs): Likewise.
(synthesized_method_walk): Don't shortcut if we want diagnostics.
(explain_implicit_non_constexpr): New.
(defaulted_late_check): Use it.
* call.c (build_cxx_call): Remember location.
From-SVN: r175646
Jason Merrill [Wed, 29 Jun 2011 14:34:47 +0000 (10:34 -0400)]
method.c (maybe_explain_implicit_delete): Use pointer_set instead of htab.
* method.c (maybe_explain_implicit_delete): Use pointer_set
instead of htab.
From-SVN: r175645
Jason Merrill [Wed, 29 Jun 2011 14:34:39 +0000 (10:34 -0400)]
class.c (finalize_literal_type_property): Update conditions.
* class.c (finalize_literal_type_property): Update conditions.
* method.c (defaulted_late_check): Set TYPE_HAS_CONSTEXPR_CTOR.
From-SVN: r175644
Jason Merrill [Wed, 29 Jun 2011 14:34:22 +0000 (10:34 -0400)]
tree.c (build_vec_init_expr): Don't add TARGET_EXPR.
* tree.c (build_vec_init_expr): Don't add TARGET_EXPR.
* typeck2.c (digest_init_r): Handle VEC_INIT_EXPR.
* semantics.c (cxx_eval_vec_init_1): Correct type.
From-SVN: r175643
Richard Guenther [Wed, 29 Jun 2011 14:29:22 +0000 (14:29 +0000)]
invoke.texi: Document -scev dump modifier.
2011-06-29 Richard Guenther <rguenther@suse.de>
* doc/invoke.texi: Document -scev dump modifier.
* tree-pass.h (TDF_SCEV): New dump flag.
* tree-dump.c (dump_option_value_in): Add scev.
* tree-chrec.c: Replace all TDF_DETAILS checks with TDF_SCEV.
* tree-scalar-evolution.c: Likewise.
* gcc.dg/tree-ssa/loop-17.c: Adjust.
From-SVN: r175642
Nathan Sidwell [Wed, 29 Jun 2011 14:18:48 +0000 (14:18 +0000)]
unwind-arm.c (enum __cxa_type_match_result): New.
gcc/
* config/arm/unwind-arm.c (enum __cxa_type_match_result): New.
(cxa_type_match): Correct declaration.
(__gnu_unwind_pr_common): Reconstruct
additional indirection when __cxa_type_match returns
succeeded_with_ptr_to_base.
libstdc++/
* libsupc++/eh_arm.c (__cxa_type_match): Construct address of
thrown object here. Return succeded_with_ptr_to_base for all
pointer cases.
From-SVN: r175641
Jason Merrill [Wed, 29 Jun 2011 14:09:03 +0000 (10:09 -0400)]
init.c (build_value_init): Decide whether or not to zero-initialize based on user-providedness of default...
* init.c (build_value_init): Decide whether or not to zero-initialize
based on user-providedness of default ctor, not any ctor.
(build_value_init_noctor): Adjust assert.
From-SVN: r175640
Jason Merrill [Wed, 29 Jun 2011 14:08:55 +0000 (10:08 -0400)]
DR 990
DR 990
* call.c (convert_like_real) [ck_user]: Handle value-initialization.
(build_new_method_call_1): Likewise.
* init.c (expand_default_init): Handle direct list-initialization
of aggregates.
From-SVN: r175639
Rainer Orth [Wed, 29 Jun 2011 12:47:56 +0000 (12:47 +0000)]
cls_double_va.c: Move PR number to comment.
* testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
* testsuite/libffi.call/cls_longdouble_va.c: Likewise.
From-SVN: r175632
Ulrich Weigand [Wed, 29 Jun 2011 12:15:08 +0000 (12:15 +0000)]
re PR rtl-optimization/49114 ([x32] Reload failed to handle (set reg:X (plus:X (subreg:X (reg:Y) 0) (const_int))))
PR rtl-optimization/49114
* reload.c (struct replacement): Remove SUBREG_LOC member.
(push_reload): Do not set it.
(push_replacement): Likewise.
(subst_reload): Remove dead code.
(copy_replacements): Remove assertion.
(copy_replacements_1): Do not handle SUBREG_LOC.
(move_replacements): Likewise.
(find_replacement): Remove dead code. Use reload_adjust_reg_for_mode.
Detect subregs via recursive descent instead of via SUBREG_LOC.
From-SVN: r175631
Georg-Johann Lay [Wed, 29 Jun 2011 11:20:06 +0000 (11:20 +0000)]
avr.c (avr_encode_section_info): Dispatch to default_encode_section_info.
* config/avr/avr.c (avr_encode_section_info): Dispatch to
default_encode_section_info.
From-SVN: r175630
Georg-Johann Lay [Wed, 29 Jun 2011 11:17:50 +0000 (11:17 +0000)]
avr.c (avr_encode_section_info): Dispatch to default_encode_section_info.
* config/avr/avr.c (avr_encode_section_info): Dispatch to
default_encode_section_info.
From-SVN: r175629
Richard Sandiford [Wed, 29 Jun 2011 10:05:43 +0000 (10:05 +0000)]
* MAINTAINERS (RTL optimizers): Add self.
From-SVN: r175628
Richard Sandiford [Wed, 29 Jun 2011 09:42:42 +0000 (09:42 +0000)]
re PR middle-end/49545 (New C++ test failures)
gcc/
PR tree-optimization/49545
* builtins.c (get_object_alignment_1): Update function comment.
Do not use DECL_ALIGN for functions, but test
TARGET_PTRMEMFUNC_VBIT_LOCATION instead.
* fold-const.c (get_pointer_modulus_and_residue): Don't check
for functions here.
* tree-ssa-ccp.c (get_value_from_alignment): Likewise.
gcc/testsuite/
* gcc.dg/torture/pr49169.c: Restrict to ARM and MIPS targets.
From-SVN: r175627
Rainer Orth [Wed, 29 Jun 2011 08:32:02 +0000 (08:32 +0000)]
inline_1.c: Remove dg-excess-errors.
* gcc.dg/inline_1.c: Remove dg-excess-errors.
* gcc.dg/inline_2.c: Likewise.
* gcc.dg/unroll_1.c: Likewise.
From-SVN: r175625
Rainer Orth [Wed, 29 Jun 2011 08:24:13 +0000 (08:24 +0000)]
* gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
From-SVN: r175624
Rainer Orth [Wed, 29 Jun 2011 08:19:08 +0000 (08:19 +0000)]
re PR libgcj/49451 (FileHandleGcTest FAILS on IRIX)
PR libgcj/49451
* include/private/gcconfig.h [IRIX5 && _MIPS_SZPTR == 64]
(ELF_CLASS): Define.
* dyn_load.c [IRIX5]: Include <elf.h>.
Include <obj.h> for O32, <objlist.h> for N32, N64.
[SUNOS5DL && USE_PROC_FOR_LIBRARIES] (obj_offset): Define.
[SUNOS4 && USE_PROC_FOR_LIBRARIES] (obj_offset): Define.
[IRIX5 && !USE_PROC_FOR_LIBRARIES] (struct link_map): Define.
(__rld_obj_head): Declare.
(l_next, l_addr, obj_offset): Define.
(GC_FirstDLOpenedLinkMap): New function.
[SUNOS4 || SUNOS5DL] (GC_register_dynamic_libraries): Also use on
IRIX5.
Use obj_offset.
[IRIX5 || (USE_PROC_FOR_LIBRARIES && !LINUX]
(GC_register_dynamic_libraries): Don't use /proc version on IRIX5.
From-SVN: r175623
Jakub Jelinek [Wed, 29 Jun 2011 08:15:00 +0000 (10:15 +0200)]
re PR debug/49567 (ICE in mem_loc_descriptor due to typed DWARF stack changes)
PR debug/49567
* dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTEND>: Give up
for non-MODE_INT modes instead of asserting the mode has MODE_INT
class.
* gcc.target/i386/pr49567.c: New test.
From-SVN: r175622
Georg-Johann Lay [Wed, 29 Jun 2011 07:57:25 +0000 (07:57 +0000)]
re PR target/34734 ([avr] attribute((progmem)) not handled properly in C++)
PR target/34734
* config/avr/avr.c (avr_handle_progmem_attribute): Move warning
about uninitialized data attributed 'progmem' from here...
(avr_encode_section_info): ...to this new function.
(TARGET_ENCODE_SECTION_INFO): New define.
(avr_section_type_flags): For data in ".progmem.data", remove
section flag SECTION_WRITE.
From-SVN: r175621
Georg-Johann Lay [Wed, 29 Jun 2011 07:52:56 +0000 (07:52 +0000)]
t-avr (LIB1ASMFUNCS): Add _mulhisi3, _umulhisi3, _xmulhisi3_exit.
* config/avr/t-avr (LIB1ASMFUNCS): Add _mulhisi3, _umulhisi3,
_xmulhisi3_exit.
* config/avr/libgcc.S (_xmulhisi3_exit): New Function.
(__mulhisi3): Optimize if have MUL*. Use XJMP instead of rjmp.
(__umulhisi3): Ditto.
* config/avr/avr.md (mulhisi3): New insn expender.
(umulhisi3): New insn expender.
(*mulhisi3_call): New insn.
(*umulhisi3_call): New insn.
From-SVN: r175620
Rainer Orth [Wed, 29 Jun 2011 07:31:05 +0000 (07:31 +0000)]
re PR libffi/46660 (cls_double_va.c, cls_longdouble_va.c FAIL on IRIX 6.5)
PR libffi/46660
* testsuite/libffi.call/cls_double_va.c: xfail dg-output on
mips-sgi-irix6*.
* testsuite/libffi.call/cls_longdouble_va.c: Likewise.
From-SVN: r175618
GCC Administrator [Wed, 29 Jun 2011 00:18:52 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r175616
Joseph Myers [Tue, 28 Jun 2011 22:54:42 +0000 (23:54 +0100)]
* Makefile.in (LIBGCC2_CFLAGS): Remove -D__GCC_FLOAT_NOT_NEEDED.
From-SVN: r175607
Richard Henderson [Tue, 28 Jun 2011 22:25:59 +0000 (15:25 -0700)]
arm: Clean out dead code from thumb_pushpop.
Renaming to thumb_pop at the same time. The important part
of this is removing the text-based dwarf2out calls.
* config/arm/arm.c (thumb_pop): Rename from thumb_pushpop. Delete
all code and arguments that handled pushes. Update all callers.
From-SVN: r175606
Richard Henderson [Tue, 28 Jun 2011 22:25:52 +0000 (15:25 -0700)]
arm: Convert thumb1 prologue to rtl.
* config/arm/arm.c (arm_output_function_prologue): Don't call
thumb1_output_function_prologue.
(arm_expand_prologue): Avoid dead store.
(number_of_first_bit_set): Use ctz_hwi.
(thumb1_emit_multi_reg_push): New.
(thumb1_expand_prologue): Merge thumb1_output_function_prologue
to emit the entire prologue as rtl.
(thumb1_output_interwork): Split out from
thumb1_output_function_prologue.
(thumb1_output_function_prologue): Remove.
(arm_attr_length_push_multi): Handle thumb1.
* config/arm/arm.md (VUNSPEC_THUMB1_INTERWORK): New.
(prologue_thumb1_interwork): New.
(*push_multi): Allow thumb1; use push_mult_memory_operand.
* config/arm/predicates.md (push_mult_memory_operand): New.
From-SVN: r175605
Eric Botcazou [Tue, 28 Jun 2011 22:03:44 +0000 (22:03 +0000)]
sync.md (*stbar): Delete.
* config/sparc/sync.md (*stbar): Delete.
(*membar_v8): New insn to implement UNSPEC_MEMBAR in SPARC-V8.
From-SVN: r175604
Eric Botcazou [Tue, 28 Jun 2011 21:50:06 +0000 (21:50 +0000)]
* tree-ssa-dom.c (initialize_hash_element): Fix oversight.
From-SVN: r175600
Janis Johnson [Tue, 28 Jun 2011 19:36:45 +0000 (19:36 +0000)]
Remove gcc.target/arm/ivopts-6.c, didn't happen with patch.
From-SVN: r175597
Janis Johnson [Tue, 28 Jun 2011 19:33:06 +0000 (19:33 +0000)]
2011-06-28 Janis Johnson <janisjo@codesourcery.com>
Tom de Vries <tom@codesourcery.com>
* lib/target-supports.exp (check_effective_target_arm_nothumb)
(check_effective_target_arm_thumb2): New effective targets.
* gcc.target/arm/ivopts.c: Remove -mthumb/-marm. Guard object-size
properly. Clean up temporary files.
* gcc.target/arm/ivopts-2.c: Likewise.
* gcc.target/arm/ivopts-3.c: Likewise.
* gcc.target/arm/ivopts-4.c: Likewise.
* gcc.target/arm/ivopts-5.c: Likewise.
* gcc.target/arm/ivopts-6.c: Remove duplicate of ivopts.c.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r175596
Thomas Koenig [Tue, 28 Jun 2011 18:59:04 +0000 (18:59 +0000)]
re PR fortran/49479 (reshape / optionals / zero sized arrays)
2011-06-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/49479
* m4/reshape.m4: If source allocation is smaller than one, set it
to one.
* intrinsics/reshape_generic.c: Likewise.
* generated/reshape_r16.c: Regenerated.
* generated/reshape_c4.c: Regenerated.
* generated/reshape_c16.c: Regenerated.
* generated/reshape_c8.c: Regenerated.
* generated/reshape_r4.c: Regenerated.
* generated/reshape_i4.c: Regenerated.
* generated/reshape_r10.c: Regenerated.
* generated/reshape_r8.c: Regenerated.
* generated/reshape_c10.c: Regenerated.
* generated/reshape_i8.c: Regenerated.
* generated/reshape_i16.c: Regenerated.
2011-06-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/49479
* gfortran.dg/reshape_zerosize_3.f90: New test.
From-SVN: r175594
Rainer Orth [Tue, 28 Jun 2011 17:50:50 +0000 (17:50 +0000)]
sol2-64.h (TARGET_DEFAULT): Remove.
* config/sparc/sol2-64.h (TARGET_DEFAULT): Remove.
(TARGET_64BIT_DEFAULT): Define.
* config.gcc (sparc*-*-solaris2*): Move sparc/sol2-64.h to front
of tm_file.
* config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Define.
From-SVN: r175593
Joseph Myers [Tue, 28 Jun 2011 17:00:59 +0000 (18:00 +0100)]
common.opt (in_lto_p): New Variable entry.
* common.opt (in_lto_p): New Variable entry.
* flags.h (in_lto_p): Move to common.opt.
* gcc.c: Include params.h.
(set_option_handlers): Also use common_handle_option and
target_handle_option.
(main): Call global_init_params, finish_params and
init_options_struct.
* opts.c (debug_type_names): Move from toplev.c.
(print_filtered_help): Access quiet_flag through opts pointer.
(common_handle_option): Return early in the driver for some
options. Access in_lto_p, dwarf_version and
warn_maybe_uninitialized through opts pointer.
* toplev.c (in_lto_p): Move to common.opt.
(debug_type_names): Move to opts.c.
* Makefile.in (OBJS): Remove opts.o.
(OBJS-libcommon-target): Add opts.o.
(gcc.o): Update dependencies.
From-SVN: r175591
Janis Johnson [Tue, 28 Jun 2011 16:17:03 +0000 (16:17 +0000)]
vfp-ldmdbs.c: Skip for soft float.
* gcc.target/arm/vfp-ldmdbs.c: Skip for soft float.
* gcc.target/arm/vfp-ldmias.c: Likewise.
* gcc.target/arm/vfp-ldmdbd.c: Likewise.
* gcc.target/arm/vfp-stmdbs.c: Likewise.
* gcc.target/arm/vfp-ldmiad.c: Likewise.
* gcc.target/arm/vfp-stmias.c: Likewise.
* gcc.target/arm/vfp-stmdbd.c: Likewise.
* gcc.target/arm/vfp-stmiad.c: Likewise.
From-SVN: r175590
Kai Tietz [Tue, 28 Jun 2011 15:32:47 +0000 (17:32 +0200)]
tree-ssa-forwprop.c (simplify_bitwise_binary): Improve type sinking.
2011-06-28 Kai Tietz <ktietz@redhat.com>
* tree-ssa-forwprop.c (simplify_bitwise_binary): Improve
type sinking.
From-SVN: r175589
Ramana Radhakrishnan [Tue, 28 Jun 2011 14:54:58 +0000 (14:54 +0000)]
Fix constraints.
2011-06-28 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
* config/arm/vfp.md ("*divsf3_vfp"): Replace '+' constraint modifier
with '=' constraint modifier.
(*divdf3_vfp): Likewise.
("*mulsf3_vfp"): Likewise.
("*muldf3_vfp"): Likewise.
("*mulsf3negsf_vfp"): Likewise.
("*muldf3negdf_vfp"): Likewise.
From-SVN: r175588
Nick Clifton [Tue, 28 Jun 2011 13:59:28 +0000 (13:59 +0000)]
mn10300.h (LINK_SPEC): Do not use linker relaxation when performing an incremental link.
* config/mn10300/mn10300.h (LINK_SPEC): Do not use linker
relaxation when performing an incremental link.
From-SVN: r175584
Kai Tietz [Tue, 28 Jun 2011 10:36:48 +0000 (12:36 +0200)]
tree-ssa-math-opts.c (execute_optimize_bswap): Search within BB from last to first.
2011-06-28 Kai Tietz <ktietz@redhat.com>
* tree-ssa-math-opts.c (execute_optimize_bswap): Search
within BB from last to first.
From-SVN: r175580
Joseph Myers [Tue, 28 Jun 2011 10:28:09 +0000 (11:28 +0100)]
genattr-common.c: New.
* genattr-common.c: New. Based on genattr.c.
* Makefile.in (INSN_ATTR_H): Include insn-attr-common.h.
(MOSTLYCLEANFILES): Add insn-attr-common.h.
(opts.o): Update dependencies.
(.PRECIOUS): Add insn-attr-common.h.
(simple_rtl_generated_h): Add insn-attr-common.h.
(build/genattr-common.o): New.
(genprogrtl): Add attr-common.
* genattr.c (main): Include insn-attr-common.h. Don't generate
definitions of DELAY_SLOTS or INSN_SCHEDULING.
* opts.c: Include insn-attr-common.h instead of rtl.h and
insn-attr.h.
From-SVN: r175579
Nick Clifton [Tue, 28 Jun 2011 08:50:45 +0000 (08:50 +0000)]
Revert spurious change to mn10300_get_live_callee_saved_regs
From-SVN: r175577
Nick Clifton [Tue, 28 Jun 2011 08:49:18 +0000 (08:49 +0000)]
* config.host: Recognize all V850 variants.
From-SVN: r175576
Georg-Johann Lay [Tue, 28 Jun 2011 07:26:09 +0000 (07:26 +0000)]
config.gcc (tm_file): Add elfos.h and avr/elf.h for avr-*-* and avr-*-rtems* targets.
* config.gcc (tm_file): Add elfos.h and avr/elf.h for
avr-*-* and avr-*-rtems* targets.
* config/avr/elf.h: New file.
(ASM_OUTPUT_BEFORE_CASE_LABEL): Define.
(TARGET_ASM_SELECT_SECTION): Define.
(INIT_SECTION_ASM_OP): Undefine.
(FINI_SECTION_ASM_OP): Undefine.
(READONLY_DATA_SECTION_ASM_OP): Undefine.
(PCC_BITFIELD_TYPE_MATTERS): Undefine.
(TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Undefine.
* config/avr/avr.h:
(PREFERRED_DEBUGGING_TYPE): Move to elf.h.
(TARGET_ASM_NAMED_SECTION): Move to elf.h.
(MAX_OFILE_ALIGNMENT): Move to elf.h.
(STRING_LIMIT): Move to elf.h.
(ASM_DECLARE_FUNCTION_NAME): Move to elf.h.
(ASM_DECLARE_OBJECT_NAME): Remove.
(ESCAPES): Remove.
(ASM_OUTPUT_SKIP): Remove.
(DWARF2_DEBUGGING_INFO): Remove.
(OBJECT_FORMAT_ELF): Remove.
(USER_LABEL_PREFIX): Remove.
(ASM_OUTPUT_EXTERNAL): Remove.
(ASM_OUTPUT_ASCII): Remove.
(TYPE_ASM_OP): Remove.
(SIZE_ASM_OP): Remove.
(WEAK_ASM_OP): Remove.
(STRING_ASM_OP): Remove.
(SET_ASM_OP): Remove.
(ASM_WEAKEN_LABEL): Remove.
(TYPE_OPERAND_FMT): Remove.
(ASM_DECLARE_FUNCTION_SIZE): Remove.
(ASM_FINISH_DECLARE_OBJECT): Remove.
(NO_DOLLAR_IN_LABEL): Remove.
(ASM_GENERATE_INTERNAL_LABEL): Remove.
(ASM_OUTPUT_CASE_LABEL): Remove.
* config/avr/avr.c (avr_asm_output_aligned_decl_common): Use
ASM_OUTPUT_ALIGNED_LOCAL, ASM_OUTPUT_ALIGNED_COMMON.
(gas_output_ascii): Remove.
(gas_output_limited_string): Remove.
(TARGET_ASM_FILE_START_FILE_DIRECTIVE): Remove.
* config/avr/avr-protos.h
(gas_output_ascii): Remove prototye.
(gas_output_limited_string): Remove prototype.
From-SVN: r175575
Janis Johnson [Tue, 28 Jun 2011 01:37:28 +0000 (01:37 +0000)]
pr45701-1.c: Don't specify -march; remove dg-prune-output.
* gcc.target/arm/pr45701-1.c: Don't specify -march; remove
dg-prune-output.
* gcc.target/arm/pr45701-2.c: Ditto.
From-SVN: r175573
GCC Administrator [Tue, 28 Jun 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r175572
Gabriel Charette [Mon, 27 Jun 2011 21:53:37 +0000 (21:53 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2011-06-27 Gabriel Charette <gchare@google.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r175567
Richard Earnshaw [Mon, 27 Jun 2011 21:09:25 +0000 (21:09 +0000)]
re PR target/48637 (%c in ARM inline asm leads to ICE (in arm_print_operand))
PR target/48637
* arm.c (arm_print_operand): Allow sym+offset. Don't abort on invalid
asm operands.
From-SVN: r175565
Janus Weil [Mon, 27 Jun 2011 20:59:12 +0000 (22:59 +0200)]
re PR fortran/49466 (Memory leak with assignment of extended derived types)
2011-06-27 Janus Weil <janus@gcc.gnu.org>
PR fortran/49466
* trans-array.c (structure_alloc_comps): Make sure sub-components
and extended types are correctly deallocated.
2011-06-27 Janus Weil <janus@gcc.gnu.org>
PR fortran/49466
* gfortran.dg/allocatable_scalar_9.f90: Modified.
* gfortran.dg/extends_14.f03: Modified.
From-SVN: r175563
Joseph Myers [Mon, 27 Jun 2011 20:56:40 +0000 (21:56 +0100)]
* de.po: Update.
From-SVN: r175561
Jan Hubicka [Mon, 27 Jun 2011 20:01:44 +0000 (22:01 +0200)]
ipa.c (cgraph_address_taken_from_non_vtable_p): Walk references of node instead of references in node.
* ipa.c (cgraph_address_taken_from_non_vtable_p): Walk references of node
instead of references in node.
From-SVN: r175555
Richard Henderson [Mon, 27 Jun 2011 19:57:09 +0000 (12:57 -0700)]
Fix alpha and ia64 non-vms build.
* config/alpha/alpha.c (vms_patch_builtins): Provide dummy definition.
* config/ia64/ia64.c (ia64_init_builtins): Call vms_patch_builtins
inside ifdef.
From-SVN: r175554
Janis Johnson [Mon, 27 Jun 2011 18:40:18 +0000 (18:40 +0000)]
target-supports-dg.exp (dg-require-effective-target): Return early if the test is already being skipped.
* lib/target-supports-dg.exp (dg-require-effective-target): Return
early if the test is already being skipped.
From-SVN: r175547
Janis Johnson [Mon, 27 Jun 2011 18:39:21 +0000 (18:39 +0000)]
scanasm.exp (dg-scan, [...]): For missing file...
* lib/scanasm.exp (dg-scan, scan-assembler-times, scan-assembler-dem,
scan-assembler-dem-not): For missing file, report unresolved with
same message as for pass/fail, with reason reported in log file.
From-SVN: r175546
Janis Johnson [Mon, 27 Jun 2011 18:38:00 +0000 (18:38 +0000)]
target-supports.exp (add_options_for_arm_fp16): Renamed from add_options_for_arm_neon_fp16.
* lib/target-supports.exp (add_options_for_arm_fp16): Renamed
from add_options_for_arm_neon_fp16.
(check_effective_target_arm_fp16_ok_nocache): Renamed from
check_effective_target_arm_neon_fp16_ok_nocache.
Check -mfpu and -mfloat-abi options from current multilib.
Do not require neon support.
(check_effective_target_arm_fp16_ok): Renamed from
check_effecitve_target_arm_neon_fp16_ok.
* g++.dg/ext/arm-fp16/arm-fp16-ops-5.C: Use new names for
arm_neon_fp16_ok and arm_fp16.
* g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: Likewise.
* gcc.dg/torture/arm-fp16-ops-5.c: Likewise.
* gcc.dg/torture/arm-fp16-ops-6.c: Likewise.
* gcc.target/arm/fp16-compile-vcvt.c: Likewise.
From-SVN: r175545
Jakub Jelinek [Mon, 27 Jun 2011 16:56:08 +0000 (18:56 +0200)]
c-common.h (c_tree_chain_next): New static inline function.
* c-common.h (c_tree_chain_next): New static inline function.
* c-decl.c (union lang_tree_node): Use it in chain_next expression.
* cp-tree.h (union lang_tree_node): Use it in chain_next expression.
From-SVN: r175542
Jakub Jelinek [Mon, 27 Jun 2011 16:52:23 +0000 (18:52 +0200)]
builtin-types.def (BT_FN_PTR_CONST_PTR_SIZE_VAR): New.
* builtin-types.def (BT_FN_PTR_CONST_PTR_SIZE_VAR): New.
* builtins.def (BUILT_IN_ASSUME_ALIGNED): New builtin.
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call,
find_func_clobbers): Handle BUILT_IN_ASSUME_ALIGNED.
* tree-ssa-ccp.c (bit_value_assume_aligned): New function.
(evaluate_stmt, execute_fold_all_builtins): Handle
BUILT_IN_ASSUME_ALIGNED.
* tree-ssa-dce.c (propagate_necessity): Likewise.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
call_may_clobber_ref_p_1): Likewise.
* builtins.c (is_simple_builtin, expand_builtin): Likewise.
(expand_builtin_assume_aligned): New function.
* doc/extend.texi (__builtin_assume_aligned): Document.
* c-common.c (check_builtin_function_arguments): Handle
BUILT_IN_ASSUME_ALIGNED.
* gcc.dg/builtin-assume-aligned-1.c: New test.
* gcc.dg/builtin-assume-aligned-2.c: New test.
* gcc.target/i386/builtin-assume-aligned-1.c: New test.
From-SVN: r175541