Chris Jefferson [Mon, 12 Nov 2007 16:01:09 +0000 (16:01 +0000)]
stl_deque.h (deque<>::push_back<>(_Args...), [...]): Add.
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
Richard Guenther [Mon, 12 Nov 2007 14:16:05 +0000 (14:16 +0000)]
re PR middle-end/34070 (Wrong code for (int)x%4)
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
Richard Guenther [Mon, 12 Nov 2007 13:24:06 +0000 (13:24 +0000)]
re PR tree-optimization/34027 (-Os code size nearly doubled)
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
Ira Rosen [Mon, 12 Nov 2007 09:32:13 +0000 (09:32 +0000)]
re PR tree-optimization/33953 (internal compiler error: vector 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
Tom Tromey [Mon, 12 Nov 2007 00:40:07 +0000 (00:40 +0000)]
Fix erroneous ChangeLog change
From-SVN: r130094
Tom Tromey [Mon, 12 Nov 2007 00:38:48 +0000 (00:38 +0000)]
re PR c++/17577 (#pragma implementation no longer diagnoses use after file 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
Manuel López-Ibáñez [Mon, 12 Nov 2007 00:28:41 +0000 (00:28 +0000)]
re PR c++/8570 (line number in error message is badly placed with illegal 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
GCC Administrator [Mon, 12 Nov 2007 00:17:13 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130090
Jakub Jelinek [Sun, 11 Nov 2007 22:27:18 +0000 (23:27 +0100)]
re PR c++/34068 (ICE using pseudo-destructor for invalid expression)
PR c++/34068
* semantics.c (finish_pseudo_destructor_expr): Handle
object == error_mark_node.
* g++.dg/template/pseudodtor4.C: New test.
From-SVN: r130087
Howard Hinnant [Sun, 11 Nov 2007 15:56:09 +0000 (15:56 +0000)]
stl_pair.h (pair<>::pair<>(_U1&&, _Arg0&&, _Args&&...)): Add.
2007-11-11 Howard Hinnant <hhinnant@apple.com>
* include/bits/stl_pair.h (pair<>::pair<>(_U1&&, _Arg0&&,
_Args&&...)): Add.
From-SVN: r130085
Joseph Myers [Sun, 11 Nov 2007 13:34:54 +0000 (13:34 +0000)]
* de.po, zh_CN.po: Update.
From-SVN: r130084
Paolo Carlini [Sun, 11 Nov 2007 11:47:12 +0000 (11:47 +0000)]
lwg-active.html: Update to Revision R52.
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
Paolo Carlini [Sun, 11 Nov 2007 11:46:10 +0000 (11:46 +0000)]
stl_list.h (list<>::_M_create_node<>(_Args&&...), [...]): Add.
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
GCC Administrator [Sun, 11 Nov 2007 00:17:05 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130080
Samuel Tardieu [Sat, 10 Nov 2007 22:20:15 +0000 (22:20 +0000)]
a-tasatt.adb: Revert previous change for this file as it will generate an 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
Joseph Myers [Sat, 10 Nov 2007 18:36:53 +0000 (18:36 +0000)]
be.po, [...]: Update.
* 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
Joseph Myers [Sat, 10 Nov 2007 18:36:27 +0000 (18:36 +0000)]
be.po, [...]: Update.
* 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
Francois-Xavier Coudert [Sat, 10 Nov 2007 18:03:22 +0000 (18:03 +0000)]
* trans-common.c: Remove prototype for gfc_get_common.
From-SVN: r130073
Francois-Xavier Coudert [Sat, 10 Nov 2007 18:02:18 +0000 (18:02 +0000)]
re PR fortran/33592 (FAIL: gfortran.dg/array_constructor_11.f90 -O1 execution test)
PR fortran/33592
* trans.c (gfc_call_realloc): Fix the logic and rename variables.
From-SVN: r130072
Steven Bosscher [Sat, 10 Nov 2007 14:54:39 +0000 (14:54 +0000)]
gcse.c (CUID_INSN): Remove.
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
Jakub Jelinek [Sat, 10 Nov 2007 07:51:55 +0000 (08:51 +0100)]
re PR fortran/34020 (Bogus codegen for openmp atomics w/ indirects operands 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
Jakub Jelinek [Sat, 10 Nov 2007 07:46:31 +0000 (08:46 +0100)]
re PR middle-end/34018 (ICE: verify_stmts failed)
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
Jakub Jelinek [Sat, 10 Nov 2007 07:40:37 +0000 (08:40 +0100)]
re PR tree-optimization/33680 (ICE when compilling elbg.c from ffmpeg (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
Jakub Jelinek [Sat, 10 Nov 2007 07:36:09 +0000 (08:36 +0100)]
re PR c++/32241 (ICE trying to call x.~X(); in a template)
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
Douglas Gregor [Sat, 10 Nov 2007 02:53:31 +0000 (02:53 +0000)]
re PR c++/33510 (Array size of array with size determined by the initializer 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
GCC Administrator [Sat, 10 Nov 2007 00:17:18 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130063
Alexander Monakov [Fri, 9 Nov 2007 17:23:42 +0000 (20:23 +0300)]
Maxim Kuvyrkov <maxim@codesourcery.com>
* 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
Paolo Carlini [Fri, 9 Nov 2007 17:18:10 +0000 (17:18 +0000)]
stl_deque.h (deque<>::operator=(deque&&)): Implement resolution of DR 675, 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
Alexander Monakov [Fri, 9 Nov 2007 17:02:10 +0000 (20:02 +0300)]
haifa-sched.c (haifa_classify_insn): Rename to ...
* 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
Paolo Carlini [Fri, 9 Nov 2007 15:54:33 +0000 (15:54 +0000)]
re PR libstdc++/34032 (-std=c++0x causes undeclared symbols errors on cygwin)
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
Richard Guenther [Fri, 9 Nov 2007 14:01:33 +0000 (14:01 +0000)]
bitmap.h (bitmap_single_bit_set_p): Declare.
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
Paolo Bonzini [Fri, 9 Nov 2007 13:02:25 +0000 (13:02 +0000)]
re PR rtl-optimization/34012 (Pessimization caused by fwprop)
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
Eric Botcazou [Fri, 9 Nov 2007 12:49:55 +0000 (13:49 +0100)]
re PR rtl-optimization/33732 (gcc.c-torture/execute/longlong.c execution at -O3)
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
Richard Guenther [Fri, 9 Nov 2007 12:47:22 +0000 (12:47 +0000)]
tree-flow.h (struct ptr_info_def): Make escape_mask a ENUM_BITFIELD.
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
Richard Guenther [Fri, 9 Nov 2007 12:32:20 +0000 (12:32 +0000)]
re PR target/33604 (Revision 119502 causes significantly slower results with 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
Richard Sandiford [Fri, 9 Nov 2007 12:11:48 +0000 (12:11 +0000)]
dse.c (find_shift_sequence): Always choose an integer mode for new_mode.
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
GCC Administrator [Fri, 9 Nov 2007 00:17:22 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130033
Richard Guenther [Thu, 8 Nov 2007 22:35:44 +0000 (22:35 +0000)]
tree-dfa.c (remove_referenced_var): If removing a variable which has subvars...
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
Bob Wilson [Thu, 8 Nov 2007 22:08:02 +0000 (22:08 +0000)]
xtensa.c (xtensa_expand_prologue): Remove first argument for gen_entry calls.
* 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
Joseph Myers [Thu, 8 Nov 2007 21:15:46 +0000 (21:15 +0000)]
* cpplib.pot: Regenerate.
From-SVN: r130027
Joseph Myers [Thu, 8 Nov 2007 21:15:16 +0000 (21:15 +0000)]
* gcc.pot: Regenerate.
From-SVN: r130026
Tom Tromey [Thu, 8 Nov 2007 20:50:37 +0000 (20:50 +0000)]
c-parser.c (c_parser_translation_unit): Use location in error.
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
Danny Smith [Thu, 8 Nov 2007 20:20:02 +0000 (20:20 +0000)]
re PR target/33774 (Cygwin/mingw do not support 16 byte alignment of struct/union fields)
PR target/33774
* config/i386/cygming.h (BIGGEST_FIELD_ALIGNMENT): Define only if
IN_TARGET_LIBS.
From-SVN: r130024
Tom Tromey [Thu, 8 Nov 2007 19:50:38 +0000 (19:50 +0000)]
re PR c++/30297 (ICE with extern "C" and inheritance)
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
Danny Smith [Thu, 8 Nov 2007 19:47:36 +0000 (19:47 +0000)]
* gcc.dg/compat/struct-layout-1_generate.c (dg-options) Add
-fno-common for cygwin and mingw32.
From-SVN: r130017
Francois-Xavier Coudert [Thu, 8 Nov 2007 19:19:50 +0000 (19:19 +0000)]
re PR debug/33739 (Failure of gfortran.dg/literal_character_constant_1_*.F with -m64 -g on Darwin)
PR fortran/33739
* scanner.c (start_source_file, end_source_file,
exit_remaining_files): New functions.
(gfc_advance_line): Use the new functions.
From-SVN: r130016
Francois-Xavier Coudert [Thu, 8 Nov 2007 19:17:19 +0000 (19:17 +0000)]
* mk-kinds-h.sh: Change sed syntax.
From-SVN: r130015
Alexander Monakov [Thu, 8 Nov 2007 17:33:15 +0000 (20:33 +0300)]
MAINTAINERS (Write After Approval): Add myself.
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r130008
Kenneth Zadeck [Thu, 8 Nov 2007 16:45:53 +0000 (16:45 +0000)]
[multiple changes]
2007-11-07 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/33826
* ipa-pure-const (static_execute): Added code to keep recursive
functions from being marked as pure or const.
* ipa-utils (searchc): Fixed comment.
2007-11-08 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/33826
* gcc.dg/pr33826.c: New.
* gcc.dg/tree-ssa/
20030714-1.c: Removed two tests that depend on
recursive functions being marked pure or const.
From-SVN: r130006
Tom Tromey [Thu, 8 Nov 2007 16:39:59 +0000 (16:39 +0000)]
common.opt (fshow-column): Default to 0.
* common.opt (fshow-column): Default to 0.
* configure: Rebuilt.
* configure.ac (--enable-mapped-location): Default to 'yes'.
From-SVN: r130005
Paolo Carlini [Thu, 8 Nov 2007 16:22:21 +0000 (16:22 +0000)]
basic_file_stdio.cc (fopen_mode): Add modes missing per DR 596.
2007-11-08 Paolo Carlini <pcarlini@suse.de>
* config/io/basic_file_stdio.cc (fopen_mode): Add modes missing
per DR 596.
* testsuite/27_io/basic_filebuf/open/char/4.cc: Extend.
* include/std/fstream: Update comment preceding open.
* docs/html/ext/howto.html: Update.
From-SVN: r130004
Francois-Xavier Coudert [Thu, 8 Nov 2007 15:33:23 +0000 (15:33 +0000)]
re PR fortran/34028 (Type mismatch with optimization of ISHFT)
PR fortran/34028
* trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use correct type.
From-SVN: r130003
Tobias Burnus [Thu, 8 Nov 2007 15:28:30 +0000 (16:28 +0100)]
re PR fortran/33917 (Rejects valid PROCEDURE declarations)
2007-11-08 Tobias Burnus <burnus@net-b.de>
PR fortran/33917
* interface.c (check_sym_interfaces): Disallow PROCEDURE-declared
procedures for MODULE PROCEDURE.
* decl.c (match_procedure_in_interface): Do not mark as procedure.
2007-11-08 Tobias Burnus <burnus@net-b.de>
PR fortran/33917
* gfortran.dg/proc_decl_5.f90: New.
* gfortran.dg/proc_decl_6.f90: New.
From-SVN: r130002
Paolo Carlini [Thu, 8 Nov 2007 14:40:33 +0000 (14:40 +0000)]
type_traits (__decay_selector<_Up, [...]): Change according to DR 705.
2007-11-08 Paolo Carlini <pcarlini@suse.de>
* include/std/type_traits (__decay_selector<_Up, false, false>):
Change according to DR 705.
* include/bits/stl_pair.h (make_pair(_T1&&, _T2&&)): Change
according to DR 706.
* include/tr1_impl/tuple: Tweak.
From-SVN: r130001
Kenneth Zadeck [Thu, 8 Nov 2007 13:47:41 +0000 (13:47 +0000)]
common.opt: Add pointer to doc/options.texi.
2007-11-07 Kenneth Zadeck <zadeck@naturalbridge.com>
* common.opt: Add pointer to doc/options.texi.
* doc/invoke.texi (-fdse, -fdce, -fauto-inc-dec, -fipa-pure-const,
-fipa-reference): Add or correct doc. Sorted options list for -Os
-O, -O2.
From-SVN: r130000
Bernhard Fischer [Thu, 8 Nov 2007 13:44:09 +0000 (13:44 +0000)]
re PR target/16350 (gcc only understands little endian ARM systems)
PR target/16350
* config.gcc: For arm*b-* define TARGET_BIG_ENDIAN_DEFAULT.
* config/arm/linux-elf.h (TARGET_ENDIAN_DEFAULT): Define based on TARGET_BIG_ENDIAN_DEFAULT.
Use for MULTILIB_DEFAULTS.
(TARGET_DEFAULT): Set according to TARGET_ENDIAN_DEFAULT.
(LINUX_TARGET_LINK_SPEC): Pass -mlittle-endian on to the assembler.
* config/arm/linux-eabi.h (TARGET_LINKER_EMULATION): Set according to TARGET_BIG_ENDIAN_DEFAULT.
(SUBTARGET_EXTRA_LINK_SPEC): Likewise.
* gcc/config/arm/bpabi.h (TARGET_DEFAULT_MASK): Set according to TARGET_BIG_ENDIAN_DEFAULT.
From-SVN: r129999
Jakub Jelinek [Thu, 8 Nov 2007 13:07:54 +0000 (14:07 +0100)]
re PR tree-optimization/32575 (With -ftree-vrp miscompiles a single line of code in SQLite)
PR tree-optimization/32575
* gcc.c-torture/execute/
20071108-1.c: New test.
From-SVN: r129998
Daniel Jacobowitz [Thu, 8 Nov 2007 12:48:28 +0000 (12:48 +0000)]
class.c (build_ctor_vtbl_group): Lay out the new type and decl.
* class.c (build_ctor_vtbl_group): Lay out the new type and decl.
* g++.dg/opt/anchor1.C: New.
From-SVN: r129997
Paolo Carlini [Thu, 8 Nov 2007 11:11:47 +0000 (11:11 +0000)]
vector (push_back, emplace): Fix signature typo.
2007-11-08 Paolo Carlini <pcarlini@suse.de>
* include/debug/vector (push_back, emplace): Fix signature typo.
From-SVN: r129996
Paolo Carlini [Thu, 8 Nov 2007 10:55:32 +0000 (10:55 +0000)]
locale_facets.h (ctype<char>::taple, [...]): Implement trivial resolution of DR 695 [Ready].
2007-11-08 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (ctype<char>::taple, classic_table):
Implement trivial resolution of DR 695 [Ready].
* testsuite/22_locale/ctype/dr695.cc: New.
* docs/html/ext/howto.html: Update.
From-SVN: r129995
Paolo Carlini [Thu, 8 Nov 2007 10:19:57 +0000 (10:19 +0000)]
lwg-active.html: Update to Revision R52.
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: r129994
Paolo Carlini [Thu, 8 Nov 2007 02:48:25 +0000 (02:48 +0000)]
complex (fabs): In C++0x mode adjust return type per DR 595 [Ready].
2007-11-07 Paolo Carlini <pcarlini@suse.de>
* include/tr1_impl/complex (fabs): In C++0x mode adjust
return type per DR 595 [Ready].
From-SVN: r129983
Diego Novillo [Thu, 8 Nov 2007 02:18:32 +0000 (21:18 -0500)]
tree.h (struct tree_struct_field_tag): Move field in_nested_struct ...
* tree.h (struct tree_struct_field_tag): Move field
in_nested_struct ...
(struct tree_memory_tag): ... here.
From-SVN: r129982
GCC Administrator [Thu, 8 Nov 2007 00:17:22 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r129980
Joseph Myers [Thu, 8 Nov 2007 00:08:02 +0000 (00:08 +0000)]
floatformat.h (struct floatformat): Add split_half field.
include:
2007-11-07 Joseph Myers <joseph@codesourcery.com>
Daniel Jacobowitz <dan@codesourcery.com>
* floatformat.h (struct floatformat): Add split_half field.
(floatformat_ibm_long_double): New.
libiberty:
2007-11-07 Joseph Myers <joseph@codesourcery.com>
Daniel Jacobowitz <dan@codesourcery.com>
* floatformat.c (mant_bits_set): New.
(floatformat_to_double): Use it. Note no special handling of
split formats.
(floatformat_from_double): Note no special handing of split
formats.
(floatformat_ibm_long_double_is_valid,
floatformat_ibm_long_double): New.
(floatformat_ieee_single_big, floatformat_ieee_single_little,
floatformat_ieee_double_big, floatformat_ieee_double_little,
floatformat_ieee_double_littlebyte_bigword, floatformat_vax_f,
floatformat_vax_d, floatformat_vax_g, floatformat_i387_ext,
floatformat_m68881_ext, floatformat_i960_ext,
floatformat_m88110_ext, floatformat_m88110_harris_ext,
floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword,
floatformat_ia64_spill_big, floatformat_ia64_spill_little,
floatformat_ia64_quad_big, floatformat_ia64_quad_little): Update
for addition of split_half field.
Co-Authored-By: Daniel Jacobowitz <dan@codesourcery.com>
From-SVN: r129977
Diego Novillo [Thu, 8 Nov 2007 00:01:38 +0000 (19:01 -0500)]
re PR tree-optimization/33870 (miscompiles sqlite)
PR 33870
* tree.h (struct tree_struct_field_tag): Add field in_nested_struct.
(SFT_IN_NESTED_STRUCT): Define.
* tree-dfa.c (dump_subvars_for): Show offset of each
sub-var.
* tree-flow.h (struct fieldoff): Add field in_nested_struct.
* tree-ssa-structalias.c (struct variable_info): Likewise.
(push_fields_onto_fieldstack): If OFFSET is positive,
set in_nested_struct.
(create_variable_info_for): Copy setting of
in_nested_struct from the field offset object.
(set_uids_in_ptset): Set SFT_IN_NESTED_STRUCT from the
variable info object.
* tree-ssa-operands.c (add_vars_for_offset): If VAR
belongs to a nested structure, adjust OFFSET by
SFT_OFFSET(VAR).
testsuite/ChangeLog
* gcc.c-torture/execute/pr33870.x: Remove.
From-SVN: r129976
Douglas Gregor [Wed, 7 Nov 2007 23:37:29 +0000 (23:37 +0000)]
re PR c++/33045 ([c++0x] Incorrect decltype result for function calls.)
2007-11-07 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33045
PR c++/33837
PR c++/33838
* semantics.c (finish_decltype_type): See through INDIRECT_REFs.
Be careful with ERROR_MARK_NODEs.
* parser.c (cp_parser_check_access_in_redeclaration): Handle NULL
argument.
2007-11-07 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33045
PR c++/33837
PR c++/33838
* g++.dg/cpp0x/decltype-33837.C: New.
* g++.dg/cpp0x/decltype-refbug.C: New.
* g++.dg/cpp0x/decltype-33838.C: New.
From-SVN: r129975
Tom Tromey [Wed, 7 Nov 2007 22:55:58 +0000 (22:55 +0000)]
re PR java/34019 (Minor typo in gcj documentation)
PR java/34019:
* gcj.texi (Input Options): Add missing noun.
From-SVN: r129974
Eric Botcazou [Wed, 7 Nov 2007 22:05:37 +0000 (23:05 +0100)]
re PR rtl-optimization/33737 (verify_flow_info failed: Wrong probability of edge 94->1 -6651)
PR rtl-optimization/33737
* cfgcleanup.c (try_crossjump_to_edge): Add count and frequency of
target block after computing the probabilities of outgoing edges.
Cap the frequency to BB_FREQ_MAX.
* tree-ssa-threadupdate.c (redirect_edges): Also adjust count and
frequency of the basic block if it has been reused.
From-SVN: r129973
Eric Botcazou [Wed, 7 Nov 2007 20:48:08 +0000 (21:48 +0100)]
re PR rtl-optimization/33822 (-g -O -mstrict-align causes an ICE in set_variable_part,)
PR rtl-optimization/33822
* rtl.h (REG_OFFSET): Fix comment.
* var-tracking.c (INT_MEM_OFFSET): New macro.
(var_mem_set): Use it.
(var_mem_delete_and_set): Likewise.
(var_mem_delete): Likewise.
(same_variable_part_p): Likewise.
(vt_get_decl_and_offset): Likewise.
(offset_valid_for_tracked_p): New predicate.
(count_uses): Do not track locations with invalid offsets.
(add_uses): Likewise.
(add_stores): Likewise.
From-SVN: r129970
Tom Tromey [Wed, 7 Nov 2007 20:15:38 +0000 (20:15 +0000)]
Makefile.in (tree-ssa-structalias.o): Depend on $(FUNCTION_H)
* Makefile.in (tree-ssa-structalias.o): Depend on $(FUNCTION_H)
(BASIC_BLOCK_H): Add vec.h, $(FUNCTION_H).
From-SVN: r129969
Jakub Jelinek [Wed, 7 Nov 2007 19:27:27 +0000 (20:27 +0100)]
re PR c++/33501 (Copy constructor assumed to exist for undefined class)
PR c++/33501
* call.c (build_over_call): Don't check TREE_ADDRESSABLE
on incomplete type.
* g++.dg/warn/incomplete2.C: New test.
* g++.dg/template/incomplete4.C: New test.
* g++.dg/template/incomplete5.C: New test.
From-SVN: r129968
Dmitry Zhurikhin [Wed, 7 Nov 2007 16:07:29 +0000 (16:07 +0000)]
modulo-sched.c (sms_order_nodes, [...]): Fix prototypes.
* modulo-sched.c (sms_order_nodes, permute_partial_schedule,
generate_prolog_epilog, duplicate_insns_of_cycles): Fix prototypes.
(calculate_order_params, sms_order_nodes): New parameter pmax_asap.
Save calculated max_asap in it.
(sms_schedule): Calculate maxii using max_asap.
Co-Authored-By: Andrey Belevantsev <abel@ispras.ru>
From-SVN: r129966
Samuel Tardieu [Wed, 7 Nov 2007 14:52:24 +0000 (14:52 +0000)]
sem_attr.adb (Analyze_Attribute): Remove duplicate identical embedded check for "Ada_Version >= Ada_05".
gcc/ada/
* sem_attr.adb (Analyze_Attribute): Remove duplicate identical
embedded check for "Ada_Version >= Ada_05".
From-SVN: r129965
Samuel Tardieu [Wed, 7 Nov 2007 14:51:05 +0000 (14:51 +0000)]
tracebak.c (i386 alternative): Remove useless comparaison which is always false...
gcc/ada/
* tracebak.c (i386 alternative): Remove useless comparaison
which is always false; LOWEST_ADDRESS is 0 and is never greater
than an unsigned integer.
From-SVN: r129964
Samuel Tardieu [Wed, 7 Nov 2007 14:49:46 +0000 (14:49 +0000)]
a-tasatt.adb: Use 'Access instead of 'Unchecked_Access when applicable.
gcc/ada/
* a-tasatt.adb: Use 'Access instead of 'Unchecked_Access when
applicable. Local lifetime is the one of the package.
(Set_Value): W is allocated on the heap.
* g-socket.adb: Use 'Access instead of 'Unchecked_Access when
applicable.
(Get_Socket_Option): Optlen formal of C_Getsockopt is of an anonymous
access type.
(Receive_Socket): Fromlen formal of C_Recvfrom is of an anonymous
access type.
* s-taasde.adb: Use 'Access instead of 'Unchecked_Access when
applicable.
(elaboration code): Timer_Queue lifetime is the one of the
package.
From-SVN: r129963
Samuel Tardieu [Wed, 7 Nov 2007 14:47:19 +0000 (14:47 +0000)]
a-tasatt.adb: Type Wrapper should be declared in comment instead of already declared type...
gcc/ada/
* a-tasatt.adb: Type Wrapper should be declared in comment instead
of already declared type Node_Access.
From-SVN: r129962
Samuel Tardieu [Wed, 7 Nov 2007 14:36:48 +0000 (14:36 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r129961
Paolo Carlini [Wed, 7 Nov 2007 12:43:35 +0000 (12:43 +0000)]
stl_iterator.h (move_iterator<>::pointer): Adjust typedef per DR 680 [Ready].
2007-11-07 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_iterator.h (move_iterator<>::pointer): Adjust
typedef per DR 680 [Ready].
From-SVN: r129959
Olivier Hainque [Wed, 7 Nov 2007 09:51:46 +0000 (09:51 +0000)]
decl.c (make_aligning_type): Set the mode of the RECORD_TYPE we craft and expand comment.
2007-11-07 Olivier Hainque <hainque@adacore.com>
* decl.c (make_aligning_type): Set the mode of the RECORD_TYPE we
craft and expand comment.
testsuite/
* gnat.dg/max_align.adb: New test.
From-SVN: r129958
Andreas Krebbel [Wed, 7 Nov 2007 08:57:02 +0000 (08:57 +0000)]
invoke.texi: Replace rs6000 dfp switches -mdfp/-mno-dfp with -mhard-dfp/-mno-hard-dfp.
2007-11-07 Andreas Krebbel <krebbel1@de.ibm.com>
* doc/invoke.texi: Replace rs6000 dfp switches -mdfp/-mno-dfp
with -mhard-dfp/-mno-hard-dfp.
From-SVN: r129957
Diego Novillo [Wed, 7 Nov 2007 03:00:22 +0000 (22:00 -0500)]
tree-flow.h (struct fieldoff): Reformat comment.
* tree-flow.h (struct fieldoff): Reformat comment.
Document fields.
* tree-ssa-operands.c: Tidy top-level comments.
(add_vop): Likewise.
(add_vars_for_offset): Tidy parameter formatting..
(get_addr_dereference_operands): Likewise.
(get_indirect_ref_operands): Likewise.
(get_expr_operands) <OMP_ATOMIC_LOAD>: Reformat.
<OMP_ATOMIC_STORE>: Likewise.
From-SVN: r129956
Jerry DeLisle [Wed, 7 Nov 2007 02:43:44 +0000 (02:43 +0000)]
re PR libfortran/33985 (access="stream",form="unformatted" doesn't buffer)
2007-11-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33985
* io/transfer.c (finalize_transfer): Revert previous patch.
From-SVN: r129955
Paolo Carlini [Wed, 7 Nov 2007 00:36:33 +0000 (00:36 +0000)]
vector.tcc (vector<>::_M_insert_aux<>(iterator, _Args&&...)): In C++0x mode do not use temporary copies.
2007-11-06 Paolo Carlini <pcarlini@suse.de>
* include/bits/vector.tcc (vector<>::_M_insert_aux<>(iterator,
_Args&&...)): In C++0x mode do not use temporary copies.
(insert(iterator, const value_type&)): Copy to a temporary
when not reallocating.
* include/bits/vector.tcc (insert(iterator, value_type&&)):
Minor tweaks in C++0x mode.
From-SVN: r129954
GCC Administrator [Wed, 7 Nov 2007 00:17:50 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r129952
Maxim Kuvyrkov [Tue, 6 Nov 2007 23:20:38 +0000 (23:20 +0000)]
re PR middle-end/33670 (cc1 segfault with -O2 -fsched-stalled-insns=0 for twolf)
PR middle-end/33670
* haifa-sched.c (check_sched_flags): Remove.
(sched_init): Don't call it.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r129948
Doug Kwan [Tue, 6 Nov 2007 22:15:09 +0000 (22:15 +0000)]
Add myself to MAINTAINERS
From-SVN: r129947
H.J. Lu [Tue, 6 Nov 2007 21:38:44 +0000 (13:38 -0800)]
Correct ChangeLog entry for revision 129904.
From-SVN: r129945
Rask Ingemann Lambertsen [Tue, 6 Nov 2007 20:14:22 +0000 (21:14 +0100)]
re PR target/32787 (Sun Studio 12 Undefined symbol addl)
2007-11-06 Rask Ingemann Lambertsen <rask@sygehus.dk>
PR target/32787
* config/i386/driver-i386.c: Test for __GNUC__ instead of
GCC_VERSION which is always defined.
From-SVN: r129944
H.J. Lu [Tue, 6 Nov 2007 19:19:23 +0000 (11:19 -0800)]
re PR target/30961 (redundant reg/mem stores/moves)
gcc/
2007-11-06 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
PR target/30961
* reload1.c (find_reloads): Also check in_reg when handling a
simple move with an input reload and a destination of a hard
register.
gcc/testsuite/
2007-11-06 H.J. Lu <hongjiu.lu@intel.com>
PR target/30961
* gcc.target/i386/pr30961-1.c: New.
From-SVN: r129943
Maxim Kuvyrkov [Tue, 6 Nov 2007 16:52:17 +0000 (16:52 +0000)]
m68k.c (sched-int.h, [...]): New includes.
* config/m68k/m68k.c (sched-int.h, insn-codes.h): New includes.
(TARGET_SCHED_ADJUST_COST, TARGET_SCHED_VARIABLE_ISSUE,
TARGET_SCHED_INIT_GLOBAL, TARGET_SCHED_FINISH_GLOBAL,
TARGET_SCHED_INIT, TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE,
TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Redefine.
(m68k_sched_attr_type2): New function.
(sched_adjust_cost_state): New static variable.
(m68k_sched_adjust_cost): New static function implementing
scheduler hook.
(sched_ib_size, sched_ib_filled, sched_ib_insn, sched_mem_unit_code):
New static variables.
(m68k_sched_variable_issue): New static function implementing
scheduler hook.
(sched_dump_class_def, sched_dump_class_func_t): New typedefs.
(sched_dump_split_class): New static function.
(sched_dump_dfa_guess_unit_code, sched_dump_dfa_state): New static
variables.
(sched_dump_dfa_class, m68k_sched_dump): New static function.
(m68k_sched_md_init_global, m68k_sched_md_finish_global,
m68k_sched_md_init, m68k_sched_dfa_pre_advance_cycle,
m68k_sched_dfa_post_advance_cycle): New static functions implementing
scheduler hooks.
* config/m68k/m68k.h (m68k_sched_attr_type2): Declare.
(CPU_UNITS_QUERY): Define.
* config/m68k/cf.md: New file.
* config/m68k/m68.md (cf.md): New include.
From-SVN: r129938
Tom Tromey [Tue, 6 Nov 2007 15:57:02 +0000 (15:57 +0000)]
PR c++/32256, PR c++/32368:
gcc
PR c++/32256, PR c++/32368:
* function.c (saved_in_system_header): New global.
(push_cfun): Save in_system_header.
(pop_cfun): Restore in_system_header.
(push_struct_function): Save in_system_header.
gcc/testsuite
PR c++/32368:
* g++.dg/warn/pragma-system_header3.h: New.
* g++.dg/warn/pragma-system_header3.C: New.
PR c++/32256:
* g++.dg/warn/pragma-system_header4.C: New.
* g++.dg/warn/pragma-system_header4.h: New.
From-SVN: r129936
Douglas Gregor [Tue, 6 Nov 2007 14:39:41 +0000 (14:39 +0000)]
re PR c++/33977 (internal compiler error: canonical types differ for identical types const char [5] and const sal_Char [5])
2007-11-06 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33977
PR c++/33886
* tree.c (c_build_qualified_type): Define bridge to
cp_build_qualified_type.
2007-11-06 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33977
PR c++/33886
* c-common.c (c_build_qualified_type): Moved to c-typeck.c.
(complete_array_type): Set canonical type appropriately.
* c-typeck.c (c_build_qualified_type): Moved from c-common.c. The
C and C++ front ends now have different versions of this function,
because the C++ version needs to maintain canonical types here.
2007-11-06 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33977
PR c++/33886
* g++.dg/other/canon-array.C: New.
From-SVN: r129929
Douglas Gregor [Tue, 6 Nov 2007 14:37:56 +0000 (14:37 +0000)]
re PR c++/31439 (ICE with variadic template and broken specialization)
2007-11-06 Douglas Gregor <doug.gregor@gmail.com>
PR c++/31439
PR c++/32114
PR c++/32115
PR c++/32125
PR c++/32126
PR c++/32127
PR c++/32128
PR c++/32253
PR c++/32566
* typeck.c (check_return_expr): Pass address of retval to
check_for_bare_parameter_packs.
* class.c (build_base_field): Tolerate bases that have no layout
due to errors.
(end_of_base): Ditto.
* tree.c (canonical_type_variant): Be careful with
ERROR_MARK_NODE.
* cp-tree.h (check_for_bare_parameter_packs): Now accepts a
tree*.
* pt.c (find_parameter_pack_data): Add set_packs_to_error field,
which states whether parameter packs should be replaced with
ERROR_MARK_NODE.
(find_parameter_packs_r): Pass addresses to cp_walk_tree wherever
possible. If set_packs_to_error is set true, replace the parameter
pack with ERROR_MARK_NODE. Manage our own pointer sets.
(uses_parameter_packs): Don't set parameter packs to
ERROR_MARK_NODE.
(check_for_bare_parameter_packs): Now takes a pointer to a tree,
which may be modified (if it is a parameter pack). Instructs
find_parameter_packs_r to replace parameter packs with
ERROR_MARK_NODE (so that they won't cause errors later on).
(process_template_parm): Pass pointer to
check_for_bare_parameter_packs.
(process_partial_specialization): Replace pack expansions before
the end of the template argument list with ERROR_MARK_NODE.
(push_template_decl_real): Pass pointer to
check_for_bare_parameter_packs. Replace parameter packs not at the
end of the template parameter list with ERROR_MARK_NODE.
(convert_template_argument): Be more careful about using DECL_NAME
on only declarations.
(unify): Can't unify against ERROR_MARK_NODE.
* semantics.c (finish_cond): Pass pointer to
check_for_bare_parameter_packs.
(finish_expr_stmt): Ditto.
(finish_for_expr): Ditto.
(finish_switch_cond): Pass pointer to
check_for_bare_parameter_packs, and call it before we put the
condition into the statement.
(finish_mem_initializers): Pass pointer to
check_for_bare_parameter_packs.
(finish_member_declaration): Ditto.
* parser.c (cp_parser_base_clause): Ditto.
2007-11-06 Douglas Gregor <doug.gregor@gmail.com>
* testsuite/g++.dg/parser/crash36.C: Tweak expected errors.
* testsuite/g++.dg/cpp0x/pr31439.C: New.
* testsuite/g++.dg/cpp0x/pr32114.C: New.
* testsuite/g++.dg/cpp0x/pr32115.C: New.
* testsuite/g++.dg/cpp0x/pr32125.C: New.
* testsuite/g++.dg/cpp0x/pr32126.C: New.
* testsuite/g++.dg/cpp0x/pr32127.C: New.
* testsuite/g++.dg/cpp0x/pr32128.C: New.
* testsuite/g++.dg/cpp0x/pr32253.C: New.
* testsuite/g++.dg/cpp0x/pr32566.C: New.
* testsuite/g++.dg/cpp0x/pr31445.C: Tweak expected errors.
* testsuite/g++.dg/cpp0x/pr31438.C: Ditto.
* testsuite/g++.dg/cpp0x/variadic81.C: Ditto.
* testsuite/g++.dg/cpp0x/pr31432.C: Ditto.
* testsuite/g++.dg/cpp0x/pr31442.C: Ditto.
From-SVN: r129928
Jonathan Wakely [Tue, 6 Nov 2007 14:28:28 +0000 (14:28 +0000)]
boost_shared_ptr.h: Avoid unnecessary memory barriers in _S_atomic case.
2007-11-06 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/tr1_impl/boost_shared_ptr.h: Avoid unnecessary memory
barriers in _S_atomic case.
From-SVN: r129927
Razya Ladelsky [Tue, 6 Nov 2007 10:29:12 +0000 (10:29 +0000)]
tree-parloops.c (reduction_info): Remove reduction_init field.
2007-11-04 Razya Ladelsky <razya@il.ibm.com>
* tree-parloops.c (reduction_info): Remove reduction_init field.
(initialize_reductions): Remove creation of the reduction_init variable.
(struct data_arg): Remove.
(add_field_for_reduction, create_stores_for_reduction): New functions.
(add_field_for_name): Remove reduction handling.
(separate_decls_in_loop): Call add_field_for_reduction,
create_stores_for_reduction.
From-SVN: r129923
Jakub Jelinek [Tue, 6 Nov 2007 08:33:25 +0000 (09:33 +0100)]
re PR target/33168 (GCC Boot failure, building libstc++)
PR target/33168
* decl.c (cp_finish_decl): Call make_rtl_for_nonlocal_decl already
with the final TREE_READONLY flag in place. processing_template_decl
is known to be 0 in this part of function.
* g++.dg/other/datasec1.C: New test.
From-SVN: r129922
Jakub Jelinek [Tue, 6 Nov 2007 08:29:48 +0000 (09:29 +0100)]
re PR tree-optimization/33458 (ICE "PHI def is not a GIMPLE value")
PR tree-optimization/33458
* tree-inline.c (copy_phis_for_bb): If PHI arg substitution creates
!is_gimple_val PHI argument, gimplify it and insert it on edge.
* g++.dg/opt/inline12.C: New test.
From-SVN: r129921
Jakub Jelinek [Tue, 6 Nov 2007 08:28:37 +0000 (09:28 +0100)]
re PR tree-optimization/33993 (ICE: verify_stmts failed (invalid reference prefix))
PR tree-optimization/33993
* tree-vect-transform.c (vect_get_constant_vectors): Use build_vector
rather than build_constructor_from_list if all list values are
constants.
(get_initial_def_for_induction): Use build_vector instead of
build_constructor_from_list.
* gcc.c-torture/compile/
20071105-1.c: New test.
From-SVN: r129920
Jakub Jelinek [Tue, 6 Nov 2007 08:26:50 +0000 (09:26 +0100)]
re PR c++/33894 (pragma omp atomic broken)
PR c++/33894
* cp-tree.h: Update comment - TYPE_LANG_FLAG_0 is not
OMP_ATOMIC_DEPENDENT_P in OMP_ATOMIC.
* pt.c (tsubst_expr): Assert OMP_ATOMIC_DEPENDENT_P.
* semantics.c (finish_omp_atomic): Revert most of the
2007-02-05 changes, just keep the new representation of
OMP_ATOMIC_DEPENDENT_P OMP_ATOMIC.
* testsuite/libgomp.c++/atomic-1.C: New test.
From-SVN: r129919