OSDN Git Service

pf3gnuchains/gcc-fork.git
17 years ago2006-12-17 Matthias Klose <doko@debian.org>
doko [Sun, 17 Dec 2006 13:46:58 +0000 (13:46 +0000)]
2006-12-17  Matthias Klose  <doko@debian.org>

        PR libstdc++/11953
        * gcc/config/mips/linux.h (SUBTARGET_CPP_SPEC): Extend.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119986 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * cse.c (cse_find_path): Don't wrap a gcc_assert in ENABLE_CHECKING.
steven [Sun, 17 Dec 2006 13:12:37 +0000 (13:12 +0000)]
* cse.c (cse_find_path): Don't wrap a gcc_assert in ENABLE_CHECKING.
(cse_extended_basic_block): When truncating a path while processing
it, make sure to clear the visited bit on the basic blocks in the
truncated part of the path.
(cse_main): Use reverse completion order, not DFS order, to walk
the CFG.
(gate_handle_cse): Revert erroneous commit of a counter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119985 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * cse.c (this_insn_cc0, this_insn_cc0_mode): New global
steven [Sun, 17 Dec 2006 13:11:06 +0000 (13:11 +0000)]
* cse.c (this_insn_cc0, this_insn_cc0_mode): New global
variables, moved out from cse_insn.
(prev_insn): Remove this global variable).
(new_basic_block): Don't set it.
(cse_insn): Idem. Also, move code to delete unused CC0-setter
insns and code to set prev_insn_cc0 and prev_insn_cc0_mode
from here...
(cse_extended_basic_block): ...to here.  Do not clear
prev_insn_cc0 until after recording equivalences from jumps.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119984 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* gfortran.texi: Added TeX support for document parts;
brooks [Sun, 17 Dec 2006 02:41:48 +0000 (02:41 +0000)]
* gfortran.texi: Added TeX support for document parts;
rearranged existing text into "About GNU Fortran",
"Invoking GNU Fortran", and "Language Reference" parts.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119981 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * cgraphunit.c (ipa_passes): Clear current_function_decl.
hubicka [Sun, 17 Dec 2006 01:50:58 +0000 (01:50 +0000)]
* cgraphunit.c (ipa_passes): Clear current_function_decl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119979 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Sun, 17 Dec 2006 00:18:00 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119977 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-16 Andreas Tobler <a.tobler@schweiz.org>
andreast [Sat, 16 Dec 2006 22:49:05 +0000 (22:49 +0000)]
2006-12-16  Andreas Tobler  <a.tobler@schweiz.org>

* passes.c (verify_curr_properties): Define only for ENABLE_CHECKING.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119971 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * omp-low.c (expand_omp_parallel): Set function properties.
hubicka [Sat, 16 Dec 2006 18:10:08 +0000 (18:10 +0000)]
* omp-low.c (expand_omp_parallel): Set function properties.
* function.h (struct function): Add curr_properties and last_verified.
* passes.c (register_dump_files): Do not set TODO_set_props for the
first pass
(init_optimization_passes): Set it here; reorder initialization so the
dump files appear in more logical order.
(last_verified, curr_properties): Kill.
(do_per_function): New function.
(execute_function_todo): Break out from ...
(execute_todo): ... here; handle per-function flags.
(clear_last_verified, verify_curr_properties,
update_properties_after_pass): New functions.
(execute_one_pass): Handle per-function properties.
(execute_ipa_pass_list): Use do_per_function; sanity check that cfun
and current_function_decls are cleared out.
* ipa-cp.c (constant_val_insert): Clear cfun/current_function_decl
after use.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119966 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
paolo [Sat, 16 Dec 2006 17:16:04 +0000 (17:16 +0000)]
2006-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

* docs/html/27_io/howto.html: Fix typos.
* docs/html/24_iterators/howto.html: Likewise.
* docs/html/18_support/howto.html: Likewise.
* docs/html/21_strings/howto.html: Likewise.
* docs/html/ext/howto.html: Likewise.
* docs/html/ext/ballocator_doc.html: Likewise.
* docs/html/17_intro/porting-howto.xml: Likewise.
* docs/html/17_intro/howto.html: Likewise.
* docs/html/22_locale/howto.html: Likewise.
* docs/html/faq/index.html: Likewise.
* docs/doxygen/tables.html: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119964 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-16 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
manu [Sat, 16 Dec 2006 16:48:01 +0000 (16:48 +0000)]
2006-12-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR middle-end/7651
* c.opt (Wempty-body): New.
* doc/invoke.texi (Wempty-body): Document it.
(Wextra): Enabled by -Wextra.
* c-opts.c (c_common_post_options): Enabled by -Wextra.
* c-common.c (empty_body_warning): Replace Wextra with Wempty-body.
* c-parser.c (c_parser_c99_block_statement): Likewise.
testsuite/
* gcc.dg/20001116-1.c: Replace -Wextra with -Wempty-body.
* gcc.dg/if-empty-1.c: Likewise.
* gcc.dg/pr23165.c: Likewise.
* g++.dg/warn/empty-body.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119963 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-16 Simon Martin <simartin@users.sourceforge.net>
simartin [Sat, 16 Dec 2006 08:51:42 +0000 (08:51 +0000)]
2006-12-16  Simon Martin  <simartin@users.sourceforge.net>

PR c++/29475
* cp-tree.h (struct deferred_access_check): New structure to represent a
deferred access check. It replaces the previous representation as a tree.
(get_deferred_access_checks): Return a vector of struct
deferred_access_check instead of a tree list.
(perform_access_checks): Take a vector of struct deferred_access_check
instead of a tree list.
* semantics.c (struct deferred_access): Store the deferred access checks
as a vector of struct deferred_access_check instead of a tree list.
(push_deferring_access_checks): Handle the change in struct
deferred_access.
(get_deferred_access_checks): Likewise.
(pop_to_parent_deferring_access_checks): Likewise.
(perform_or_defer_access_check): Likewise.
(perform_access_checks): Take a vector of struct deferred_access_check
instead of a tree list.
* parser.c (struct tree_check): New structure to store various data
associated with a CPP_NESTED_NAME_SPECIFIER or CPP_TEMPLATE_ID token.
(struct cp_token): Changed the value field to be a union with a pointer to
a struct tree_check for CPP_NESTED_NAME_SPECIFIER or CPP_TEMPLATE_ID
tokens and a tree field for all other tokens.
(eof_token): Adjusted due to the change in struct cp_token.
(cp_lexer_get_preprocessor_token): Likewise.
(cp_lexer_purge_token): Likewise.
(cp_lexer_purge_tokens_after): Likewise.
(cp_lexer_print_token): Likewise.
(cp_parser_error): Likewise.
(cp_parser_identifier): Likewise.
(cp_parser_string_literal): Likewise.
(cp_parser_primary_expression): Likewise.
(cp_parser_unqualified_id): Likewise.
(cp_parser_parenthesized_expression_list): Likewise.
(cp_parser_storage_class_specifier_opt): Likewise.
(cp_parser_function_specifier_opt): Likewise.
(cp_parser_type_specifier): Likewise.
(cp_parser_simple_type_specifier): Likewise.
(cp_parser_initializer_list): Likewise.
(cp_parser_member_specification_opt): Likewise.
(cp_parser_attribute_list): Likewise.
(cp_parser_objc_expression): Likewise.
(cp_parser_objc_protocol_qualifiers): Likewise.
(cp_parser_objc_selector): Likewise.
(cp_parser_objc_declaration): Likewise.
(cp_parser_objc_statement): Likewise.
(cp_parser_omp_clause_name): Likewise.
(cp_parser_omp_clause_default): Likewise.
(cp_parser_omp_clause_schedule): Likewise.
(cp_parser_omp_parallel): Likewise.
(cp_parser_initial_pragma): Likewise.
(pragma_lex): Likewise.
(cp_parser_pre_parsed_nested_name_specifier): Likewise.
(cp_parser_nested_name_specifier_opt): Likewise.
Use cp_token::u::tree_check_value to save the token's value, the
associated deferred checks and its qualifying scope.
(cp_parser_template_id): Likewise.
(cp_parser_template_declaration_after_export): Adjusted the call to
get_deferred_access_checks.
(cp_parser_init_declarator): Take the access checks as a vector of struct
deferred_access_check instead of a tree list.
(cp_parser_single_declaration): Likewise.
(cp_parser_perform_template_parameter_access_checks): Likewise.
(cp_parser_simple_declaration): Adjusted the call to
cp_parser_init_declarator.
(cp_parser_explicit_specialization): Adjusted the call to
cp_parser_single_declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119961 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sat, 16 Dec 2006 05:27:31 +0000 (05:27 +0000)]
2006-12-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/30005
* gfortran.dg/open_errors.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119960 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-15 H.J. Lu <hongjiu.lu@intel.com>
hjl [Sat, 16 Dec 2006 00:47:39 +0000 (00:47 +0000)]
2006-12-15  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.dg/i386-cpuid.h (bit_SSSE3): New.

* gcc.target/i386/ssse3-pabsb.c: New file.
* gcc.target/i386/ssse3-pabsd.c: Likewise.
* gcc.target/i386/ssse3-pabsw.c: Likewise.
* gcc.target/i386/ssse3-palignr.c: Likewise.
* gcc.target/i386/ssse3-phaddd.c: Likewise.
* gcc.target/i386/ssse3-phaddsw.c: Likewise.
* gcc.target/i386/ssse3-phaddw.c: Likewise.
* gcc.target/i386/ssse3-phsubd.c: Likewise.
* gcc.target/i386/ssse3-phsubsw.c: Likewise.
* gcc.target/i386/ssse3-phsubw.c: Likewise.
* gcc.target/i386/ssse3-pmaddubsw.c: Likewise.
* gcc.target/i386/ssse3-pmulhrsw.c: Likewise.
* gcc.target/i386/ssse3-pshufb.c: Likewise.
* gcc.target/i386/ssse3-psignb.c: Likewise.
* gcc.target/i386/ssse3-psignd.c: Likewise.
* gcc.target/i386/ssse3-psignw.c: Likewise.
* gcc.target/i386/ssse3-vals.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119958 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Sat, 16 Dec 2006 00:17:50 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119956 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * lib/gfortran-dg.exp: Don't include fortran-torture.exp.
janis [Fri, 15 Dec 2006 23:31:41 +0000 (23:31 +0000)]
* lib/gfortran-dg.exp: Don't include fortran-torture.exp.
* lib/fortran-torture.exp: Include target-supports.exp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119950 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR target/30185
jakub [Fri, 15 Dec 2006 23:08:18 +0000 (23:08 +0000)]
PR target/30185
* config/rs6000/rs6000.md (div<mode>3): Use correct mode in
force_reg call.

* gcc.c-torture/execute/pr30185.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119947 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR testsuite/30179
danglin [Fri, 15 Dec 2006 21:41:58 +0000 (21:41 +0000)]
PR testsuite/30179
PR testsuite/30180
* gcc.dg/builtin-bswap-1.c: Require stdint_types.
* gcc.dg/builtin-bswap-2.c: Likewise.
* gcc.dg/builtin-bswap-3.c: Likewise.
* gcc.dg/builtin-bswap-4.c: Likewise.
* lib/target-supports.exp (check_effective_target_stdint_types): New.
* cc.c-torture/execute/mode-dependent-address.x: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119945 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* MAINTAINERS (Write After Approval): Add myself.
simartin [Fri, 15 Dec 2006 21:17:51 +0000 (21:17 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119944 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 15 Dec 2006 19:58:10 +0000 (19:58 +0000)]
2006-12-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/30145
* gfortran.dg/write_zero_array: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119943 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 15 Dec 2006 19:54:52 +0000 (19:54 +0000)]
2006-12-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/30145
* io/transfer.c (transfer_array):  Check for negative extent.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119942 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 15 Dec 2006 19:52:49 +0000 (19:52 +0000)]
2006-12-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/30200
* gfortran.dg/write_fmt_trim.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119941 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 15 Dec 2006 19:48:08 +0000 (19:48 +0000)]
2006-12-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/30200
* trans-io.c (build_dt): Move post block for format_expr to end.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119940 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-15 Andrew Pinski <pinski@gmail.com>
pinskia [Fri, 15 Dec 2006 15:48:10 +0000 (15:48 +0000)]
2006-12-15  Andrew Pinski  <pinski@gmail.com>

        PR tree-opt/30140
        * tree-inline.c (setup_one_parameter): Gimplify the statement if
        the variable is not a gimple register variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119883 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * invoke.texi (mstringop-strategy): Add missing "byte_loop" value.
uros [Fri, 15 Dec 2006 09:01:29 +0000 (09:01 +0000)]
* invoke.texi (mstringop-strategy): Add missing "byte_loop" value.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119877 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Fri, 15 Dec 2006 00:17:34 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119874 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR 30194
dnovillo [Thu, 14 Dec 2006 19:50:11 +0000 (19:50 +0000)]
PR 30194
* gcc.dg/pr19633-1.c: Increase threshold for partitioning
temporarily.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119867 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-14 Richard Guenther <rguenther@suse.de>
dnovillo [Thu, 14 Dec 2006 19:39:44 +0000 (19:39 +0000)]
2006-12-14  Richard Guenther  <rguenther@suse.de>
    Diego Novillo  <dnovillo@redhat.com>

* Make-lang.in (fortran/options.o): Add $(PARAMS_H) dependency.
* options.c (params.h): Include.
(gfc_post_options): Set MAX_ALIASED_VOPS to 50.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119866 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-flow.h (struct stmt_ann_d): Move bitfield references_memory
hubicka [Thu, 14 Dec 2006 16:22:26 +0000 (16:22 +0000)]
* tree-flow.h (struct stmt_ann_d): Move bitfield references_memory
to proper place.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119863 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * lib/target-supports.exp (check_weak_available): Use istarget
danglin [Thu, 14 Dec 2006 16:13:59 +0000 (16:13 +0000)]
* lib/target-supports.exp (check_weak_available): Use istarget
"hppa*-*-hpux10*" instead of regexp.
(check_cxa_atexit_available): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119861 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-14 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 14 Dec 2006 13:14:23 +0000 (13:14 +0000)]
2006-12-14  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/30197
* builtins.c (fold_builtin_cexp): New function to fold cexp
to cexpi and exp parts.
* tree-ssa-pre.c (try_combine_conversion): Also handle
REALPART_EXPR and IMAGPART_EXPR.

* gcc.c-torture/execute/complex-1.c: Fix function name.
* gcc.dg/builtins-61.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119860 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-14 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 14 Dec 2006 13:12:11 +0000 (13:12 +0000)]
2006-12-14  Richard Guenther  <rguenther@suse.de>

PR middle-end/30172
* fold-const.c (fold_binary): Fold __complex__ ( x, 0 )
+ __complex__ ( 0, y ) to __complex__ ( x, y ).
Fold __complex__ (x, y) * +-I to __complex__ (-+y, +-x).

* gcc.dg/pr30172-1.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119859 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-14 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 14 Dec 2006 13:09:24 +0000 (13:09 +0000)]
2006-12-14  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/30198
* fold-const.c (fold_unary): Fold REALPART_EXPR of cexpi to cos.
Fold IMAGPART_EXPR of cexpi to sin.

* gcc.dg/builtins-60.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119858 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * spu.c (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Defined.
dorit [Thu, 14 Dec 2006 12:11:38 +0000 (12:11 +0000)]
    * spu.c (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Defined.
        (spu_init_builtins): Mark the SPU_MASK_FOR_LOAD builtin decl as read
        only.
        (spu_expand_builtin_1): Handle the SPU_MASK_FOR_LOAD builtin.
        (spu_builtin_mask_for_load): New.
        * spu-builtins.def (SPU_MASK_FOR_LOAD): Define new builtin.
        * spu.md (UNSPEC_SPU_REALIGN_LOAD, UNSPEC_SPU_MASK_FOR_LOAD):New.
        (vec_realign_load_<mode>, spu_lvsr): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119857 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-14 Andreas Tobler <a.tobler@schweiz.org>
andreast [Thu, 14 Dec 2006 07:34:45 +0000 (07:34 +0000)]
2006-12-14  Andreas Tobler  <a.tobler@schweiz.org>

* configure.ac: Add TARGET for x86_64-*-darwin*.
* Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
for X86_DARWIN.
* src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
* src/x86/darwin64.S: New file for x86_64-*-darwin* support.
* configure: Regenerate.
* Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
* testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
ffi_call only.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119856 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR c++/19564
ian [Thu, 14 Dec 2006 05:49:06 +0000 (05:49 +0000)]
PR c++/19564
PR c++/19756
gcc/:
* c-typeck.c (parser_build_binary_op): Move parentheses warnings
to warn_about_parentheses in c-common.c.
* c-common.c (warn_about_parentheses): New function.
* c-common.h (warn_about_parentheses): Declare.
* doc/invoke.texi (Warning Options): Update -Wparentheses
description.
gcc/cp/:
* parser.c (cp_parser_expression_stack_entry): Add field
lhs_type.
(cp_parser_binary_expression): Track tree code of left hand side
of expression.  Use it when calling build_x_binary_op.
(cp_parser_selection_statement): Add if_p parameter.  Change all
callers.  Warn about ambiguous else.
(cp_parser_statement): Add if_p parameter.  Change all callers.
(cp_parser_implicitly_scoped_statement): Likewise.
* typeck.c (build_x_binary_op): Add parameters arg1_code and
arg2_code.  Change all callers.  Call warn_about_parentheses.
* cp-tree.h (build_x_binary_op): Update declaration.
gcc/testsuite/:
* g++.dg/warn/Wparentheses-5.C: New test.
* g++.dg/warn/Wparentheses-6.C: New test.
* g++.dg/warn/Wparentheses-7.C: New test.
* g++.dg/warn/Wparentheses-8.C: New test.
* g++.dg/warn/Wparentheses-9.C: New test.
* g++.dg/warn/Wparentheses-10.C: New test.
* g++.dg/warn/Wparentheses-11.C: New test.
* g++.dg/warn/Wparentheses-12.C: New test.
* g++.dg/warn/Wparentheses-13.C: New test.
* g++.dg/warn/Wparentheses-14.C: New test.
* g++.dg/warn/Wparentheses-15.C: New test.
* g++.dg/warn/Wparentheses-16.C: New test.
* g++.dg/warn/Wparentheses-17.C: New test.
* g++.dg/warn/Wparentheses-18.C: New test.
* g++.dg/warn/Wparentheses-19.C: New test.
* g++.dg/warn/Wparentheses-20.C: New test.
* g++.dg/warn/Wparentheses-21.C: New test.
libstdc++-v3/:
* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
Add parentheses around && within || to avoid warning.
(num_get<>::_M_extract_int): Likewise.
(money_get<>::_M_extract): Likewise.
(num_get<>::do_get(iter_type, iter_type, ios_base&,
ios_base::iostate&, void*&)): Add parentheses around & within | to
avoid warning.
(num_put<>::do_put(iter_type, ios_base&, char_type, const void*)):
Likewise.
* include/bits/streambuf_iterator.h (istreambuf_iterator::equal):
Add parentheses around && within || to avoid warning.
* libsupc++/tinfo.cc (__do_dyncast): Likewise.
* src/locale.cc (locale::_S_normalize_category): Likewise.
* include/bits/stl_tree.h (_Rb_tree<>::_M_insert_unique): Add
braces to avoid ambiguous else warning.
* src/strstream.cc (strstreambuf::_M_free): Likewise.
* src/tree.cc (_Rb_tree_rebalance_for_erase): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119855 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-ssa-loop-ivopts.c: Include tree-affine.h.
rakdver [Thu, 14 Dec 2006 02:05:20 +0000 (02:05 +0000)]
* tree-ssa-loop-ivopts.c: Include tree-affine.h.
(divide): Removed.
(constant_multiple_of): Fix order of operators for division.
(aff_combination_const, aff_combination_elt, aff_combination_scale,
aff_combination_add_elt, aff_combination_add, aff_combination_convert,
tree_to_aff_combination, add_elt_to_tree, unshare_aff_combination,
aff_combination_to_tree): Moved to tree-affine.c and made to work with
double_int coefficients.
(get_computation_aff, get_computation_at): Work with double_int
coefficients.
(get_computation_cost_at): Do not use divide.
(rewrite_use_nonlinear_expr, rewrite_use_address, rewrite_use_compare):
Assert that expressing the computation did not fail.
* tree-ssa-address.c: Include tree-affine.h.
(add_to_parts, most_expensive_mult_to_index, addr_to_parts,
create_mem_ref): Work with double_int coefficients.
* tree-affine.c: New file.
* tree-affine.h: New file.
* tree-flow.h (struct affine_tree_combination): Removed.
* Makefile.in (tree-affine.o): Add.
(tree-ssa-address.o, tree-ssa-loop-ivopts.o): Add tree-affine.h
dependency.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119854 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Thu, 14 Dec 2006 00:18:03 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119852 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-13 Eric Christopher <echristo@apple.com>
echristo [Thu, 14 Dec 2006 00:17:58 +0000 (00:17 +0000)]
2006-12-13  Eric Christopher  <echristo@apple.com>

        * MAINTAINERS: Add myself as darwin maintainer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119851 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
andreast [Wed, 13 Dec 2006 21:04:07 +0000 (21:04 +0000)]
2006-12-13  Andreas Tobler <a.tobler@schweiz.org>

* aclocal.m4: Regenerate with aclocal -I .. as written in the
Makefile.am.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119845 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR middle-end/30191
bergner [Wed, 13 Dec 2006 19:19:03 +0000 (19:19 +0000)]
    PR middle-end/30191
        Revert:
        * reload1.c (eliminate_regs_in_insn): Merge the plus_src "else" and
        the offset == 0 "then" clauses.
        * config/rs6000/predicates.md (gpc_reg_operand): Check for
        reload_in_progress.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119844 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR testsuite/30157
danglin [Wed, 13 Dec 2006 18:47:04 +0000 (18:47 +0000)]
PR testsuite/30157
* lib/target-supports.exp (check_cxa_atexit_available): Return false
for target "hppa.*hpux10".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119842 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/i386/i386.h (FIRST_PSEUDO_REGISTER): Define to 53.
uros [Wed, 13 Dec 2006 18:07:47 +0000 (18:07 +0000)]
* config/i386/i386.h (FIRST_PSEUDO_REGISTER): Define to 53.
(FIXED_REGISTERS, CALL_USED_REGISTERS): Remove dir register.
(REG_ALLOC_ORDER): Remove one element due to removal of dir register.
(FRAME_POINTER_REGNUM): Update register number to 20.
(REG_CLASS_CONTENTS): Update contents due to removed dir register.
(HI_REGISTER_NAMES): Remove "dirflag".

* config/i386/i386.c (regclass_map): Remove dirflag entry.
(dbx_register_map, dbx64_register_map, svr4_dbx_register_map):
Remove "dir" entry.
(ix86_md_asm_clobbers): Remove "dirflag" default asm clobber.

* config/i386/i386.md (R10_REG, R11_REG): Renumber.
(sse_prologue_save, *sse_prologue_save_insn): Renumber
hardcoded SSE register numbers.

* config/i386/mmx.md (mmx_emms, mmx_femms): Renumber
hardcoded MMX register numbers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119839 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago gcc/
shinwell [Wed, 13 Dec 2006 17:32:47 +0000 (17:32 +0000)]
    gcc/
        * config/arm/arm.c (arm_output_fldmx): Output FLDMD instead of
        FLDMX.  Rename function to...
        (vfp_output_fldmd): ...this.
        (vfp_output_fstmx): Output FSTMD instead of FSTMX.  Rename
        function to...
        (vfp_output_fstmd): ...this.
        (vfp_emit_fstmx): Don't leave space in the frame layout for the
        FSTMX format word.  Rename function to...
        (vfp_emit_fstmd): ...this.
        (arm_get_vfp_saved_size): Don't add in space for the FSTMX format
        word.
        (arm_output_epilogue): Adjust comment to reflect use of FSTMD.
        (arm_unwind_emit_sequence): Don't compensate for the FSTMX format
        word.  Also emit "vsave" assembler directives in such cases rather
        than "save".
        * config/arm/libunwind.S (gnu_Unwind_Restore_VFP,
        gnu_Unwind_Save_VFP): Adjust comments.
        (gnu_Unwind_Restore_VFP_D, gnu_Unwind_Save_VFP_D): New functions
        for saving and restoring using FSTMD and FLDMD rather than
        FSTMX and FLDMX.
        (gnu_Unwind_Restore_VFP_D_16_to_31, gnu_Unwind_Restore_VFP_D_16_to_31):
        New functions for saving and restoring the VFPv3 registers 16 .. 31.
        * config/arm/pr-support.c (gnu_unwind_execute): Add conditional
        compilation case to correctly handle unwind opcode 0xc8 when using
        VFP.
        * config/arm/unwind-arm.c (struct vfpv3_regs): New.
        (DEMAND_SAVE_VFP_D, DEMAND_SAVE_VFP_V3): New flags.
        (__gnu_Unwind_Save_VFP_D, __gnu_Unwind_Restore_VFP_D,
        __gnu_Unwind_Save_VFP_D_16_to_31, __gnu_Unwind_Restore_VFP_D_16_to_31):
        Declare.
        (restore_non_core_regs): Restore registers using FLDMD rather than
        FLDMX if required.  Also handle restoration of VFPv3 registers.
        (_Unwind_VRS_Pop): Handle saving and restoring of registers using
        FSTMD and FLDMD if required; also handle VFPv3 registers 16 .. 31,
        including cases where the caller specifies a range of registers
        that overlaps the d15/d16 boundary.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119838 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-13 Jakub Jelinek <jakub@redhat.com>
jakub [Wed, 13 Dec 2006 17:29:26 +0000 (17:29 +0000)]
2006-12-13  Jakub Jelinek  <jakub@redhat.com>

* g++.dg/debug/vartrack1.C: New test.

* g++.dg/opt/ifcvt1.C: New test.

* gcc.dg/tls/opt-13.c: New test.

* gcc.dg/20060425-2.c: New test.

* g++.dg/opt/pr15054-2.C: New test.

* gcc.c-torture/execute/20060420-1.c: New test.

* gcc.c-torture/execute/20060412-1.c: New test.

* objc/compile/20060406-1.m: New test.

2006-12-08  Alexandre Oliva  <aoliva@redhat.com>

* g++.dg/template/array17.C: New test.

2006-02-25  Alexandre Oliva  <aoliva@redhat.com>

* gcc.target/powerpc/altivec-23.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119837 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoFix PR attribution to last change.
dnovillo [Wed, 13 Dec 2006 17:25:48 +0000 (17:25 +0000)]
Fix PR attribution to last change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119836 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-ssa-operands.h (SSA_OPERAND_MEMORY_SIZE): Add space to
dnovillo [Wed, 13 Dec 2006 17:19:29 +0000 (17:19 +0000)]
* tree-ssa-operands.h (SSA_OPERAND_MEMORY_SIZE): Add space to
accomodate 511 operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119835 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-13 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 13 Dec 2006 16:53:15 +0000 (16:53 +0000)]
2006-12-13  Richard Guenther  <rguenther@suse.de>

* builtins.c (expand_builtin_cexpi): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119834 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR c++27316
lmillward [Wed, 13 Dec 2006 13:25:47 +0000 (13:25 +0000)]
PR c++27316
* g++.dg/inherit/error3.C: New test.

PR c++/28740
* g++.dg/inherit/error4.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119830 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * Makefile.in: Add dependencies.
hubicka [Wed, 13 Dec 2006 13:02:06 +0000 (13:02 +0000)]
* Makefile.in: Add dependencies.
* tree-pretty-print.c: Include value-prof.h
(dump_generic_bb_buff): Dump histograms
* value-prof.c: Include pointer-set.h
(gimple_alloc_histogram_value, histogram_hash, histogram_eq,
set_histogram_value, gimple_histogram_value,
gimple_add_histogram_value, gimple_remove_histogram_value,
gimple_histogram_value_of_type, dump_histogram_value,
dump_histograms_for_stmt, gimple_remove_stmt_histograms,
gimple_duplicate_stmt_histograms, visit_hist,
verify_histograms): New functions.
(tree_value_profile_transformations): Update for new histogram API.
(tree_divmod_fixed_value): Update for new histogram API.
(tree_divmod_fixed_value_transform): Update for new histogram API.
(tree_mod_pow2): Update for new histogram API.
(tree_mod_pow2_value_transform): Update for new histogram API.
(tree_mod_subtract): Update for new histogram API.
(tree_mod_subtract_transform): Update for new histogram API.
(tree_stringops_transform): Update for new histogram API.
(tree_divmod_values_to_profile): Update for new histogram API.
(tree_stringops_values_to_profile): Update for new histogram API.
(tree_find_values_to_profile): Update for new histogram API.
* value-prof.h (gimple_histogram_value): Declare.
(gimple_histogram_value_of_type): Declare.
(gimple_add_histogram_value): Declare.
(gimple_remove_histogram_value): Declare.
(dump_histograms_for_stmt): Declare.
(gimple_remove_histogram_value): Declare.
(gimple_remove_stmt_histograms): Declare.
(gimple_duplicate_stmt_histograms): Declare.
(verify_histograms): Declare.
* function.h
(struct funrction): Add value_histograms hash.
(VALUE_HISTOGRAMS): New macro.
* profile.c (compute_value_histograms): update for new API.
* tree-inline.c: Include value-prof.h
(copy_bb): Update histograms.
* tree-flow.h (struct stmt_ann_d): Do not contain pointer to histograms;
reorder to get smaller memory layout.
* tree-cfg.c: Include value-prof.h
(bsi_remove): Update histograms.
(bsi_replace): Update histograms.
(verify_stmts): Call histogram verifier.
(tree_duplicate_bb): Update histograms.
(move_block_to_fn): Update histograms.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119829 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-13 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 13 Dec 2006 12:17:02 +0000 (12:17 +0000)]
2006-12-13  Richard Guenther  <rguenther@suse.de>

* ipa-inline.c (cgraph_flatten_node): Replace leafify with
flatten.
(cgraph_decide_inlining): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119827 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-13 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 13 Dec 2006 10:17:36 +0000 (10:17 +0000)]
2006-12-13  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/17687
* builtins.def (BUILT_IN_CEXPI, BUILT_IN_CEXPIF, BUILT_IN_CEXPIL):
New builtins for imaginary argument cexp.
* builtin-types.def (BT_FN_COMPLEX_FLOAT_FLOAT,
BT_FN_COMPLEX_DOUBLE_DOUBLE, BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE):
New required builtin types.
* builtins.c (expand_builtin_cexpi): Declare.
(mathfn_built_in): Handle BUILT_IN_CEXPI.
(expand_builtin_cexpi): New static helper.
(expand_builtin): Call it.
(do_mpfr_sincos): Adjust for CEXPI evaluation.
(fold_builtin_sincos): New function to fold sincos to cepxi.

* gcc.dg/builtins-59.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119824 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-13 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 13 Dec 2006 09:57:56 +0000 (09:57 +0000)]
2006-12-13  Richard Guenther  <rguenther@suse.de>

PR fortran/30115
* runtime/memory.c (allocate_size): Change interface to
void *()(size_t, GFC_INTEGER_4 *).
(allocate): Likewise.
(allocate64): Likewise.
(allocate_array): Change interface to
void *()(void *, size_t, GFC_INTEGER_4 *).
(allocate64_array): Likewise.
(deallocate): Change interface to
void ()(void *, GFC_INTEGER_4 *).

* trans-array.c (gfc_array_allocate): Adjust for changed
library interface.
(gfc_array_deallocate): Likewise.
(gfc_trans_dealloc_allocated): Likewise.
* trans-stmt.c (gfc_trans_allocate): Likewise.
(gfc_trans_deallocate): Likewise.
* trans-decl.c (gfc_build_builtin_function_decls): Adjust
function declarations to match the library changes.  Mark
allocation functions with DECL_IS_MALLOC.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119822 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-13 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 13 Dec 2006 09:56:24 +0000 (09:56 +0000)]
2006-12-13  Richard Guenther  <rguenther@suse.de>

* ipa-reference.c (scan_for_static_refs): Also scan
tcc_comparison class trees.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119821 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * mips-tdump.c: Replace CROSS_COMPILE with
geoffk [Wed, 13 Dec 2006 09:28:16 +0000 (09:28 +0000)]
* mips-tdump.c: Replace CROSS_COMPILE with
CROSS_DIRECTORY_STRUCTURE.
* mips-tfile.c: Likewise.
* gcc.c: Likewise.
* configure.ac: Likewise.
* cppdefault.c: Likewise.
* Makefile.in: Likewise.
* config/alpha/osf.h: Likewise.
* config/i386/cygwin.h: Likewise.
* config/i386/beos-elf.h: Likewise.
* config/i386/nto.h: Likewise.
* config/fr30/fr30.h: Likewise.
* config/svr4.h: Likewise.
* config/rs6000/aix.h: Likewise.
* config/rs6000/sysv4.h: Likewise.
* config/pa/pa64-hpux.h: Likewise.
* config/pa/pa-hpux10.h: Likewise.
* config/pa/pa-hpux11.h: Likewise.
* collect2.c: Likewise.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119820 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/mips/mips.h (ASM_OUTPUT_EXTERNAL): Undefine it before
daney [Wed, 13 Dec 2006 06:53:49 +0000 (06:53 +0000)]
* config/mips/mips.h (ASM_OUTPUT_EXTERNAL): Undefine it before
define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119819 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-12 Andrew Pinski <pinskia@gmail.com>
pinskia [Wed, 13 Dec 2006 05:37:39 +0000 (05:37 +0000)]
2006-12-12  Andrew Pinski  <pinskia@gmail.com>

        * tree-vect-transform.c (vect_permute_load_chain):
        Set DECL_GIMPLE_REG_P to true for the vect_perm_*
        temp variables.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119818 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/spu/spu.h (C_COMMON_OVERRIDE_OPTIONS): Define.
bje [Wed, 13 Dec 2006 05:25:57 +0000 (05:25 +0000)]
* config/spu/spu.h (C_COMMON_OVERRIDE_OPTIONS): Define.
(REGISTER_TARGET_PRAGMAS): Don't zero warn_main flag.
* config/spu/spu-protos.h (spu_c_common_override_options):
Declare.
* config/spu/spu-c.c (spu_c_common_override_options): New.
* config/spu/spu.c (spu_override_options): Whitespace fix.

testsuite/
* gcc.target/spu/Wmain.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119817 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-12 Josh Conner <jconner@apple.com>
jconner [Wed, 13 Dec 2006 02:16:19 +0000 (02:16 +0000)]
2006-12-12  Josh Conner  <jconner@apple.com>

* g++.dg/abi/thunk3.C: Use .weak_definition on darwin.
* g++.dg/abi/thunk4.C: Likewise.
* g++.dg/abi/rtti3.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119815 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Wed, 13 Dec 2006 00:17:49 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119812 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/spu/spu.c (cpat_info): Fix an incorrectly identified case.
tsmigiel [Tue, 12 Dec 2006 23:59:35 +0000 (23:59 +0000)]
* config/spu/spu.c (cpat_info): Fix an incorrectly identified case.

* gcc.target/spu/cpat-1.c: New test.
* gcc.target/spu/cpat-2.c: New test.
* gcc.target/spu/cpat-3.c: New test.
* gcc.target/spu/cpat-4.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119807 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * doc/tm.texi (Alignment Output): Document that ASM_OUTPUT_SKIP
geoffk [Tue, 12 Dec 2006 23:53:37 +0000 (23:53 +0000)]
* doc/tm.texi (Alignment Output): Document that ASM_OUTPUT_SKIP
actually takes an unsigned HOST_WIDE_INT for its second parameter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119806 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/spu/spu.c (TARGET_ENCODE_SECTION_INFO): Define.
bje [Tue, 12 Dec 2006 23:21:48 +0000 (23:21 +0000)]
* config/spu/spu.c (TARGET_ENCODE_SECTION_INFO): Define.
(spu_encode_section_info): New.
* config/spu/spu.h (ALIGNED_SYMBOL_REF_P): Adjust.
(SYMBOL_FLAG_ALIGN1): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119803 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
pinskia [Tue, 12 Dec 2006 22:45:25 +0000 (22:45 +0000)]
2006-12-12  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/28624
        * tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary
        bitmap for EXECUTE_IF_SET_IN_BITMAP.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119802 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
pinskia [Tue, 12 Dec 2006 22:33:06 +0000 (22:33 +0000)]
2006-12-12  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/28436
        * tree.h (DECL_COMPLEX_GIMPLE_REG_P): Rename to ...
        (DECL_GIMPLE_REG_P): This.
        * fold-const.c (fold_indirect_ref_1): Fold *(foo *)&vectorfoo into
        using BIT_FIELD_REF.
        * omp-low.c (omp_copy_decl_2): Use the renamed DECL_GIMPLE_REG_P.
        * tree-gimple.c (is_gimple_reg): Use the renamed DECL_GIMPLE_REG_P
        and check for VECTOR_TYPE.
        * expr.c (get_inner_reference): Set the mode for BIT_FIELD_REF with
        vector types.
        * tree-flow-inline.h (var_can_have_subvars): Use the renamed
        DECL_GIMPLE_REG_P.
        * gimplify.c (internal_get_tmp_var): Use the renamed DECL_GIMPLE_REG_P
        and check for VECTOR_TYPE.
        (gimplify_bind_expr): Likewise.
        (gimplify_function_tree): Likewise.
        * expmed.c: Include target.h.
        (extract_bit_field): For vector mode, try find a better mode first.
        If that fails use gen_lowpart (for vectors only).
        * tree-dfa.c (make_rename_temp): Use the renamed DECL_GIMPLE_REG_P
        and check for VECTOR_TYPE.
        * tree-ssa-pre.c (create_expressions_by_pieces): Likewise.
        (insert_into_preds_of_block): Likewise.
        (insert_fake_stores): Create gimple register store_tmps for
        vector types.
        * tree-sra.c (sra_elt): New field, is_vector_lhs.
        (sra_walk_expr <case BIT_FIELD_REF>): For vector types that
        are the left hand side, set the element's is_vector_lhs to true.
        (instantiate_element): For vector types which were on the left         hand size, set DECL_GIMPLE_REG_P to false.
        * tree-nested.c (create_tmp_var_for): Use the renamed DECL_GIMPLE_REG_P.        * tree-inline.c (declare_return_variable):  Use the renamed
        DECL_GIMPLE_REG_P
        and check for VECTOR_TYPE.         (copy_decl_to_var):  Use the renamed DECL_GIMPLE_REG_P.
        (copy_result_decl_to_var): Likewise.
        * tree-vect-transform.c (vect_get_new_vect_var): For vector types,         create a gimple register variable.
        (vect_permute_store_chain): Set DECL_GIMPLE_REG_P to true for the
        vect_inter_* temp variables.
        * Makefile.in (expmed.o): Update dependencies.

2006-12-12  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/28436
        * gcc.c-torture/compile/vector-1.c: New test.
        * gcc.c-torture/compile/vector-2.c: New test.
        * gcc.c-torture/compile/vector-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119801 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * reload1.c (eliminate_regs_in_insn): Merge the plus_src "else" and
bergner [Tue, 12 Dec 2006 21:45:37 +0000 (21:45 +0000)]
* reload1.c (eliminate_regs_in_insn): Merge the plus_src "else" and
the offset == 0 "then" clauses.
* config/rs6000/predicates.md (gpc_reg_operand): Check for
reload_in_progress.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119800 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agofortran/
tobi [Tue, 12 Dec 2006 20:59:21 +0000 (20:59 +0000)]
fortran/
* trans-expr.c (gfc_conv_substring): Check for empty substring.
testsuite/
* lib/fortran-torture.exp: Update copyright years.  Remove
obsolete comment.  Test -ftree-vectorize where it makes sense.
* lib/gfortran-dg.exp: Update copyright years.  Use settings
from fortran-torture.exp.
* gfortran.dg/char_transpose_1.f90,
gfortran.dg/char_spread_1.f90, gfortran.dg/g77/dnrm2.f,
gfortran.dg/dependent_decls_1.f90: Fixout-of-bound errors.
* gfortran.dg/enum_10.f90, gfortran.dg/mixed_io_1.f90:  Add
'-w' to dg-options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119797 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-12 Marcin Dalecki <martin@dalecki.de>
dalecki [Tue, 12 Dec 2006 20:21:36 +0000 (20:21 +0000)]
2006-12-12  Marcin Dalecki  <martin@dalecki.de>

* gcc/tree-pass.h: remove redundant pass_partition_blocks declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119796 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agogcc/testsuite/
rsandifo [Tue, 12 Dec 2006 20:12:28 +0000 (20:12 +0000)]
gcc/testsuite/
* lib/gcc-dg.exp (${tool}_load): Fix invocation of
saved_${tool}_load.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119795 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-12 Marcin Dalecki <martin@dalecki.de>
dalecki [Tue, 12 Dec 2006 20:09:46 +0000 (20:09 +0000)]
2006-12-12  Marcin Dalecki  <martin@dalecki.de>

* doc/passes.texi: remove docs about "redundant PHI removal".
* tree-pass.h: remove orphaned declaration of pass_redundant_phi.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119794 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-12 Andrew Macleod <amacleod@redhat.com>
amacleod [Tue, 12 Dec 2006 15:50:06 +0000 (15:50 +0000)]
2006-12-12  Andrew Macleod  <amacleod@redhat.com>

PR tree-optimization/30159
* tree-ssa-coalesce.c (coalesce_ssa_name): Process single ssa_name
functions in case a default_def coalesce is required.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119792 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR libstdc++/11953
jakub [Tue, 12 Dec 2006 15:15:19 +0000 (15:15 +0000)]
PR libstdc++/11953
* gthr-posix.h (_REENTRANT): Only define if __osf__ is defined.

* config/ia64/linux.h (CPP_SPEC): Define.
* config/s390/linux.h (CPP_SPEC): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119788 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR rtl-optimization/27761
jakub [Tue, 12 Dec 2006 15:03:39 +0000 (15:03 +0000)]
PR rtl-optimization/27761
* combine.c (try_combine): Don't create a useless garbage SET
if PATTERN (i2) is a PARALLEL.  If added_sets_1, save
PATTERN (i1) resp. SET from i1src to i1dest in i1pat
and use it to prevent accidental modification of i1src.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119785 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-12 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Tue, 12 Dec 2006 14:00:54 +0000 (14:00 +0000)]
2006-12-12  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/28265
* crossconfig.m4: Remove GLIBCXX_CHECK_ICONV_SUPPORT call for
mingw crosses.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119782 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-vect-analyze.c (vect_analyze_data_ref_access): Add another check
irar [Tue, 12 Dec 2006 13:07:39 +0000 (13:07 +0000)]
* tree-vect-analyze.c (vect_analyze_data_ref_access): Add another check
for stores with gaps.
* tree-vect-transform.c (vect_permute_store_chain): Create
interleave_high or interleave_low according to the endianess.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119779 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-12 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Tue, 12 Dec 2006 12:41:26 +0000 (12:41 +0000)]
2006-12-12  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/26497
* crossconfig.m4: Add GLIBCXX_CHECK_LINKER_FEATURES for Solaris.
* acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Set
glibcxx_gnu_ld_version only when with GNU ld confirmed.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119778 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-12 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 12 Dec 2006 12:13:48 +0000 (12:13 +0000)]
2006-12-12  Richard Guenther  <rguenther@suse.de>

PR middle-end/30147
* fold-const.c (fold_read_from_constant_string): Only fold read
from constant string if the result type is integer.

* gfortran.fortran-torture/compile/pr30147.f90: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119776 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/rs6000/t-vxworks: Remove assignment to LIB2FUNCS_EXTRA.
hainque [Tue, 12 Dec 2006 11:09:53 +0000 (11:09 +0000)]
* config/rs6000/t-vxworks: Remove assignment to LIB2FUNCS_EXTRA.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119773 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/vxlib.c: Extract tls related routines into ...
hainque [Tue, 12 Dec 2006 11:05:54 +0000 (11:05 +0000)]
* config/vxlib.c: Extract tls related routines into ...
* config/vxlib-tls.c: New file.
* config/t-vxworks: Add vxlib-tls.c to LIB2FUNCS_EXTRA.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119771 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-12 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
manu [Tue, 12 Dec 2006 10:40:39 +0000 (10:40 +0000)]
2006-12-12  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

* decl.c (build_enumerator): Update error message to match C
front-end.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119770 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-12 Olivier Hainque <hainque@adacore.com>
hainque [Tue, 12 Dec 2006 09:47:45 +0000 (09:47 +0000)]
2006-12-12  Olivier Hainque  <hainque@adacore.com>

* fixincludes/mkfixinc.sh: Add "*-*-vxworks*" to the list of
targets for which a no-op fixer is appropriate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119769 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/spu/spu.opt (mfixed-range): New option.
bje [Tue, 12 Dec 2006 04:55:50 +0000 (04:55 +0000)]
* config/spu/spu.opt (mfixed-range): New option.
* config/spu/spu.h (spu_fixed_range_string): Declare.
* config/spu/spu.c (spu_override_options): Handle -mfixed-range.
(fix_range): New function.
* doc/invoke.texi (SPU Options): Document -mfixed-range.
* testsuite/gcc.target/spu/fixed-range.c: New.
* testsuite/gcc.target/spu/fixed-range-bad.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119768 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * MAINTAINERS: Add myself as libgcc and fp-bit maintainer.
ian [Tue, 12 Dec 2006 04:48:47 +0000 (04:48 +0000)]
* MAINTAINERS: Add myself as libgcc and fp-bit maintainer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119767 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-11 H.J. Lu <hongjiu.lu@intel.com>
hjl [Tue, 12 Dec 2006 03:58:52 +0000 (03:58 +0000)]
2006-12-11  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/17982
PR middle-end/20218
* cgraphunit.c (cgraph_optimize): Remove call to
process_pending_assemble_externals.

* config/elfos.h (ASM_OUTPUT_EXTERNAL): New.

* config/ia64/hpux.h (TARGET_ASM_FILE_END): Removed.

* config/ia64/ia64.c (ia64_asm_output_external): Rewritten.
(ia64_hpux_add_extern_decl): Removed.
(ia64_hpux_file_end): Likewise.
(extern_func_list): Likewise.
(extern_func_head): Likewise.

* output.h (assemble_external): Update comments.
(default_elf_asm_output_external): New.
(maybe_assemble_visibility): New.

* toplev.c (compile_file): Update comment.

* varasm.c (assemble_external): Always put it on
pending_assemble_externals.
(maybe_assemble_visibility): Make it extern and return int.
(default_elf_asm_output_external): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119764 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-11 Daniel Berlin <dberlin@dberlin.org>
dberlin [Tue, 12 Dec 2006 03:44:25 +0000 (03:44 +0000)]
2006-12-11  Daniel Berlin  <dberlin@dberlin.org>

* tree-ssa-structalias.c (handle_ptr_arith): Return false when we
can't handle the pointer arithmetic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119763 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-11 Diego Novillo <dnovillo@redhat.com>
dnovillo [Tue, 12 Dec 2006 01:48:51 +0000 (01:48 +0000)]
2006-12-11  Diego Novillo  <dnovillo@redhat.com>

* doc/tree-ssa.texi: Update documentation for virtual operands
and the use of push_stmt_changes/pop_stmt_changes.
* doc/invoke.texi: Remove documentation for params
global-var-threshold.
Update documentation on max-aliased-vops.

* tree-into-ssa.c: Cleanup comments, variables and
spacing in various functions.
(regs_to_rename): Declare.
(mem_syms_to_rename): Declare.
(dump_update_ssa): Declare.
(debug_update_ssa): Declare.
(dump_names_replaced_by): Declare.
(debug_names_replaced_by): Declare.
(dump_def_blocks): Declare.
(debug_def_blocks): Declare.
(dump_defs_stack): Declare.
(debug_defs_stack): Declare.
(dump_currdefs): Declare.
(debug_currdefs): Declare.
(mark_def_sites): Do not handle virtual operands.
(compute_idf): Rename from find_idf.  Update users.
(register_new_def): Make local.  Convert second argument
to 'tree'.
Use BLOCK_DEFS_STACK directly.
If pushing a non-register, also push the underlying
symbol.
(rewrite_stmt): Do not handle virtual operands.
(dump_tree_ssa): Call dump_def_blocks, dump_defs_stack,
dump_currdefs and dump_tree_ssa_stats.
(dump_tree_ssa_stats): Also dump REPL_TBL.
(replace_use): Remove.  Update all users to call SET_USE
instead.
(rewrite_blocks): Move code to free memory to
fini_ssa_renamer.
(mark_def_site_blocks): Move initialization code to
init_ssa_renamer.
(init_ssa_renamer): New.
(fini_ssa_renamer): New.
(rewrite_into_ssa): Call them.
(prepare_block_for_update): Process SSA_OP_ALL_USES first
and SSA_OP_ALL_DEFS later.  Do not process virtual
operands separately.
(dump_update_ssa): Call dump_decl_set.
(init_update_ssa): Initialize regs_to_rename and
mem_syms_to_rename.
Call init_ssa_renamer.
(delete_update_ssa): Call fini_ssa_renamer.
Free blocks_with_phis_to_rewrite.
(mark_sym_for_renaming): If the variable has
sub-variables, also mark them.
If the variable belongs to a partition, also mark it.
(mark_set_for_renaming): Call mark_sym_for_renaming on
every symbol in the set.
(switch_virtuals_to_full_rewrite): Call
mark_set_for_renaming.
(update_ssa): Separate syms_to_rename into regs_to_rename
and mem_syms_to_rename.

* tree-dump.c (dump_options): Add TDF_MEMSYMS.
* tree-pretty-print.c (debug_generic_expr): Add TDF_MEMSYMS.
(debug_generic_stmt): Likewise.
(debug_tree_chain): Likewise.
(dump_symbols): New.
(dump_generic_node): Check for TDF_MEMSYMS.
Handle MEMORY_PARTITION_TAG.
If the statement references memory and TDF_MEMSYMS is
given, call dump_symbols.
Indicate default names with (D).
(dump_vops): Update for new virtual operator format.

* tree.c (init_ttree): Add MEMORY_PARTITION_TAG to
tree_contains_struct.
(tree_code_size): Handle MEMORY_PARTITION_TAG.
(tree_node_structure): Likewise.
(needs_to_live_in_memory): Handle SSA names.
* tree.h (MTAG_P): Likewise.
(struct tree_memory_partition_tag): Declare.
(MPT_SYMBOLS): Define.
(union tree_node): Add field 'mpt'.
* treestruct.def (TS_MEMORY_PARTITION_TAG): Define.
* tree.def (MEMORY_PARTITION_TAG): Define.

* tree-pass.h (TDF_MEMSYMS): Define.

* params.h (GLOBAL_VAR_THRESHOLD): Remove.

* tree-ssa-alias.c: Include pointer-set.h
(struct alias_map_d): Remove fields total_alias_vops,
grouped_p and may_aliases.  Update all users.
(struct mp_info_def): Declare.
(mp_info_t): New type.
(get_smt_for): Rename from get_tmt_for.  Update all
users.
(add_may_alias): Add argument ALREADY_ADDED.  If given,
use it to avoid adding duplicate entries to alias sets.
(replace_may_alias): Remove.  Update all users.
(total_alias_vops_cmp): Remove.  Update all users.
(group_aliases_into): Remove.  Update all users.
(tree_pointer_compare): Remove.  Update all users.
(compact_name_tags): Remove.  Update all users.
(group_aliases): Remove.  Update all users.
(mark_non_addressable): Move from tree-flow-inline.h.
Remove the symbol from the partition holding it, if
needed.
(dump_mp_info): New.
(debug_mp_info): New.
(sort_mp_info): New.
(create_partition_for): New.
(rewrite_alias_set_for): New.
(compute_memory_partitions): New.
(compute_may_aliases): Call it.
(init_alias_info): If computing aliases for the first
time, mark every memory symbol for renaming.
(have_common_aliases_p): New.
(compute_flow_insensitive_aliasing): Call it.
(setup_pointers_and_addressables): Do not cache
num_referenced_vars.
For register promoted symbols, mark their former
partition for renaming.
(maybe_create_global_var): Only create .GLOBAL_VAR if
there are no call-clobbered variables and a mix of pure
and non-pure functions were found.
(may_alias_p): Tidy comments.
(create_tag_raw): Remove unused variable new_type.
(dump_alias_info): call dump_memory_partitions.
(dump_points_to_info_for): Call dump_decl_set.
(may_be_aliased): Tidy comments and formatting.

* timevar.def (TV_MEMORY_PARTITIONING): Define.
* tree-vectorizer.c (vect_memsyms_to_rename): Rename from
vect_vnames_to_rename.  Set DECL_UIDs instead of SSA name
versions in it.
(slpeel_update_phi_nodes_for_guard1): Ignore memory PHIs.
* tree-vect-transform.c (vect_transform_loop): Call
mark_set_for_renaming with vect_memsyms_to_rename.
* tree-flow-inline.h (zero_imm_uses_p): New.
(memory_partition): New.
(set_memory_partition): New.
(factoring_name_p): New.
(symbol_mem_tag): New.  Update every function that used
to access the annotation directly.
(set_symbol_mem_tag): Likewise.

* tree-ssa-copy.c (may_propagate_copy): Allow copies
between a partition and a symbol as long as the symbol
belongs to the partition.
(merge_alias_info): Ignore merge requests when memory
partitions are involved.

* tree-ssa.c (verify_ssa_name): Check that default
definitions have empty defining statements.
(verify_use): Remove argument IS_VIRTUAL.
Don't call verify_ssa_name.
(verify_phi_args): Call verify_ssa_name.
(verify_flow_insensitive_alias_info): Handle MPTs.
(verify_flow_sensitive_alias_info): Likewise.
(verify_name_tags): Likewise.
(verify_call_clobbering): Likewise.
(verify_ssa): Check for VOPs only after aliasing
information is available.
Check virtuals and real operands separately.
Call verify_ssa_name on every operand.
(stmt_references_memory_p): Move to tree-ssa-operands.c.
(walk_use_def_chains_1): Guard against NULL PHI
arguments.

* tree-ssa-operands.c (stmt_references_memory_p): Move from
tree-ssa.c.
(get_mpt_for): New.
(dump_memory_partitions): New.
(debug_memory_partitions): New.

* tree-flow.h (struct var_ann_d): Add field mpt.
(struct stmt_ann_d): Add bitfield references_memory.
* Makefile.in (tree-ssa-structalias.o): Include
pointer-set.h
(tree-ssa-alias.o): Likewise.
* tree-ssa-structalias.c: (update_alias_info): Use
STORED_SYMS to determine which variables are being
written to by the store operation.
* tree-ssa-structalias.h (struct alias_info)
<total_alias_vops>: Remove.  Update all users.
<written_vars>: Change to a pointer set.  Update all
users.
<dereferenced_ptrs_store>: Likewise.
<dereferenced_ptrs_load>: Likewise.
(NUM_REFERENCES): Remove.  Update all users.
(NUM_REFERENCES_CLEAR): Remove.  Update all users.
(NUM_REFERENCES_INC): Remove.  Update all users.
(NUM_REFERENCES_SET): Remove.  Update all users.

* params.def (PARAM_GLOBAL_VAR_THRESHOLD): Remove.
Update all users.
(PARAM_MAX_ALIASED_VOPS): Set to 10.
* tree-ssanames.c (make_ssa_name): Initialize
SSA_NAME_IS_DEFAULT_DEF to 0.

2006-12-11  Aldy Hernandez  <aldyh@redhat.com>

* tree-ssa-dse.c (aggregate_vardecl_d): New.
(dse_global_data): Add aggregate_vardecl field.
(dse_possible_dead_store_p): New.
Add prev_defvar variable.
Allow immediate uses and previous immediate uses to differ
if they are setting different parts of the whole.
(get_aggregate_vardecl): New.
(dse_record_partial_aggregate_store): New.
(dse_whole_aggregate_clobbered_p): New.
(dse_partial_kill_p): New.
(dse_optimize_stmt): Abstract code checking a possible dead store
into new function dse_possible_dead_store_p().
Call dse_maybe_record_aggregate_store().
When checking whether a STMT and its USE_STMT refer to the
same memory address, check also for partial kills that clobber
the whole.
Move some variable definitions to the block where they are used.
(aggregate_vardecl_hash): New.
(aggregate_vardecl_eq): New.
(aggregate_vardecl_free): New.
(aggregate_whole_store_p): New.
(tree_ssa_dse): Initialize and free aggregate_vardecl.
Mark which aggregate stores we care about.

2006-12-11  Andrew Macleod  <amacleod@redhat.com>

* tree-ssa-operands.h (struct vuse_element_d): Declare.
(vuse_element_t): Declare.
(struct vuse_vec_d): Declare.
(vuse_vec_p): Declare.
(VUSE_VECT_NUM_ELEM): Define.
(VUSE_VECT_ELEMENT_NC): Define.
(VUSE_ELEMENT_PTR_NC): Define.
(VUSE_ELEMENT_VAR_NC): Define.
(VUSE_VECT_ELEMENT): Define.
(VUSE_ELEMENT_PTR): Define.
(VUSE_ELEMENT_VAR): Define.
(struct maydef_optype_d) <use_var>: Remove.
<use_ptr>: Remove.
<usev>: Add.
(struct vuse_optype_d) <kill_var>: Remove.
<use_ptr>: Remove.
<usev>: Add.
(struct mustdef_optype_d) <kill_var>: Remove.
<use_ptr>: Remove.
<usev>: Add.
(VUSE_OP_PTR): Add argument.  Use VUSE_ELEMENT_PTR.
(VUSE_OP): Add argument.  Use VUSE_ELEMENT_PTR.
(VUSE_NUM): Define.
(VUSE_VECT): Define.
(MAYDEF_OP_PTR): Add argument.  Use VUSE_OP_PTR.
(MAYDEF_OP): Add argument.  Use VUSE_OP.
(MAYDEF_NUM): Define.
(MAYDEF_VECT): Define.
(MUSTDEF_KILL_PTR): Use VUSE_OP_PTR.
(MUSTDEF_KILL): Use VUSE_OP.
(MUSTDEF_NUM): Define.
(MUSTDEF_VECT): Define.
(realloc_maydef): Declare.
(realloc_vuse): Declare.
(struct ssa_operand_iterator_d) <vuse_index>: Add.
<mayuse_index>: Add.
(LOADED_SYMS): Define.
(STORED_SYMS): Define.
(FOR_EACH_SSA_MUSTDEF_OPERAND): Call op_iter_next_mustdef.
* tree-into-ssa.c: Adapt for multi-operand V_MAY_DEF and VUSE
operators.
* tree-pretty-print.c: Likewise.
* tree-ssa-dse.c: Likewise.
* tree-flow-inline.h: Likewise.
(op_iter_next_mustdef): New.
* tree-ssa-operands.c: Likewise.
(ALLOC_OPTYPE): Remove.
Update all users.
(alloc_def): New.
(alloc_use): New.
(alloc_maydef): New.
(alloc_vuse): New.
(alloc_mustdef): New.
(realloc_maydef): New.
(realloc_vuse): New.

2006-12-11  Aldy Hernandez  <aldyh@redhat.com>

* tree-ssa-operands.c: Remove build_v_must_defs.
(init_ssa_operands): Delete build_v_must_defs.
(finalize_ssa_v_must_def_ops): Remove.
(finalize_ssa_v_must_defs): Remove.
(finalize_ssa_stmt_operands): Do not call
finalize_ssa_v_must_defs.
(start_ssa_stmt_operands): Do not check build_v_must_defs.
(append_v_must_def): Delete.
(copy_virtual_operands): Do not copy V_MUST_DEFs.
(get_modify_expr_operands): Remove reference to V_MUST_DEF from
comment.  Remove opf_kill_def.
(build_ssa_operands): Remove references to v_must_defs.
(copy_virtual_operands): Same.
(copy_virtual_operands): Same.
(fini_ssa_operands): Same.
(free_ssa_operands): Same.
(add_mustdef_op): Remove.
Remove mustdef_optype_p.
(alloc_mustdef): Remove.
Remove references to V_MUST_DEFs in comment at top of file.
(get_expr_operands): Remove opf_kill_def.
(opf_kill_def): Remove.
(add_virtual_operand): Remove opf_kill_def.
(get_indirect_ref_operands): Same.
(get_tmr_operands): Same.

* tree-vectorizer.c (rename_variables_in_bb): Remove
SSA_OP_ALL_KILLS.

* tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Remove
SSA_OP_ALL_KILLS.
(check_loop_closed_ssa_stmt): Same.

* tree-ssa.c (verify_def): Remove V_MUST_DEF from comment.
(verify_use): Same.
(verify_ssa): Remove V_MUST_DEFs traces.
(verify_ssa): Remove SSA_OP_ALL_KILLS.

* tree-into-ssa.c (mark_def_sites): Change SSA_OP_VMUSTDEF to
SSA_OP_VMAYDEF.
(rewrite_update_stmt): Remove SSA_OP_VIRTUAL_KILLS.
(rewrite_stmt): Remove SSA_OP_ALL_KILLS.

* tree-ssa-operands.h (struct stmt_operands_d): Remove V_MUST_DEF
references.
(MUSTDEF_OPS): Remove.
(SSA_OP_VMUSTDEF): Remove.
(FOR_EACH_SSA_MUSTDEF_OPERAND): Remove.
(struct mustdef_optype_d): Remove.
Remove mustdef_optype_p.
(struct stmt_operands_d): Remove mustdef_ops.
(ssa_operand_iterator_d): Remove mustdefs and mustkills.
(SSA_OP_VIRTUAL_DEFS): Remove SSA_OP_VMUSTDEF.
(MUSTDEF_RESULT_PTR): Remove.
(MUSTDEF_RESULT): Remove.
(MUSTDEF_KILL_PTR): Remove.
(MUSTDEF_KILL): Remove.
(MUSTDEF_NUM): Remove.
(MUSTDEF_VECT): Remove.
(SSA_OP_VIRTUAL_KILLS): Remove.
(SSA_OP_ALL_VIRTUALS): Remove SSA_OP_VIRTUAL_KILLS.
(SSA_OP_VMUSTKILL): Remove.
(SSA_OP_ALL_KILLS): Remove.
(SSA_OP_ALL_OPERANDS): Remove SSA_OP_ALL_KILLS.

* tree-flow-inline.h (op_iter_init_def): Remove
SSA_OP_VIRTUAL_KILLS.
(delink_stmt_imm_use): Remove SSA_OP_ALL_KILLS.

* tree-ssa-pre.c (compute_rvuse_and_antic_safe): Remove
SSA_OP_VIRTUAL_KILLS.

* tree-ssa-loop-im.c (determine_max_movement): Remove
SSA_OP_VIRTUAL_KILLS.
(gather_mem_refs_stmt): Same.
(gather_mem_refs_stmt): Same.

* tree-ssa-dce.c (mark_really_necessary_kill_operand_phis): Delete.
(perform_tree_ssa_dce): Remove call to
mark_really_necessary_kill_operand_phis.

* tree-flow-inline.h (op_iter_init): Remove setting of mustdefs
and mustkills.
(op_iter_next_use): Do not check mustkills.
(op_iter_next_def): Do not check mustdefs.
(op_iter_next_tree): Do not check mustkills or mustdefs.
(clear_and_done_ssa_iter): Do not set mustdefs or mustkills.
(op_iter_next_maymustdef): Do not check mustkills.
(op_iter_init_must_and_may_def): Remove SSA_OP_VMUSTKILL.
(op_iter_init_mustdef): Remove.

* tree-ssa-live.c (create_ssa_var_map): Change SSA_OP_VMUSTDEF to
SSA_OP_VMAYDEF.

* tree-ssa-dse.c (dse_optimize_stmt): Remove SSA_OP_VMUSTDEF.

* tree-ssa-ccp.c: Remove V_MUST_DEF traces from comments.
(visit_assignment): Same.

* tree-ssa-copy.c (copy_prop_visit_assignment): Same.

* tree-sra.c (mark_all_v_defs_1): Remove V_MUST_DEF from comment.

* tree-outof-ssa.c (check_replaceable): Remove SSA_OP_VMUSTDEF.

* tree-pretty-print.c (dump_vops): Remove printing of V_MUST_DEF.
Remove kill_p variable.

* tree-dfa.c (struct dfa_stats_d): Remove num_v_must_defs.
(dump_dfa_stats): Remove code related to V_MUST_DEFs.
(collect_dfa_stats_r): Do not set num_v_must_defs.
(mark_new_vars_to_rename): Remove v_must_defs_{before,after}
code.

* tree-into-ssa.c (mark_def_sites): Change SSA_OP_VMUSTKILL to
SSA_OP_VMAYUSE.

* tree-ssa-pre.c (compute_rvuse_and_antic_safe): Remove
SSA_OP_VMUSTDEF and SSA_OP_VMUSTKILL.

* tree-ssa-propagate.c (stmt_makes_single_store): Remove
SSA_OP_VMUSTDEF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119760 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Tue, 12 Dec 2006 00:18:04 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119757 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-11 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Mon, 11 Dec 2006 22:17:09 +0000 (22:17 +0000)]
2006-12-11  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/28125
* acinclude.m4 (GLIBCXX_CHECK_ICONV_SUPPORT): Remove link test, ie
AC_CHECK_LIB for libiconv. Instead, use bits of AM_ICONV.
        * configure: Regenerate.
        * scripts/testsuite_flags.in (cxxldflags): Add LIBICONV bits.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119749 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR rtl-optimization/30113
rakdver [Mon, 11 Dec 2006 21:29:44 +0000 (21:29 +0000)]
PR rtl-optimization/30113
* loop-iv.c (implies_p): Require the mode of the operands to be
scalar.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119748 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-ssa-operands.h (create_ssa_artificial_load_stmt):
dnovillo [Mon, 11 Dec 2006 20:15:53 +0000 (20:15 +0000)]
* tree-ssa-operands.h (create_ssa_artificial_load_stmt):
Rename from create_ssa_artficial_load_stmt.  Update all users.
* tree-into-ssa.c (register_new_def): Make static.
* tree.c (is_global_var): Handle SSA_NAMEs.
* tree.h (SSA_NAME_IS_DEFAULT_DEF): Define.  Update all users
that used to call gimple_default_def.
* tree-ssa-operands.c (push_stmt_changes): New.
(pop_stmt_changes): New.  Update every pass that modifies
statements to bracket modifications with
push_stmt_changes/pop_stmt_changes.
(discard_stmt_changes): New.
* tree-ssa-dom.c (stmts_to_rescan): Change to stack of
'tree *' instead of 'tree'.  Update all users.
* tree-flow-inline.h (zero_imm_uses_p): New.
(symbol_mem_tag): New.  Update every function that used
to access the annotation directly.
(set_symbol_mem_tag): Likewise.
* tree-dfa.c (dump_variable): Always show the escape mask.
(mark_symbols_for_renaming): Rename from
mark_new_vars_to_rename.  Update all users.
Only mark to rename naked symbols in real and virtual
operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119746 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoFix changelog entry.
schwab [Mon, 11 Dec 2006 19:11:38 +0000 (19:11 +0000)]
Fix changelog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119745 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * varasm.c (elf_record_gcc_switches): Cast second argument of
schwab [Mon, 11 Dec 2006 19:09:05 +0000 (19:09 +0000)]
* varasm.c (elf_record_gcc_switches): Cast second argument of
ASM_OUTPUT_SKIP to unsigned HOST_WIDE_INT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119744 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago MAINTAINERS: Update my entry.
amylaar [Mon, 11 Dec 2006 18:49:23 +0000 (18:49 +0000)]
MAINTAINERS: Update my entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119742 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-scalar-evolution.c (scev_const_prop):
dnovillo [Mon, 11 Dec 2006 17:50:53 +0000 (17:50 +0000)]
* tree-scalar-evolution.c (scev_const_prop):
* tree-phinodes.c (remove_phi_node): Add argument
RELEASE_LHS_P.  If given, release the SSA name on the LHS of
the PHI node.
Update all users.
* tree-ssa-dce.c: Remove forward declarations for static
functions.  Re-arrange functions bodies as needed.
(find_obviously_necessary_stmts): Never mark PHI nodes as
obviously necessary.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119740 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-11 Carlos O'Donell <carlos@codesourcery.com>
carlos [Mon, 11 Dec 2006 17:31:48 +0000 (17:31 +0000)]
2006-12-11  Carlos O'Donell  <carlos@codesourcery.com>

* config/arm/elf.h (MAX_OFILE_ALIGNMENT): Remove definition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119739 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * value-prof.c (tree_stringops_transform): New.
hubicka [Mon, 11 Dec 2006 14:19:11 +0000 (14:19 +0000)]
* value-prof.c (tree_stringops_transform): New.
(tree_value_profile_transformations): Require count to be non-zero;
call stringop transform; reset stmt BSI after BB changed.
(tree_divmod_fixed_value, tree_mod_pow2): Don't emit unnecesary label.
(interesting_stringop_to_profile_p, tree_stringop_fixed_value): New.
(tree_stringops_values_to_profile): New.
(tree_values_to_profile): Call tree_stringops_values_to_profile.
* tree.h (build_string_literal): Tidy prototype.
(validate_arglist, builtin_memset_read_str, get_pointer_alignment):
Declare.
* builtins.c (validate_arglist, builtin_memset_read_str,
get_pointer_alignment): Export.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119735 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR target/30120
uros [Mon, 11 Dec 2006 14:06:07 +0000 (14:06 +0000)]
PR target/30120
Revert:
2006-11-15  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.opt: New target option -mx87regparm.

* config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno,
float_in_x87: Add new variables. mmx_words, sse_words: Remove.
(X87_REGPARM_MAX): Define.

* config/i386/i386.c (override_options): Error out for
-mx87regparm but no 80387 support.
(ix86_attribute_table): Add x87regparm.
(ix86_handle_cconv_attribute): Update comments for x87regparm.
(ix86_comp_type_attributes): Check for mismatched x87regparm types.
(ix86_function_x87regparm): New function.
(ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating
point registers.
(init_cumulative_args): Initialize x87_nregs and float_in_x87
variables.
(function_arg_advance): Process x87_nregs and x87_regno when
floating point argument is to be passed in 80387 register.
(function_arg): Pass XFmode arguments in 80387 registers for local
functions.  Pass SFmode and DFmode arguments to local functions
in 80387 registers when flag_unsafe_math_optimizations is set.

* reg-stack.c (convert_regs_entry): Disable NaN load for
stack registers that are used for argument passing.

* doc/extend.texi: Document x87regparm function attribute.
* doc/invoke.texi: Document -mx87regparm.

testsuite/ChangeLog:

PR target/30120
* gcc.target/i386/pr30120.c: New test.

Revert:
2006-11-15  Uros Bizjak  <ubizjak@gmail.com>

* gcc.target/i386/x87regparm-1.c: New test.
* gcc.target/i386/x87regparm-2.c: New test.
* gcc.target/i386/x87regparm-3.c: New test.
* gcc.target/i386/x87regparm-4.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119734 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2006-12-11 Richard Guenther <rguenther@suse.de>
paolo [Mon, 11 Dec 2006 10:48:56 +0000 (10:48 +0000)]
2006-12-11  Richard Guenther  <rguenther@suse.de>
    Paolo Carlini  <pcarlini@suse.de>

* include/ext/pb_ds/detail/pat_trie_/traits.hpp: Qualify types.
* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Likewise.
* include/ext/rope: Likewise.
* include/bits/stl_tree.h (struct _Rb_tree): Change the _Link_type
typedefs to use _Rb_tree_node<_Val> directly.
(_M_get_node, _M_put_node): Use _Link_type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119732 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago Move all varpool routines out of cgraph/cgraphunit to varpool.c
hubicka [Mon, 11 Dec 2006 08:07:52 +0000 (08:07 +0000)]
Move all varpool routines out of cgraph/cgraphunit to varpool.c
* cgraph.c: Update comments.
(cgraph_varpool_hash,
cgraph_varpool_nodes, cgraph_varpool_last_needed_node
cgraph_varpool_node_name, cgraph_varpool_node,
cgraph_varpol_mode_for_asm, cgraph_varpool_mark_needed_node,
cgraph_variable_initializer_availability): Move to
varpool.c and drop cgraph_ prefixes.
(cgraph_varpool_enqueue_needed_node, cgraph_varpool_reset_queue,
cgraph_varpool_first_unanalyzed_node, cgraph_varpool_finalize_decl):
move to varpool.c; drop cgraph_ prefix; make static.
(dump_cgraph_varpool_node): Move to varpool.c under name
dump_varpool_node.
(dump_varpool, hash_varpool_node, eq_varpool_node,
decide_is_variable_needed): Move to varpool.c
(decl_assembler_name_equal): Move to tree.c.
(availability_names): Rename to ...
(cgraph_availability_names): ... this one.
(dump_cgraph_node): Update.
* cgraph.h: Reorder declarations now in varpool.c
(cgraph_vailablity_names): Declare.
(struct cgraph_varpool_node): Rename to ...
(struct varpool_node): ... this one.
(cgraph_varpool_first_unanalyzed_node, cgraph_varpool_nodes_queue,
cgraph_varpool_first_unanalyzed_node, cgraph_varpool_node,
cgraph_varpool_node_for_asm, cgraph_varpool_mark_needed_node,
cgraph_varpool_finalize_decl, cgraph_varpool_enqueue_needed_node,
cgraph_varpool_reset_queue, cgraph_varpool_assemble_pending_decls,
cgraph_variable_initializer_availability): Rename to ...
(varpool_first_unanalyzed_node, varpool_nodes_queue,
varpool_first_unanalyzed_node, varpool_node,
varpool_node_for_asm, varpool_mark_needed_node,
varpool_finalize_decl, varpool_enqueue_needed_node,
varpool_assemble_pending_decls, variable_initializer_availability):
Rename to ...
* tree.c (decl_assembler_name_equal): Move here from cgraph.c.
* tree.h (decl_assembler_name_equal): Declare.
* omp-low.c (lower_omp_critical): Update.
* ipa-reference (analyze_variable, static_execute): Likewise.
* toplev.c (wrapup_global_declaration_2, compile_file): Update.
* cgraphunit.c: Update comments.
(cgraph_varpool_assembled_nodes_queue): Move to varpool.c under name
varpool_assembled_nodes_queue.
(cgraph_varpool_analyze_pending_decls): Move to varpool.c under name
varpool_analyze_pending_decls.
(cgraph_varpool_remove_unreferenced_decls): Move to varpool.c under name
varpool_remove_unreferenced_decls.
(record_reference): Update.
(cgraph_create_edges): Update.
(record_referneces_in_initializer): New function.
(cgraph_varpool_assemble_decl): Move to varpool.c under name
varpool_assemble_decl; make global.
(cgraph_varpool_assemble_pending_decls): Move to varpool.c under name
varpool_assemble_pending_decls.
(process_function_and_variable_attributes, cgraph_finalize_compilation_unit,
struct cgraph_order_sort, cgraph_output_in_order,
cgraph_function_and_variable_invisibility, cgraph_optimize,
cgraph_increase_alignment): Update.
* dwarf2out.c (decls_for_scope): Likewise.
* ipa-type-escape.c (analyze_variable, type_escape_execute): Likewise.
* except.c (output_ttype): Likewise.
* varasm.c (mark_decl_referenced): Likewise.
(find_decl_and_mark_referenced, assemble_alias): update.
* Makefile.in: Add varpool.c, gt-varpool.c and remove gt-cgraphunit.c
* passes.c (rest_of_decl_compilation): Update.

* cp/decl2.c (var_finalized_p): Update for renamed varpool functions.
* fortran/f59-lang.c (gfc_expand_function): Update for renamed varpool functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119731 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Use
irar [Mon, 11 Dec 2006 07:54:35 +0000 (07:54 +0000)]
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Use
GIMPLE_STMT_OPERAND.
* tree-vect-transform.c (vect_permute_store_chain): Likewise.
(vect_setup_realignment): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119730 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * configure.in: Handle spu makefile frag.
amodra [Mon, 11 Dec 2006 06:43:16 +0000 (06:43 +0000)]
* configure.in:  Handle spu makefile frag.
* config/mt-spu: New file.
* Makefile.tpl (MAINT): Define
(MAINTAINER_MODE_FALSE, MAINTAINER_MODE_TRUE): Define.
* configure: Regenerate.
* Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119729 138bc75d-0d04-0410-961f-82ee72b054a4