gcc.git
16 years agore PR fortran/34020 (Bogus codegen for openmp atomics w/ indirects operands on IPF)
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

16 years agore PR middle-end/34018 (ICE: verify_stmts failed)
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

16 years agore PR tree-optimization/33680 (ICE when compilling elbg.c from ffmpeg (vectorizer))
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

16 years agore PR c++/32241 (ICE trying to call x.~X(); in a template)
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

16 years agore PR c++/33510 (Array size of array with size determined by the initializer wrong...
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

16 years agoDaily bump.
GCC Administrator [Sat, 10 Nov 2007 00:17:18 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r130063

16 years agoMaxim Kuvyrkov <maxim@codesourcery.com>
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

16 years agostl_deque.h (deque<>::operator=(deque&&)): Implement resolution of DR 675, call clear...
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

16 years agohaifa-sched.c (haifa_classify_insn): Rename to ...
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

16 years agore PR libstdc++/34032 (-std=c++0x causes undeclared symbols errors on cygwin)
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

16 years agobitmap.h (bitmap_single_bit_set_p): Declare.
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

16 years agore PR rtl-optimization/34012 (Pessimization caused by fwprop)
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

16 years agore PR rtl-optimization/33732 (gcc.c-torture/execute/longlong.c execution at -O3)
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

16 years agotree-flow.h (struct ptr_info_def): Make escape_mask a ENUM_BITFIELD.
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

16 years agore PR target/33604 (Revision 119502 causes significantly slower results with 4.3...
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

16 years agodse.c (find_shift_sequence): Always choose an integer mode for new_mode.
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

16 years agoDaily bump.
GCC Administrator [Fri, 9 Nov 2007 00:17:22 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r130033

16 years agotree-dfa.c (remove_referenced_var): If removing a variable which has subvars...
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

16 years agoxtensa.c (xtensa_expand_prologue): Remove first argument for gen_entry calls.
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

16 years ago* cpplib.pot: Regenerate.
Joseph Myers [Thu, 8 Nov 2007 21:15:46 +0000 (21:15 +0000)]
* cpplib.pot: Regenerate.

From-SVN: r130027

16 years ago* gcc.pot: Regenerate.
Joseph Myers [Thu, 8 Nov 2007 21:15:16 +0000 (21:15 +0000)]
* gcc.pot: Regenerate.

From-SVN: r130026

16 years agoc-parser.c (c_parser_translation_unit): Use location in error.
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

16 years agore PR target/33774 (Cygwin/mingw do not support 16 byte alignment of struct/union...
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

16 years agore PR c++/30297 (ICE with extern "C" and inheritance)
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

16 years ago* gcc.dg/compat/struct-layout-1_generate.c (dg-options) Add
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

16 years agore PR debug/33739 (Failure of gfortran.dg/literal_character_constant_1_*.F with ...
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

16 years ago* mk-kinds-h.sh: Change sed syntax.
Francois-Xavier Coudert [Thu, 8 Nov 2007 19:17:19 +0000 (19:17 +0000)]
* mk-kinds-h.sh: Change sed syntax.

From-SVN: r130015

16 years agoMAINTAINERS (Write After Approval): Add myself.
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

16 years ago[multiple changes]
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

16 years agocommon.opt (fshow-column): Default to 0.
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

16 years agobasic_file_stdio.cc (fopen_mode): Add modes missing per DR 596.
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

16 years agore PR fortran/34028 (Type mismatch with optimization of ISHFT)
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

16 years agore PR fortran/33917 (Rejects valid PROCEDURE declarations)
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

16 years agotype_traits (__decay_selector<_Up, [...]): Change according to DR 705.
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

16 years agocommon.opt: Add pointer to doc/options.texi.
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

16 years agore PR target/16350 (gcc only understands little endian ARM systems)
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

16 years agore PR tree-optimization/32575 (With -ftree-vrp miscompiles a single line of code...
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

16 years agoclass.c (build_ctor_vtbl_group): Lay out the new type and decl.
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

16 years agovector (push_back, emplace): Fix signature typo.
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

16 years agolocale_facets.h (ctype<char>::taple, [...]): Implement trivial resolution of DR 695...
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

16 years agolwg-active.html: Update to Revision R52.
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

16 years agocomplex (fabs): In C++0x mode adjust return type per DR 595 [Ready].
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

16 years agotree.h (struct tree_struct_field_tag): Move field in_nested_struct ...
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

16 years agoDaily bump.
GCC Administrator [Thu, 8 Nov 2007 00:17:22 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r129980

16 years agofloatformat.h (struct floatformat): Add split_half field.
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

16 years agore PR tree-optimization/33870 (miscompiles sqlite)
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

16 years agore PR c++/33045 ([c++0x] Incorrect decltype result for function calls.)
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

16 years agore PR java/34019 (Minor typo in gcj documentation)
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

16 years agore PR rtl-optimization/33737 (verify_flow_info failed: Wrong probability of edge...
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

16 years agore PR rtl-optimization/33822 (-g -O -mstrict-align causes an ICE in set_variable_part,)
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

16 years agoMakefile.in (tree-ssa-structalias.o): Depend on $(FUNCTION_H)
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

16 years agore PR c++/33501 (Copy constructor assumed to exist for undefined class)
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

16 years agomodulo-sched.c (sms_order_nodes, [...]): Fix prototypes.
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

16 years agosem_attr.adb (Analyze_Attribute): Remove duplicate identical embedded check for ...
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

16 years agotracebak.c (i386 alternative): Remove useless comparaison which is always false...
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

16 years agoa-tasatt.adb: Use 'Access instead of 'Unchecked_Access when applicable.
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

16 years agoa-tasatt.adb: Type Wrapper should be declared in comment instead of already declared...
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

16 years ago* MAINTAINERS (Write After Approval): Add myself.
Samuel Tardieu [Wed, 7 Nov 2007 14:36:48 +0000 (14:36 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r129961

16 years agostl_iterator.h (move_iterator<>::pointer): Adjust typedef per DR 680 [Ready].
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

16 years agodecl.c (make_aligning_type): Set the mode of the RECORD_TYPE we craft and expand...
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

16 years agoinvoke.texi: Replace rs6000 dfp switches -mdfp/-mno-dfp with -mhard-dfp/-mno-hard...
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

16 years agotree-flow.h (struct fieldoff): Reformat comment.
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

16 years agore PR libfortran/33985 (access="stream",form="unformatted" doesn't buffer)
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

16 years agovector.tcc (vector<>::_M_insert_aux<>(iterator, _Args&&...)): In C++0x mode do not...
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

16 years agoDaily bump.
GCC Administrator [Wed, 7 Nov 2007 00:17:50 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r129952

16 years agore PR middle-end/33670 (cc1 segfault with -O2 -fsched-stalled-insns=0 for twolf)
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

16 years agoAdd myself to MAINTAINERS
Doug Kwan [Tue, 6 Nov 2007 22:15:09 +0000 (22:15 +0000)]
Add myself to MAINTAINERS

From-SVN: r129947

16 years agoCorrect ChangeLog entry for revision 129904.
H.J. Lu [Tue, 6 Nov 2007 21:38:44 +0000 (13:38 -0800)]
Correct ChangeLog entry for revision 129904.

From-SVN: r129945

16 years agore PR target/32787 (Sun Studio 12 Undefined symbol addl)
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

16 years agore PR target/30961 (redundant reg/mem stores/moves)
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

16 years agom68k.c (sched-int.h, [...]): New includes.
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

16 years agoPR c++/32256, PR c++/32368:
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

16 years agore PR c++/33977 (internal compiler error: canonical types differ for identical types...
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

16 years agore PR c++/31439 (ICE with variadic template and broken specialization)
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

16 years agoboost_shared_ptr.h: Avoid unnecessary memory barriers in _S_atomic case.
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

16 years agotree-parloops.c (reduction_info): Remove reduction_init field.
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

16 years agore PR target/33168 (GCC Boot failure, building libstc++)
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

16 years agore PR tree-optimization/33458 (ICE "PHI def is not a GIMPLE value")
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

16 years agore PR tree-optimization/33993 (ICE: verify_stmts failed (invalid reference prefix))
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

16 years agore PR c++/33894 (pragma omp atomic broken)
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

16 years agore PR target/33579 (INIT_PRIORITY is broken)
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

16 years agoDaily bump.
GCC Administrator [Tue, 6 Nov 2007 00:17:19 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r129916

16 years agore PR driver/32632 (-pie won't override -shared in -shared -pie)
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

16 years agoxtensa.c (xtensa_expand_nonlocal_goto): Do not replace references to virtual_stack_va...
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

16 years agore PR c++/33871 (typeinfo name referenced in ... defined in discarded section)
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

16 years agoFix last entry.
Jakub Jelinek [Mon, 5 Nov 2007 22:00:07 +0000 (23:00 +0100)]
Fix last entry.

From-SVN: r129910

16 years agore PR rtl-optimization/33648 (ICE in verify_flow_info for -fmodulo-sched -freorder...
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

16 years agostl_vector.h (vector<>::push_back<>(_Args...), [...]): Add.
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

16 years agoFix check_750cl_hw_available function
Revital Eres [Mon, 5 Nov 2007 18:58:43 +0000 (18:58 +0000)]
Fix check_750cl_hw_available function

From-SVN: r129906

16 years agoIndex...
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

16 years agoconfig.gcc (arm*-*-*): Set c_target_objs and cxx_target_objs.
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

16 years agoconfigure.ac: Don't run config-ml.in directly.
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

16 years agore PR tree-optimization/32540 (Exponential time behavior in PRE)
Nick Clifton [Mon, 5 Nov 2007 15:42:30 +0000 (15:42 +0000)]
re PR tree-optimization/32540 (Exponential time behavior in PRE)

2007-11-05  Nick Clifton  <nickc@redhat.com>
    Sebastian Pop  <sebastian.pop@amd.com>

PR tree-optimization/32540
PR tree-optimization/33922
* doc/invoke.texi: Document PARAM_MAX_PARTIAL_ANTIC_LENGTH.
* tree-ssa-pre.c: Include params.h.
(compute_partial_antic_aux): Use PARAM_MAX_PARTIAL_ANTIC_LENGTH
to limit the maximum length of the PA set for a given block.
* Makefile.in: Add a dependency upon params.h for tree-ssa-pre.c
* params.def (PARAM_MAX_PARTIAL_ANTIC_LENGTH): New parameter.

* gcc.dg/tree-ssa/pr32540-1.c: New.
* gcc.dg/tree-ssa/pr32540-2.c: New.
* gcc.dg/tree-ssa/pr33922.c: New.

Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>
From-SVN: r129901

16 years agore PR c++/33939 (Rvalue references not deduced correctly in vararg function templates)
Douglas Gregor [Mon, 5 Nov 2007 12:50:21 +0000 (12:50 +0000)]
re PR c++/33939 (Rvalue references not deduced correctly in vararg function templates)

2007-11-05  Douglas Gregor  <doug.gregor@gmail.com>

PR c++/33939
* pt.c (unify_pack_expansion): bring handling of function call
arguments into line with type_unification_real.

2007-11-05  Douglas Gregor  <doug.gregor@gmail.com>

PR c++/33939
* g++.dg/cpp0x/variadic-rref.C: New.

From-SVN: r129900

16 years agolibgcc2.c (__fixunstfDI, [...]): Make return type unsigned.
Nathan Sidwell [Mon, 5 Nov 2007 11:41:40 +0000 (11:41 +0000)]
libgcc2.c (__fixunstfDI, [...]): Make return type unsigned.

* libgcc2.c (__fixunstfDI, __fixunsxfDI, __fixunsdfDI,
__fixunssfDI): Make return type unsigned.
* libgcc2.h (__fixunstfDI, __fixunsxfDI, __fixunsdfDI,
__fixunssfDI): Make return type unsigned.

From-SVN: r129899

16 years agotypeck.c (build_binary_op): Use pedwarn instead of error for consistency.
Manuel López-Ibáñez [Mon, 5 Nov 2007 10:03:04 +0000 (10:03 +0000)]
typeck.c (build_binary_op): Use pedwarn instead of error for consistency.

2007-11-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
cp/
* typeck.c (build_binary_op): Use pedwarn instead of error for
consistency.
testsuite/
* g++dg/warn/pointer-integer-comparison.C: New.

From-SVN: r129898

16 years agore PR tree-optimization/33856 (Segfault in create_data_ref/compute_data_dependences_f...
Jakub Jelinek [Mon, 5 Nov 2007 08:44:23 +0000 (09:44 +0100)]
re PR tree-optimization/33856 (Segfault in create_data_ref/compute_data_dependences_for_loop)

PR tree-optimization/33856
* tree-data-ref.c (get_references_in_stmt): Don't add
REFERENCE_CLASS_P trees to references vector if get_base_address
returns NULL on them.

* gcc.c-torture/compile/20071027-1.c: New test.

From-SVN: r129897

16 years agore PR c++/33836 (ICE with invalid use of &&)
Jakub Jelinek [Mon, 5 Nov 2007 08:18:03 +0000 (09:18 +0100)]
re PR c++/33836 (ICE with invalid use of &&)

PR c++/33836
* parser.c (cp_parser_unary_expression): For &&label call
cp_parser_non_integral_constant_expression and return error_mark_node
if it returned true.

* g++.dg/ext/label10.C: New test.

From-SVN: r129896

16 years agore PR c++/33969 (ICE with const and function pointer)
Jakub Jelinek [Mon, 5 Nov 2007 08:10:09 +0000 (09:10 +0100)]
re PR c++/33969 (ICE with const and function pointer)

PR c++/33969
* decl.c (grokdeclarator): Don't call build_memfn_type if type
is neither FUNCTION_TYPE nor METHOD_TYPE.

* g++.dg/other/ptrmem9.C: New test.

From-SVN: r129895

16 years ago* cfg.c (dump_cfg_bb_info): Update bb_bitnames to match enum.
Alexandre Oliva [Mon, 5 Nov 2007 06:34:34 +0000 (06:34 +0000)]
* cfg.c (dump_cfg_bb_info): Update bb_bitnames to match enum.

From-SVN: r129893