Age | Commit message (Collapse) | Author | Files | Lines |
|
* gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
(GNAT1_OBJS): ...here.
From-SVN: r176569
|
|
2011-07-21 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49770
* tree-ssa-sccvn.c (valueize_refs_1): Return whether we
valueized any operand. Renamed from ...
(valueize_refs): ... this. New wrapper around valueize_refs_1.
(valueize_shared_reference_ops_from_ref): Return whether we
valueized any operand.
(vn_reference_lookup): Only when we valueized any operand
use the valueized reference for alias analysis. Do not preserve
the original reference tree in this case.
* g++.dg/torture/pr49770.C: New testcase.
From-SVN: r176567
|
|
From-SVN: r176566
|
|
hard registers in index.
* config/i386/i386.c (ix86_decompose_address): Reject all but
register operands and DImode hard registers in index.
From-SVN: r176565
|
|
2011-07-21 Kai Tietz <ktietz@redhat.com>
* fold-const.c (fold_unary_loc): Preserve indirect
comparison cast to none-boolean type.
* tree-ssa.c (useless_type_conversion_p): Preserve cast
from/to boolean-type.
* gimplify.c (gimple_boolify): Handle boolification
of comparisons.
(gimplify_expr): Boolifiy non aggregate-typed
comparisons.
* tree-cfg.c (verify_gimple_comparison): Check result
type of comparison expression.
* tree-ssa-forwprop.c (forward_propagate_comparison):
Adjust test of condition result and disallow type-cast
sinking into comparison.
ChangeLog gcc/testsuite
2011-07-21 Kai Tietz <ktietz@redhat.com>
* gcc.dg/tree-ssa/pr30978.c: adjusted.
* gcc.dg/tree-ssa/ssa-fre-6.c: Likewise.
* gcc.dg/binop-xor1.c: Set to fail.
* gcc.dg/binop-xor3.c: Set to fail.
From-SVN: r176563
|
|
2011-07-21 Tobias Burnus <burnus@net-b.de>
* check.c (gfc_check_present): Allow coarrays.
* trans-array.c (gfc_conv_array_ref): Avoid casting
when a pointer is wanted.
* trans-decl.c (create_function_arglist): For -fcoarray=lib,
handle hidden token and offset arguments for nondescriptor
coarrays.
* trans-expr.c (get_tree_for_caf_expr): New function.
(gfc_conv_procedure_call): For -fcoarray=lib pass the
token and offset for nondescriptor coarray dummies.
* trans.h (lang_type): Add caf_offset tree.
(GFC_TYPE_ARRAY_CAF_OFFSET): New macro.
2011-07-21 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray_lib_token_1.f90: New.
From-SVN: r176562
|
|
cfg-cleanup.
2011-07-21 Richard Guenther <rguenther@suse.de>
* tree-ssa-forwprop.c (combine_conversions): Return whether
we have to run cfg-cleanup. Properly remove dead stmts.
(ssa_forward_propagate_and_combine): Adjust.
From-SVN: r176561
|
|
monotonic_clock.
2011-07-21 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/mutex (timed_mutex, recursive_timed_mutex): Update
to use steady_clock instead of monotonic_clock.
* config/abi/pre/gnu.ver: Export steady_clock::now.
From-SVN: r176560
|
|
gcc/
* regcprop.c (maybe_mode_change): Check HARD_REGNO_MODE_OK.
From-SVN: r176558
|
|
2011-07-21 Kai Tietz <ktietz@redhat.com>
* tree-ssa-propagate.c (substitute_and_fold): Use
do_dce flag to deside, if BB's statements are scanned
in last to first, or first to last order.
From-SVN: r176556
|
|
From-SVN: r176554
|
|
* gcc.dg/pr32912-2.c: Skip for AVR.
* gcc.dg/pr44674.c: Add dg-require-profiling.
From-SVN: r176553
|
|
2011-07-20 Benjamin Kosnik <bkoz@redhat.com>
Daniel Krugler <daniel.kruegler@googlemail.com>
* include/std/array (array::at, array::operator[]): Mark constexpr.
* testsuite/23_containers/array/requirements/
constexpr_element_access.cc: Add.
Co-Authored-By: Daniel Krugler <daniel.kruegler@googlemail.com>
From-SVN: r176550
|
|
2011-07-20 Benjamin Kosnik <bkoz@redhat.com>
Daniel Krugler <daniel.kruegler@googlemail.com>
* include/std/chrono: (system_clock::is_steady): Update to N3291
from is_monotonic.
(time_point): Add constexpr to nonmember arithmetic operators.
* src/chrono.cc: Modify for above.
* src/compatibility-c++0x.cc: Same.
* testsuite/20_util/time_point/nonmember/constexpr.cc: New.
* testsuite/20_util/time_point/1.cc: Modify.
* testsuite/20_util/system_clock/constexpr_data.cc: Modify.
* testsuite/20_util/system_clock/1.cc: Modify.
* testsuite/20_util/monotonic_clock/constexpr_data.cc: Move to...
* testsuite/20_util/steady_clock/constexpr_data.cc: ...here.
* testsuite/30_threads/condition_variable/members/2.cc: Modify.
* testsuite/30_threads/condition_variable_any/members/2.cc: Modify.
From-SVN: r176549
|
|
From-SVN: r176548
|
|
2011-07-20 H.J. Lu <hongjiu.lu@intel.com>
Uros Bizjak <ubizjak@gmail.com>
Richard Henderson <rth@redhat.com>
* config/i386/constraints.md (w): New.
* config/i386/i386.c (ix86_output_addr_vec_elt): Check
TARGET_LP64 instead of TARGET_64BIT for ASM_QUAD.
* config/i386/i386.h (CASE_VECTOR_MODE): Check TARGET_LP64
instead of TARGET_64BIT.
* config/i386/i386.md (indirect_jump): Replace
nonimmediate_operand with indirect_branch_operand.
(*indirect_jump): Likewise. Replace constraint "m" with "w".
(tablejump): Replace nonimmediate_operand with
indirect_branch_operand. Convert operand 0 to Pmode for x32 if
not PIC.
(*tablejump_1): Replace nonimmediate_operand with
indirect_branch_operand. Replace constraint "m" with "w".
(*call_vzeroupper): Replace constraint "m" with "w".
(*call): Likewise.
(*call_rex64_ms_sysv_vzeroupper): Likewise.
(*call_rex64_ms_sysv): Likewise.
(*call_value_vzeroupper): Likewise.
(*call_value): Likewise.
(*call_value_rex64_ms_sysv_vzeroupper): Likewise.
(*call_value_rex64_ms_sysv): Likewise.
(set_got_offset_rex64): Check TARGET_LP64 instead of
TARGET_64BIT.
* config/i386/predicates.md (indirect_branch_operand): New.
(call_insn_operand): Support x32.
Co-Authored-By: Richard Henderson <rth@redhat.com>
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r176539
|
|
From-SVN: r176538
|
|
From-SVN: r176537
|
|
in index.
* config/i386/i386.c (ix86_decompose_address): Allow only subregs
of DImode hard registers in index.
(ix86_legitimate_address_p): Allow subregs of base and index to span
more than a word. Assert that subregs of base and index satisfy
register_no_elim_operand predicates. Reject addresses where
base and index have different modes.
From-SVN: r176536
|
|
gcc/
2011-07-20 Robert Millan <rmh@gnu.org>
* config.gcc (mips*-*-linux*): Remove redundant tm_file entry.
From-SVN: r176535
|
|
now-unnecessary assignment.
* bb-reorder.c (fix_crossing_conditional_branches): Fix crash by
removing now-unnecessary assignment.
From-SVN: r176533
|
|
initializer syntax.
* parser.c (cp_parser_initializer_list): Handle C99 .id= and [N]=
designated initializer syntax.
* decl.c (check_array_designated_initializer): Add index parm.
(maybe_deduce_size_from_array_init): Pass it.
(reshape_init_array_1): Likewise.
From-SVN: r176530
|
|
2011-07-20 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/system_error: Use noexcept.
* src/system_error.cc: Likewise.
* testsuite/19_diagnostics/error_condition/modifiers/39881.cc: Adjust.
* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
* testsuite/util/testsuite_error.h: Likewise.
* include/std/system_error (error_code::error_code(_ErrorCodeEnum)):
Use enable_if on template parameter default.
(error_condition::error_condition(_ErrorConditionEnum)): Likewise.
From-SVN: r176529
|
|
space to the type's address space.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Restore setting
memory address space to the type's address space.
From-SVN: r176528
|
|
PR target/36467
PR target/49687
* config/avr/avr.md (mulhi3): Use register_or_s9_operand for
operand2 and expand appropriately if there is a CONST_INT in
operand2.
(usmulqihi3): New insn.
(*sumulqihi3): New insn.
(*osmulqihi3): New insn.
(*oumulqihi3): New insn.
(*muluqihi3.uconst): New insn_and_split.
(*muluqihi3.sconst): New insn_and_split.
(*mulsqihi3.sconst): New insn_and_split.
(*mulsqihi3.uconst): New insn_and_split.
(*mulsqihi3.oconst): New insn_and_split.
(*ashifthi3.signx.const): New insn_and_split.
(*ashifthi3.signx.const7): New insn_and_split.
(*ashifthi3.zerox.const): New insn_and_split.
(mulsqihi3): New insn.
(muluqihi3): New insn.
(muloqihi3): New insn.
* config/avr/predicates.md (const_2_to_7_operand): New.
(const_2_to_6_operand): New.
(u8_operand): New.
(s8_operand): New.
(o8_operand): New.
(s9_operand): New.
(register_or_s9_operand): New.
From-SVN: r176527
|
|
truthvalue_type_node to long.
2011-07-20 Kai Tietz <ktietz@redhat.com>
* builtins.c (fold_builtin_expect): See through the cast
from truthvalue_type_node to long.
From-SVN: r176526
|
|
From-SVN: r176522
|
|
* Makefile.tpl (POSTSTAGE1_CONFIGURE_FLAGS): Add libsupc++ to
link directories.
* Makefile.in: Rebuild.
From-SVN: r176521
|
|
2011-07-20 Ed Smith-Rowland <3dw4rd@verizon.net>
* include/precompiled/stdc++.h: Add scoped_allocator.
From-SVN: r176520
|
|
2011-07-20 Benjamin Kosnik <bkoz@redhat.com>
* include/std/bitset (operator[]): Make constexpr.
* testsuite/23_containers/bitset/operations/constexpr.cc: New.
From-SVN: r176519
|
|
out match_scratch and match_dup.
2011-07-20 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* genrecog.c (make_insn_sequence): Correct position numbering
when filtering out match_scratch and match_dup.
From-SVN: r176518
|
|
removed statements.
2011-07-20 Richard Guenther <rguenther@suse.de>
* tree-ssa-forwprop.c (remove_prop_source_from_use): Robustify
against already removed statements.
(forward_propagate_into_comparison): Remove dead defining stmts.
(forward_propagate_into_gimple_cond): Likewise.
(forward_propagate_into_cond): Simplify.
(ssa_forward_propagate_and_combine): Handle changed cfg from
forward_propagate_into_comparison.
* tree-ssa-phiopt.c (conditional_replacement): Use proper
locations for newly built statements.
From-SVN: r176517
|
|
From-SVN: r176516
|
|
From-SVN: r176514
|
|
PR c++/6709 (DR 743)
PR c++/42603 (DR 950)
gcc/cp/
* parser.c (token_is_decltype, cp_lexer_next_token_is_decltype): New.
(cp_parser_nested_name_specifier_opt): Allow decltype.
(cp_parser_qualifying_entity): Likewise.
(cp_parser_decltype): Replace source tokens with CPP_DECLTYPE.
(cp_parser_simple_type_specifier): Handle decltype as scope.
(cp_parser_base_specifier): Allow decltype.
(cp_parser_base_clause): Don't crash on null base.
* parser.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move to c-common.h.
(CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
gcc/c-family/
* c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
(CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
(CPP_DECLTYPE): New.
* c-common.c (c_parse_error): Handle CPP_DECLTYPE.
From-SVN: r176513
|
|
PR bootstrap/49787
* configure.ac: Move --enable-bootstrap handling earlier in file.
If --enable-bootstrap and either --enable-build-with-cxx or
--enable-build-poststage1-with-cxx, enable C++ automatically.
* configure: Rebuild.
From-SVN: r176512
|
|
2011-07-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_class_max_nregs): Fix return type.
* config/s390/s390-protos.h (s390_class_max_nregs): Likewise.
From-SVN: r176511
|
|
2011-07-20 Richard Guenther <rguenther@suse.de>
PR middle-end/18908
* tree.c (integer_all_onesp): Use TYPE_PRECISION, not mode precision.
* tree-ssa-forwprop.c (simplify_bitwise_binary): Remove bogus
ADDR_EXPR folding. Canonicalize X ^ ~0 as ~X.
* gcc.dg/tree-ssa/pr18908.c: New testcase.
* gcc.dg/tree-ssa/bitwise-sink.c: Adjust.
From-SVN: r176510
|
|
2011-07-20 Richard Guenther <rguenther@suse.de>
PR middle-end/18908
* tree.c (integer_all_onesp): Use TYPE_PRECISION, not mode precision.
* tree-ssa-forwprop.c (simplify_bitwise_binary): Remove bogus
ADDR_EXPR folding. Canonicalize X ^ ~0 as ~X.
* gcc.dg/tree-ssa/pr18908.c: New testcase.
* gcc.dg/tree-ssa/bitwise-sink.c: Adjust.
From-SVN: r176508
|
|
GR_REGS.
2011-07-20 Vladimir Makarov <vmakarov@redhat.com>
* config/frv/frv.c (frv_register_move_cost): Define explicitly
costs for subclasses of GR_REGS.
From-SVN: r176507
|
|
tree-ssa-address.c:806)
PR target/49780
* config/i386/predicates.md (no_seg_addres_operand): No more special.
* config/i386/i386.c (ix86_decompose_address): Allow only subregs
of DImode hard registers in base.
(ix86_legitimate_address_p): Allow SImode and DImode base and index
registers.
From-SVN: r176506
|
|
2011-07-20 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (new_var_info): Allocate oldsolution
lazily.
(unify_nodes): Deal with that.
(solve_graph): Likewise.
From-SVN: r176505
|
|
_Iterator&, size_type, const _Sequence*)): Fix typo.
2011-07-20 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
_Safe_local_iterator(const _Iterator&, size_type, const _Sequence*)):
Fix typo.
From-SVN: r176500
|
|
from ZERO_EXTEND to AND.
2011-07-20 Chung-Lin Tang <cltang@codesourcery.com>
* config/arm/arm.c (arm_canonicalize_comparison): Add case to
canonicalize left operand from ZERO_EXTEND to AND.
testsuite/
* gcc.target/arm/combine-movs.c: New.
* gcc.target/arm/unsigned-extend-2.c: New.
From-SVN: r176495
|
|
From-SVN: r176494
|
|
* target.def (class_max_nregs): New hook.
* doc/tm.texi.in (TARGET_CLASS_MAX_NREGS): Document.
* doc/tm.texi: Regenerate.
* targhooks.c (default_class_max_nregs): New function.
* targhooks.h (default_class_max_nregs): Declare.
* ira.h (target_ira): Change type x_ira_reg_class_max_nregs and
x_ira_reg_class_min_nregs arrays to unsigned char.
* ira.c (setup_reg_class_nregs): Use TARGET_CLASS_MAX_NREGS target
hook instead of CLASS_MAX_NREGS macro.
* reginfo.c (restore_register_info): Ditto.
* ira-conflicts.c (process_regs_for_copy): Use
ira_reg_class_max_nregs array instead of CLASS_MAX_NREGS macro.
Change type rclass and aclass vars to reg_class_t.
* ira-costs.c (record_reg_classes): Use ira_reg_class_max_nregs
array instead of CLASS_MAX_NREGS macro. Change type rclass var to
reg_class_t.
* reload.c (combine_reloads, find_reloads, find_reloads_address_1):
Use ira_reg_class_max_nregs array instead of CLASS_MAX_NREGS macro.
* config/i386/i386.h (CLASS_MAX_NREGS): Remove.
* config/i386/i386.c (ix86_class_max_nregs): New function.
(ix86_register_move_cost): Use TARGET_CLASS_MAX_NREGS target hook
instead of CLASS_MAX_NREGS macro.
(TARGET_CLASS_MAX_NREGS): Define.
* config/avr/avr.h (CLASS_MAX_NREGS): Remove.
* config/avr/avr-protos.h (class_max_nregs): Remove declaration.
* config/avr/avr.c (class_max_nregs): Remove function.
* config/alpha/alpha.h (CLASS_MAX_NREGS): Remove.
* config/spu/spu.h (CLASS_MAX_NREGS): Remove.
* config/mep/mep.h (CLASS_MAX_NREGS): Remove.
* config/m32r/m32r.h (CLASS_MAX_NREGS): Remove.
* config/microblaze/microblaze.h (CLASS_MAX_NREGS): Remove.
* config/xtensa/xtensa.h (CLASS_MAX_NREGS): Remove.
* config/stormy16/stormy16.h (CLASS_MAX_NREGS): Remove.
* config/lm32/lm32.h (CLASS_MAX_NREGS): Remove.
* config/moxie/moxie.h (CLASS_MAX_NREGS): Remove.
* config/iq2000/iq2000.h (CLASS_MAX_NREGS): Remove.
* config/mn10300/mn10300.h (CLASS_MAX_NREGS): Remove.
* config/score/score.h (CLASS_MAX_NREGS): Remove.
* config/vax/vax.h (CLASS_MAX_NREGS): Remove.
* config/h8300/h8300.h (CLASS_MAX_NREGS): Remove.
* config/v850/v850.h (CLASS_MAX_NREGS): Remove.
From-SVN: r176490
|
|
* cif-code.def (OVERWRITABLE): Fix typo and move around.
(TARGET_OPTIMIZATION_MISMATCH): Delete.
(EH_PERSONALITY): Fix typo.
(NON_CALL_EXCEPTIONS): Fix message.
(OPTIMIZATION_MISMATCH): Adjust message.
* ipa-inline.c (can_inline_edge_p): Use CIF_OPTIMIZATION_MISMATCH.
From-SVN: r176488
|
|
iterators.
2011-07-19 François Dumont <francois.cppdevs@free.fr>
* include/debug/safe_unordered_base.h, safe_unordered_sequence.h,
safe_unordered_sequence.tcc, safe_local_iterator.h,
safe_local_iterator.tcc: New, support for unordered sequence safe
local iterators.
* include/Makefile.am: Add previous files.
* include/Makefile.in: Regenerate.
* include/debug/unordered_map, unordered_set: Implement
_Safe_unordered_sequence and expose _Safe_local_iterator.
* include/debug/safe_iterator.h, safe_iterator.tcc: Refactor
_Safe_iterator::_M_get_distance static method to expose it as
__get_distance function and use it in _Safe_local_iterator type.
* include/debug/formatter.h: Add __msg_local_iter_compare_bad
_Debug_msg_id enum entry to notify invalid comparison between local
iterators from different buckets. Add _Parameter constructor from
_Safe_local_iterator.
* include/debug/functions.h: Add __valid_range overload for
_Safe_local_iterator.
* src/debug.cc: Add _Safe_unordered_sequence_base and
_Safe_local_iterator_base methods implementations.
* config/abi/pre/gnu.ver: Add export of some
_Safe_unordered_sequence_base and _Safe_local_iterator_base methods.
* testsuite/util/debug/checks.h: Add use_invalid_iterator function to
simulate use of a singular iterator.
* testsuite/util/debug/unordered_checks.h: New, several functions
to simulate classic invalid usage of unordered sequence local
iterators.
* testsuite/23_containers/unordered_map/debug/
use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
invalid_local_iterator_compare_neg.cc: New.
* testsuite/23_containers/unordered_multimap/debug/
use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
invalid_local_iterator_compare_neg.cc: New.
* testsuite/23_containers/unordered_set/debug/
use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
invalid_local_iterator_compare_neg.cc: New.
* testsuite/23_containers/unordered_multiset/debug/
use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
invalid_local_iterator_compare_neg.cc: New.
From-SVN: r176487
|
|
./: * configure.ac: Add --enable-build-poststage1-with-cxx. If set,
make C++ a boot_language. Set and substitute
POSTSTAGE1_CONFIGURE_FLAGS.
* Makefile.tpl (POSTSTAGE1_CONFIGURE_FLAGS): New variable.
(STAGE[+id+]_CONFIGURE_FLAGS): Add $(POSTSTAGE1_CONFIGURE_FLAGS).
* configure, Makefile.in: Rebuild.
gcc/:
* doc/install.texi (Configuration): Document
--enable-build-poststage1-with-cxx.
From-SVN: r176480
|
|
gcc/
2011-07-19 Robert Millan <rmh@gnu.org>
* config/mips/gnu-user.h: Copy from linux.h. Update comments.
(GLIBC_DYNAMIC_LINKER): Remove.
* config/mips/gnu-user64.h: Copy from linux64.h. Update comments.
(GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64)
(GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
(BIONIC_DYNAMIC_LINKERN32, GNU_USER_DYNAMIC_LINKERN32): Remove.
(LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32,
GNU_USER_DYNAMIC_LINKER64 and GNU_USER_LINK_EMULATIONN32.
* config/mips/linux.h: Remove everything except for ...
(GLIBC_DYNAMIC_LINKER): ... this macro.
* config/mips/linux64.h: Remove everything except for ...
(GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64)
(GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
(BIONIC_DYNAMIC_LINKERN32): ... these macros.
(GNU_USER_LINK_EMULATION32, GNU_USER_LINK_EMULATION64)
(GNU_USER_LINK_EMULATIONN32): New macros.
* config.gcc (mips64*-*-linux* | mipsisa64*-*-linux* |
mips-*-linux*): Use the new headers.
From-SVN: r176479
|