Age | Commit message (Collapse) | Author | Files | Lines |
|
be used as constant.
* doc/extend.texi (dllimport): Document that pointers to dllimport'd
functions can be used as constant.
From-SVN: r130124
|
|
From-SVN: r130123
|
|
-fnon-call-exceptions -ffast-math -fno-gcse)
PR rtl-optimization/34035
* cse.c (cse_cfg_altered): New global variable.
(cse_jumps_altered): Make boolean.
(recorded_label_ref): Likewise.
(cse_insn): Adjust for above changes.
(cse_extended_basic_block): Likewise. Set cse_cfg_altered
if dead edges have been purged.
(cse_main): Change return value specification and adjust code.
(rest_of_handle_cse): Adjust for above change.
(rest_of_handle_cse2): Likewise.
* gcse.c (rest_of_handle_gcse): Likewise.
From-SVN: r130122
|
|
suffix for the coms* instruction.
2007-11-12 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
Michael Meissner <michael.meissner@amd.com>
* config/i386/i386.md (sse5_setcc<mode>): Use <ssemodefsuffix>
to get the appropriate suffix for the coms* instruction.
(sse5_pcmov_<mode>): Restrict operands of pcmov
for scalar case to be only xmm registers and not memory.
* config/i386/sse.md (sse5_pcmov_<mode>): Correct the operand
constraints to follow the mnemonics for the pcmov instruction
Co-Authored-By: Michael Meissner <michael.meissner@amd.com>
From-SVN: r130120
|
|
gcc/
PR target/34042
* config/mips/mips.c (mips_return_fpr_single): New function.
(mips_function_value): Use it when returning single-field
aggregates in FPRs.
(mips_expand_call): Handle the PARALLELs created by
mips_return_fpr_single.
From-SVN: r130119
|
|
From-SVN: r130104
|
|
2007-11-12 Chris Jefferson <chris@bubblescope.net>
Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_deque.h (deque<>::push_back<>(_Args...),
deque<>::push_front<>(_Args...), emplace<>(iterator, _Args...),
insert(iterator, _Tp&&), _M_push_back_aux<>(_Args&&...),
_M_push_front_aux<>(_Args&&...), _M_insert_aux<>(iterator,
_Args&&...)): Add.
* include/deque/deque.tcc (insert(iterator, value_type&&),
emplace<>(iterator, _Args...), _M_push_back_aux<>(_Args&&...),
_M_push_front_aux<>(_Args&&...), _M_insert_aux<>(iterator,
_Args&&...)): Define.
(_M_insert_aux(iterator, size_type, const value_type&),
_M_insert_aux<>(iterator, _ForwardIterator, _ForwardIterator,
size_type)): Use _GLIBCXX_MOVE3, _GLIBCXX_MOVE_BACKWARD3,
__uninitialized_move*, __uninitialized_fill_move,
__uninitialized_copy_move, when possible.
* include/bits/stl_uninitialized.h (__uninitialized_copy_copy,
__uninitialized_fill_copy, __uninitialized_copy_fill): Remove.
(__uninitialized_copy_move, __uninitialized_move_copy,
__uninitialized_move_fill, __uninitialized_fill_move): Add.
* include/debug/deque (deque<>::push_back<>(_Args...),
deque<>::push_front<>(_Args...), emplace<>(iterator, _Args...),
insert(iterator, _Tp&&)): Add.
* testsuite/23_containers/deque/modifiers/moveable.cc: Enable.
* testsuite/23_containers/deque/capacity/moveable.cc: Likewise.
* testsuite/23_containers/deque/cons/moveable.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-error line numbers.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* include/debug/vector (vector<>::insert(iterator, _Tp&&)): Minor
tweak, prefer std::move.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r130102
|
|
2007-11-12 Richard Guenther <rguenther@suse.de>
PR middle-end/34070
* fold-const.c (fold_binary): If testing for non-negative
operands with tree_expr_nonnegative_warnv_p make sure to
use op0 which has all (sign) conversions retained.
* gcc.c-torture/execute/pr34070-1.c: New testcase.
* gcc.c-torture/execute/pr34070-2.c: Likewise.
From-SVN: r130098
|
|
2007-11-12 Richard Guenther <rguenther@suse.de>
PR middle-end/34027
* fold-const.c (fold_binary): Fold n - (n / m) * m to n % m.
(fold_binary): Fold unsinged FLOOR_DIV_EXPR to TRUNC_DIV_EXPR.
* gcc.dg/pr34027-1.c: New testcase.
* gcc.dg/pr34027-2.c: Likewise.
From-SVN: r130097
|
|
VEC(tree,base) index domain error, in vectorizable_operation at tree-vect-transform.c:4017)
PR tree-optimization/33953
* tree-vect-transform.c (vectorizable_operation): In case of SLP,
allocate vec_oprnds1 according to the number of created vector
statements. In case of shift with scalar argument, store scalar operand
for every vector statement to be created for the SLP node. Fix a
comment.
From-SVN: r130096
|
|
From-SVN: r130094
|
|
to which it applies)
gcc/cp
PR c++/17577:
* lex.c (handle_pragma_implementation): Use cpp_included_before.
gcc/testsuite
PR c++/17577:
* g++.dg/ext/pr17577.h: New file.
* g++.dg/ext/pr17577.C: New file.
libcpp
PR c++/17557:
* include/cpplib.h (cpp_included_before): Declare.
* files.c (struct file_hash_entry) <location>: New field.
(_cpp_find_file): Initialize new field.
(make_cpp_dir): Likewise.
(cpp_included_before): New function.
From-SVN: r130093
|
|
template friend declaration)
2007-11-12 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR c++/8570
cp/
* pt.c (redeclare_class_template): Update error message. Use a
note to show the previous declaration.
(tsubst_friend_class): Use the location of the friend template as
the input location before calling redeclare_class_template.
testsuite/
* g++.old-deja/g++.ns/template13.C: Update expected output.
* g++.old-deja/g++.pt/friend23.C: Likewise.
* g++.dg/warn/pr8570.C: New.
From-SVN: r130092
|
|
From-SVN: r130090
|
|
PR c++/34068
* semantics.c (finish_pseudo_destructor_expr): Handle
object == error_mark_node.
* g++.dg/template/pseudodtor4.C: New test.
From-SVN: r130087
|
|
2007-11-11 Howard Hinnant <hhinnant@apple.com>
* include/bits/stl_pair.h (pair<>::pair<>(_U1&&, _Arg0&&,
_Args&&...)): Add.
From-SVN: r130085
|
|
From-SVN: r130084
|
|
2007-11-08 Paolo Carlini <pcarlini@suse.de>
* docs/html/ext/lwg-active.html: Update to Revision R52.
* docs/html/ext/lwg-closed.html: Likewise.
* docs/html/ext/lwg-defects.html: Likewise.
* docs/html/ext/howto.html: Adjust.
From-SVN: r130083
|
|
2007-11-11 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_list.h (list<>::_M_create_node<>(_Args&&...),
_M_insert<>(iterator, _Args&&...), push_front<>(_Args&&...),
push_back<>(_Args&&...)): Add.
(list<>::emplace<>(iterator, _Args&&...), insert(iterator,
value_type&&)): Declare.
(splice(iterator, list&&), splice(iterator, list&&, iterator),
splice(iterator, list&&, iterator, iterator), merge(list&&),
merge(list&&, _StrictWeakOrdering)): Add C++0x signatures.
* include/bits/list.tcc (list<>::emplace<>(iterator, _Args&&...),
insert(iterator, value_type&&)): Define.
* include/debug/list (list<>::emplace<>(iterator, _Args&&...),
insert(iterator, value_type&&)): Add.
(splice(iterator, list&&), splice(iterator, list&&, iterator),
splice(iterator, list&&, iterator, iterator), merge(list&&),
merge(list&&, _StrictWeakOrdering)): Add C++0x signatures, use
_GLIBCXX_MOVE.
From-SVN: r130082
|
|
From-SVN: r130080
|
|
error when...
gcc/ada/
* a-tasatt.adb: Revert previous change for this file as it will
generate an error when this package is instantiated from a
local context.
From-SVN: r130076
|
|
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
sv.po, tr.po, uk,po, vi.po, zh_CN.po, zh_TW.po: Update.
From-SVN: r130075
|
|
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
ru.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.
From-SVN: r130074
|
|
From-SVN: r130073
|
|
execution test)
PR fortran/33592
* trans.c (gfc_call_realloc): Fix the logic and rename variables.
From-SVN: r130072
|
|
2007-11-10 Steven Bosscher <stevenb.gcc@gmail.com>
* gcse.c (CUID_INSN): Remove.
(cuid_insn): Ditto.
(alloc_gcse_mem): Don't allocate cuid_insn.
(free_gcse_mem): Don't free cuid_insn.
From-SVN: r130071
|
|
on IPF)
PR fortran/34020
* gimplify.c (goa_lhs_expr_p): Inside INDIRECT_REF handle unshared
nops.
* testsuite/libgomp.fortran/pr34020.f90: New test.
From-SVN: r130069
|
|
PR middle-end/34018
* tree-inline.h (copy_body_data): Add regimplify field.
* tree-inline.c (copy_body_r): Set id->regimplify to true
if an TREE_INVARIANT ADDR_EXPR is no longer invariant after
substitutions.
(copy_bb): Clear id->regimplify before walk_tree, if it is
set afterwards, regimplify the whole statement.
* g++.dg/opt/inline14.C: New test.
From-SVN: r130068
|
|
(vectorizer))
PR tree-optimization/33680
* tree-data-ref.c (split_constant_offset) <case ADDR_EXPR>: Punt
if the added cast involves variable length types.
* gcc.c-torture/compile/20071108-1.c: New test.
From-SVN: r130067
|
|
PR c++/32241
* pt.c (tsubst_copy_and_build) <case COMPONENT_REF>: If object_type
is not scalar type, let finish_class_member_access_expr handle
diagnostics. Pass BIT_NOT_EXPR argument to
finish_pseudo_destructor_expr. Handle SCOPE_REF properly.
* g++.dg/template/pseudodtor3.C: New test.
From-SVN: r130066
|
|
wrong with packs)
2007-11-09 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33510
* decl.c (cp_complete_array_type): If any of the initializer
elements are pack expansions, don't compute the array size yet.
2007-11-09 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33510
* g++.dg/cpp0x/variadic-init.C: New.
From-SVN: r130065
|
|
From-SVN: r130063
|
|
* gcc/sched-deps.c (sched_analyze_insn): Use MOVE_BARRIER
instead of TRUE_BARRIER for jumps. Add register dependencies
even when reg_pending_barrier is set.
Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
From-SVN: r130052
|
|
call clear first.
2007-11-09 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_deque.h (deque<>::operator=(deque&&)): Implement
resolution of DR 675, call clear first.
* include/bits/stl_list.h (list<>::operator=(list&&)): Likewise.
* include/bits/stl_bvector.h (vector<bool>::operator=(vector&&)):
Likewise.
* include/bits/stl_vector.h (vector<>::operator=(vector&&)): Likewise.
* include/bits/stl_map.h (map<>::operator=(map&&)): Likewise.
* include/bits/stl_multimap.h (multimap<>::operator=(multimap&&)):
Likewise.
* include/bits/stl_multiset.h (multiset<>::operator=(multiset&&)):
Likewise.
* include/bits/stl_set.h (set<>::operator=(set&&)): Likewise.
* include/debug/map.h (map<>::operator=(map&&)): Likewise.
* include/debug/set.h (set<>::operator=(set&&)): Likewise.
* include/debug/multimap.h (multimap<>::operator=(multimap&&)):
Likewise.
* include/debug/multiset.h (multiset<>::operator=(multiset&&)):
Likewise.
* include/debug/deque (deque<>::operator=(deque&&)): Likewise.
* include/debug/list (list<>::operator=(list&&)): Likewise.
* include/debug/vector (vector<>::operator=(vector&&)): Likewise.
* testsuite/23_containers/multimap/moveable.cc: Adjust.
* testsuite/23_containers/multiset/moveable.cc: Likewise.
* testsuite/23_containers/set/moveable.cc: Likewise.
* testsuite/23_containers/map/moveable.cc: Likewise.
* testsuite/20_util/pair/moveable.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-error line numbers.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
From-SVN: r130051
|
|
* gcc/haifa-sched.c (haifa_classify_insn): Rename to ...
(haifa_classify_rtx): ... this. Improve handling of COND_EXECs,
handle PARALLELs by recursing. Use it ...
(haifa_classify_insn): ... here. Reimplement.
From-SVN: r130050
|
|
2007-11-09 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/34032
* acinclude.m4 ([GLIBCXX_ENABLE_C99], [GLIBCXX_CHECK_C99_TR1]):
Use -std=c++98 instead of the default -std=gnu++98.
* configure: Regenerate.
From-SVN: r130047
|
|
2007-11-09 Richard Guenther <rguenther@suse.de>
* bitmap.h (bitmap_single_bit_set_p): Declare.
* bitmap.c (bitmap_single_bit_set_p): New function.
* tree-ssa-alias.c (add_may_alias_for_new_tag): Use it.
(maybe_create_global_var): Use bitmap_empty_p.
From-SVN: r130045
|
|
PR rtl-optimization/34012
* fwprop.c (try_fwprop_subst): Do not replace if the new
SET_SRC has a higher cost than the old one.
* gcc.target/i386/pr34012.c: New test.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r130043
|
|
PR rtl-optimization/33732
* reload.c (push_reload): Check that the REG_DEAD note was referring
to a hardreg or to a pseudo that has been assigned exactly one hardreg
before considering it in order to select the reload register.
(combine_reloads): Likewise.
(find_dummy_reload): Likewise.
From-SVN: r130042
|
|
2007-11-09 Richard Guenther <rguenther@suse.de>
* tree-flow.h (struct ptr_info_def): Make escape_mask a
ENUM_BITFIELD.
(struct ptr_info_def): Likewise.
(enum escape_type): Also use bit zero.
From-SVN: r130041
|
|
4.3/4.4 compared to 4.2)
2007-11-09 Richard Guenther <rguenther@suse.de>
PR tree-optimization/33604
* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
Disregard changes in CV qualifiers of pointed to types for
forward propagating ADDR_EXPRs.
* tree-ssa-ccp.c (fold_stmt_r): Preserve volatileness of the original
expression.
* g++.dg/tree-ssa/pr33604.C: New testcase.
* gcc.dg/pr32721.c: Adjust pattern.
From-SVN: r130040
|
|
gcc/
* dse.c (find_shift_sequence): Always choose an integer mode for
new_mode.
(replace_read): Require both the read and store mode to be
integer ones. Remove a then-redundant FLOAT_P check.
gcc/testsuite/
* gcc.target/mips/dse-1.c: Disable.
From-SVN: r130039
|
|
From-SVN: r130033
|
|
2007-11-08 Richard Guenther <rguenther@suse.de>
* tree-dfa.c (remove_referenced_var): If removing a
variable which has subvars, also remove those from
the referenced vars. Do not create a variable annotation.
From-SVN: r130030
|
|
* config/xtensa/xtensa.c (xtensa_expand_prologue): Remove first
argument for gen_entry calls.
* config/xtensa/xtensa.md: Add new "entry" value to "type" attribute.
(entry): Use the new attribute value. Remove unused first operand.
From-SVN: r130029
|
|
From-SVN: r130027
|
|
From-SVN: r130026
|
|
gcc
* c-parser.c (c_parser_translation_unit): Use location in error.
(c_parser_external_declaration): Likewise.
(c_parser_declaration_or_fndef): Likewise.
(c_parser_enum_specifier): Likewise.
(c_parser_struct_or_union_specifier): Likewise.
(c_parser_struct_declaration): Likewise.
(c_parser_typeof_specifier): Likewise.
(c_parser_parms_list_declarator): Likewise.
(c_parser_asm_string_literal): Likewise.
(c_parser_braced_init): Likewise.
(c_parser_initelt): Likewise.
(c_parser_compound_statement_nostart): Likewise.
(c_parser_statement_after_labels): Likewise.
(c_parser_do_statement): Likewise.
(c_parser_asm_statement): Likewise.
(c_parser_conditional_expression): Likewise.
(c_parser_unary_expression): Likewise.
(c_parser_sizeof_expression): Likewise.
(c_parser_postfix_expression): Likewise.
(c_parser_postfix_expression_after_paren_type): Likewise.
(c_parser_objc_class_instance_variables): Likewise.
(c_parser_objc_method_definition): Likewise.
(c_parser_objc_methodprotolist): Likewise.
(c_parser_pragma): Likewise.
(c_parser_omp_clause_num_threads): Likewise.
(c_parser_omp_clause_schedule): Likewise.
(c_parser_omp_all_clauses): Likewise.
(c_parser_omp_sections_scope): Likewise.
(c_parser_label): Use location of label, not colon.
gcc/testsuite
* gcc.dg/empty-source-3.c: Update warning location.
* gcc.dg/gomp/barrier-2.c: Likewise.
* gcc.dg/label-decl-3.c: Likewise.
* gcc.dg/label-decl-2.c: Likewise.
* gcc.dg/empty-source-2.c: Likewise.
From-SVN: r130025
|
|
struct/union fields)
PR target/33774
* config/i386/cygming.h (BIGGEST_FIELD_ALIGNMENT): Define only if
IN_TARGET_LIBS.
From-SVN: r130024
|
|
gcc/cp
2007-11-08 Andrew Pinski <pinskia@gmail.com>
PR c++/30297:
* tree.c (decl_linkage): Fields have no linkage.
gcc/testsuite
PR c++/30297:
* g++.dg/inherit/pr30297.C: New file.
From-SVN: r130018
|