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
Mark Mitchell [Tue, 6 Nov 2007 00:30:52 +0000 (00:30 +0000)]
re PR target/33579 (INIT_PRIORITY is broken)
PR target/33579
* tree.h (DECL_INIT_PRIORITY): Do not require
DECL_HAS_INIT_PRIORITY_P.
(DECL_FINI_PRIORITY): Likewise.
* tree.c (decl_init_priority_lookup): Remove assert.
(decl_fini_priority_insert): Likewise.
* cgraphunit.c (static_ctors): Make it a VEC.
(static_dtors): Likewise.
(record_cdtor_fn): Adjust accordingly.
(build_cdtor): Generate multiple functions for each initialization
priority.
(compare_ctor): New function.
(compare_dtor): Likewise.
(cgraph_build_cdtor_fns): Sort the functions by priority before
calling build_cdtor.
(cgraph_build_static_cdtor): Put the priority in the function's
name.
From-SVN: r129918
GCC Administrator [Tue, 6 Nov 2007 00:17:19 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r129916
H.J. Lu [Mon, 5 Nov 2007 23:42:30 +0000 (15:42 -0800)]
re PR driver/32632 (-pie won't override -shared in -shared -pie)
2007-11-05 H.J. Lu <hongjiu.lu@intel.com>
PR driver/32632
* common.opt: Add shared and pie.
From-SVN: r129913
Bob Wilson [Mon, 5 Nov 2007 23:37:38 +0000 (23:37 +0000)]
xtensa.c (xtensa_expand_nonlocal_goto): Do not replace references to virtual_stack_vars_rtx in goto_handler.
* config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Do not replace
references to virtual_stack_vars_rtx in goto_handler.
From-SVN: r129912
H.J. Lu [Mon, 5 Nov 2007 23:11:57 +0000 (23:11 +0000)]
re PR c++/33871 (typeinfo name referenced in ... defined in discarded section)
2007-11-05 H.J. Lu <hongjiu.lu@intel.com>
PR c++/33871
* decl2.c (constrain_visibility): Clear DECL_ONE_ONLY if marked
local.
From-SVN: r129911
Jakub Jelinek [Mon, 5 Nov 2007 22:00:07 +0000 (23:00 +0100)]
Fix last entry.
From-SVN: r129910
Jakub Jelinek [Mon, 5 Nov 2007 21:55:37 +0000 (22:55 +0100)]
re PR rtl-optimization/33648 (ICE in verify_flow_info for -fmodulo-sched -freorder-blocks-and-partition)
PR rtl-optimization/33648
* gcc.dg/pr33648.c: New test.
From-SVN: r129909
Chris Jefferson [Mon, 5 Nov 2007 19:46:07 +0000 (19:46 +0000)]
stl_vector.h (vector<>::push_back<>(_Args...), [...]): Add.
2007-11-05 Chris Jefferson <chris@bubblescope.net>
Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_vector.h (vector<>::push_back<>(_Args...),
emplace<>(iterator, _Args...), insert(iterator, _Tp&&),
_M_insert_aux<>(iterator, _Args&&...)): Add.
* include/bits/vector.tcc (insert(iterator, value_type&&),
emplace<>(iterator, _Args...), _M_insert_aux<>(iterator, _Args&&...)):
Define.
(_M_fill_insert(iterator, size_type, const value_type&),
_M_range_insert(iterator, _ForwardIterator, _ForwardIterator,
std::forward_iterator_tag)): Use __uninitialized_move_a,
_GLIBCXX_MOVE_BACKWARD3 when possible.
* include/bits/stl_uninitialized.h (__uninitialized_move_a): Add.
* include/debug/vector (vector<>::push_back<>(_Args...),
emplace<>(iterator, _Args...), insert(iterator, _Tp&&)): Add.
* testsuite/23_containers/vector/modifiers/moveable.cc: Enable.
* testsuite/23_containers/vector/resize/moveable.cc: Likewise.
* testsuite/23_containers/vector/cons/moveable.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line numbers.
* 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.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r129907
Revital Eres [Mon, 5 Nov 2007 18:58:43 +0000 (18:58 +0000)]
Fix check_750cl_hw_available function
From-SVN: r129906
Douglas Gregor [Mon, 5 Nov 2007 18:42:22 +0000 (18:42 +0000)]
Index...
Index: testsuite/g++.dg/cpp0x/pr33996.C
===================================================================
--- testsuite/g++.dg/cpp0x/pr33996.C (revision 0)
+++ testsuite/g++.dg/cpp0x/pr33996.C (revision 0)
@@ -0,0 +1,52 @@
+// { dg-options "-std=c++0x" }
+
+#define BUG
+struct type
+{
+ type() { }
+ type(const type&) { }
+
+private:
+ type(type&&);
+};
+
+template<typename _Tp>
+ struct identity
+ {
+ typedef _Tp type;
+ };
+
+template<typename _Tp>
+ inline _Tp&&
+ forward(typename identity<_Tp>::type&& __t)
+ { return __t; }
+
+struct vec
+{
+ template<typename _Args>
+ void
+ bar(_Args&& __args)
+#ifdef BUG
+ ;
+#else
+ {
+ type(forward<_Args>(__args));
+ }
+#endif
+};
+
+#ifdef BUG
+template<typename _Args>
+ void
+ vec::bar(_Args&& __args)
+ {
+ type(forward<_Args>(__args));
+ }
+#endif
+
+int main()
+{
+ vec v;
+ type c;
+ v.bar(c);
+}
Index: testsuite/g++.dg/cpp0x/rv-trivial-bug.C
===================================================================
--- testsuite/g++.dg/cpp0x/rv-trivial-bug.C (revision 0)
+++ testsuite/g++.dg/cpp0x/rv-trivial-bug.C (revision 0)
@@ -0,0 +1,33 @@
+// { dg-do "run" }
+// { dg-options "-std=c++0x" }
+// PR c++/33235
+#include <cassert>
+
+int move_construct = 0;
+int move_assign = 0;
+
+struct base2
+{
+ base2() {}
+ base2(base2&&) {++move_construct;}
+ base2& operator=(base2&&) {++move_assign; return *this;}
+};
+
+int test2()
+{
+ base2 b;
+ base2 b2(b);
+ assert(move_construct == 0);
+ base2 b3(static_cast<base2&&>(b));
+ assert(move_construct == 1);
+ b = b2;
+ assert(move_assign == 0);
+ b = static_cast<base2&&>(b2);
+ assert(move_assign == 1);
+}
+
+int main()
+{
+ test2();
+ return 0;
+}
Index: testsuite/g++.dg/cpp0x/pr33930.C
===================================================================
--- testsuite/g++.dg/cpp0x/pr33930.C (revision 0)
+++ testsuite/g++.dg/cpp0x/pr33930.C (revision 0)
@@ -0,0 +1,10 @@
+// { dg-options "-std=c++0x" }
+typedef const int* type;
+
+float& foo( const type& ggg );
+int& foo( type&& ggg );
+
+void bar( int* someptr )
+{
+ int& x = foo( someptr );
+}
Index: cp/typeck.c
===================================================================
--- cp/typeck.c (revision 129899)
+++ cp/typeck.c (working copy)
@@ -620,7 +620,7 @@ merge_types (tree t1, tree t2)
if (code1 == POINTER_TYPE)
t1 = build_pointer_type (target);
else
- t1 = build_reference_type (target);
+ t1 = cp_build_reference_type (target, TYPE_REF_IS_RVALUE (t1));
t1 = build_type_attribute_variant (t1, attributes);
t1 = cp_build_qualified_type (t1, quals);
Index: cp/call.c
===================================================================
--- cp/call.c (revision 129899)
+++ cp/call.c (working copy)
@@ -5076,7 +5076,8 @@ build_over_call (struct z_candidate *can
return build_target_expr_with_type (arg, DECL_CONTEXT (fn));
}
else if (TREE_CODE (arg) == TARGET_EXPR
- || TYPE_HAS_TRIVIAL_INIT_REF (DECL_CONTEXT (fn)))
+ || (TYPE_HAS_TRIVIAL_INIT_REF (DECL_CONTEXT (fn))
+ && !move_fn_p (fn)))
{
tree to = stabilize_reference
(build_indirect_ref (TREE_VALUE (args), 0));
@@ -6118,7 +6119,11 @@ compare_ics (conversion *ics1, conversio
if (ics1->kind == ck_qual
&& ics2->kind == ck_qual
&& same_type_p (from_type1, from_type2))
- return comp_cv_qual_signature (to_type1, to_type2);
+ {
+ int result = comp_cv_qual_signature (to_type1, to_type2);
+ if (result != 0)
+ return result;
+ }
/* [over.ics.rank]
From-SVN: r129905
Paul Brook [Mon, 5 Nov 2007 17:13:46 +0000 (17:13 +0000)]
config.gcc (arm*-*-*): Set c_target_objs and cxx_target_objs.
2007-11-05 Paul Brook <paul@codesourcery.com>
gcc/
* config.gcc (arm*-*-*): Set c_target_objs and cxx_target_objs.
* config/arm/arm.c (arm_lang_output_object_attributes_hook): New.
(arm_file_start): Don't set Tag_ABI_PCS_wchar_t. Call
arm_lang_output_object_attributes_hook.
* config/arm/arm.h (arm_lang_output_object_attributes_hook): Declare.
(REGISTER_TARGET_PRAGMAS): Call arm_lang_object_attributes_init.
* config/arm/arm-protos.h (arm_lang_object_attributes_init): Add
prototype.
* config/arm/t-arm.c (arm.o): New rule.
* config/arm/arm-c.c: New file.
From-SVN: r129904
H.J. Lu [Mon, 5 Nov 2007 16:53:42 +0000 (16:53 +0000)]
configure.ac: Don't run config-ml.in directly.
2007-11-05 H.J. Lu <hongjiu.lu@intel.com>
* configure.ac: Don't run config-ml.in directly.
(multilib_arg): New.
* configure: Regenerated.
From-SVN: r129902