OSDN Git Service

pf3gnuchains/gcc-fork.git
18 years ago r110121@banpei: zack | 2006-01-22 14:39:11 -0800
zack [Mon, 23 Jan 2006 15:14:53 +0000 (15:14 +0000)]
 r110121@banpei:  zack | 2006-01-22 14:39:11 -0800

         * Makefile.in: Consolidate most rules that use $(CC_FOR_BUILD) and/or
         $(RUN_GEN).  Use pattern rules to factor out as much boilerplate as
         practical.  Eliminate per-generator-program link rules.

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

18 years ago2006-01-23 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Mon, 23 Jan 2006 14:56:45 +0000 (14:56 +0000)]
2006-01-23  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/24437
        * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF
        with a call expr to ...
        * fold-const.c (fold_ternary) <case CALL_EXPR>: Here.

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

18 years ago2006-01-23 Paolo Carlini <pcarlini@suse.de>
paolo [Mon, 23 Jan 2006 10:54:23 +0000 (10:54 +0000)]
2006-01-23  Paolo Carlini  <pcarlini@suse.de>

* ChangeLog: Fix typo.

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

18 years ago2006-01-23 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 23 Jan 2006 10:06:22 +0000 (10:06 +0000)]
2006-01-23  Richard Guenther  <rguenther@suse.de>

        * cfgloopmanip.c (lv_adjust_loop_entry_edge): Add comment
        before make_edge with conditional EDGE_TRUE_VALUE.

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

18 years ago2006-01-23 Steven Bosscher <stevenb.gcc@gmail.com>
rguenth [Mon, 23 Jan 2006 09:47:01 +0000 (09:47 +0000)]
2006-01-23  Steven Bosscher  <stevenb.gcc@gmail.com>
Jan Hubicka  <jh@suse.cz>
Richard Guenther  <rguenther@suse.de>

PR rtl-optimization/25654
* cfgexpand.c (aggregate_contains_union_type): New function.
(add_alias_set_conflicts): Call it.  Make sure to add conflicts
for structure variables that contain a union type.

* gcc.dg/torture/pr25654.c: New testcase.
* gcc.target/i386/pr25654.c: Likewise.

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

18 years ago * gengtype.c (new_structure): Return the structure.
rsandifo [Mon, 23 Jan 2006 07:50:42 +0000 (07:50 +0000)]
* gengtype.c (new_structure): Return the structure.
(create_option): Add an extra "next" argument.
(create_field): New function.
(adjust_field_rtx_def): Use create_option and create_field.
Remove a now-unnecessary call to find_structure.
(adjust_field_tree_def): Likewise.
(note_yacc_type): Remove an unnecessary call to find_structure.
* gengtype.h (new_structure): Return the structure.
(create_option): Add an extra argument.
* gengtype-yacc.y (type): Remove unnecessary calls to find_structure.
(option): Adjust calls to create_option.

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

18 years ago2005-01-23 Paul Thomas <pault@gcc.gnu.org>
pault [Mon, 23 Jan 2006 05:07:52 +0000 (05:07 +0000)]
2005-01-23  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/25901
* decl.c (get_proc_name): Replace subroutine and function
attributes in "already defined" test by the formal arglist
pointer being non-NULL.

Fix regression in testing of admissability of attributes.
* symbol.c (gfc_add_attribute): If the current_attr has
non-zero intent, do not do the check for a dummy being
used.
* decl.c (attr_decl1): Add current_attr.intent as the
third argument in the call to gfc_add_attribute.
* gfortran.h: Add the third argument to the prototype
for gfc_add_attribute.

2005-01-23  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/25901
* gfortran.dg/internal references_2.f90: New test.

Fix regression in testing of admissability of attributes.
* gfortran.dg/intent_used_1.f90: New test.

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

18 years ago * gcc.misc-tests/dectest.exp (TORTURE_OPTIONS): Include -Os.
bje [Mon, 23 Jan 2006 03:19:30 +0000 (03:19 +0000)]
* gcc.misc-tests/dectest.exp (TORTURE_OPTIONS): Include -Os.
Remove target conditional torture options for i?86 and x86_64
GNU/Linux.

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

18 years agoDaily bump.
gccadmin [Mon, 23 Jan 2006 00:17:51 +0000 (00:17 +0000)]
Daily bump.

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

18 years ago * config/rs6000/aix.h (STACK_BOUNDARY): Define.
dje [Sun, 22 Jan 2006 20:48:17 +0000 (20:48 +0000)]
* config/rs6000/aix.h (STACK_BOUNDARY): Define.

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

18 years agofix comment
gdr [Sun, 22 Jan 2006 20:26:42 +0000 (20:26 +0000)]
fix comment

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

18 years ago2006-01-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
gdr [Sun, 22 Jan 2006 17:32:30 +0000 (17:32 +0000)]
2006-01-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        PR c++/10891
        * rtti.c (build_dynamic_cast): Reject dynamic_cast use if
        -fno-rtti.

testsuite/
2006-01-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        PR c++/10891
        * g++.dg/rtti/no-rtti.C: New.

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

18 years ago2006-01-22 Paul Brook <paul@codesourcery.com>
pbrook [Sun, 22 Jan 2006 15:01:02 +0000 (15:01 +0000)]
2006-01-22  Paul Brook  <paul@codesourcery.com>
Peter Barada  <peter@the-baradas.com>

* config/m68k/m68k.md: Add Coldfire FPU support.
Define FP mode macro and associated attributes.
Use it for float mode patterns.
* config/m68k/linux.h (FUNCTION_VALUE): Use m68k_function_value.
(LIBCALL_VALUE): Use m68k_libcall_value.
* config/m68k/m68k-protos.h (m68k_libcall_value): Add prototype.
(m68k_function_value): Ditto.
(emit_move_sequence): Ditto.
* config/m68k/m68kemb.h (LIBCALL_VALUE): Use m68k_libcall_value.
* config/m68k/m68k-none.h (ASM_SPEC): Add mcfv4e.
* config/m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcfv4e.
(MULTILIB_EXCEPTIONS): Ditto.
* config/m68k/m68k.opt: Add mcfv4e.
* config/m68k/m68k.c (m68k_handle_option): Handle OPT_mcfv4e.
(m68k_compute_frame_layout): Include space for ColdFire FPU regs.
(m68k_output_function_prologue): Save ColdFire FPU registers.
(m68k_output_function_epilogue): Restore ColdFire FPU registers.
(force_mode, fp_reg_operand, emit_move_sequence): New functions.
(m68k_regno_mode_ok): Don't allow types larget than 8 bytes in
ColdFire FPU registers.
(m68k_libcall_value, m68k_function_value): New functions.
* config/m68k/netbsd-elf.h (FUNCTION_VALUE): Use m68k_function_value.
(LIBCALL_VALUE): Use m68k_libcall_value.
* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define __mcfv4e__.
(MASK_COLDFIRE): Add MASK_CFV4E.
(TARGET_COLDFIRE_FPU, TARGET_HARD_FLOAT, TARGET_FP_REG_SIZE): New.
(MODES_TIEABLE_P): Use TARGET_HARD_FLOAT.
(REG_CLASS_FROM_LETTER, PREFERRED_RELOAD_CLASS): Ditto.
(GO_IF_COLDFIRE_FPU_LEGITIMATE_ADDRESS): Define.
(GO_IF_LEGITIMATE_ADDRESS): Use it.
(LEGITIMIZE_ADDRESS): Handle ColdFire FPU addresses.
* doc/invoke.tex: Document -mcfv4e on m68k.

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

18 years ago2006-01-22 Dirk Mueller <dmueller@suse.de>
mueller [Sun, 22 Jan 2006 14:17:45 +0000 (14:17 +0000)]
2006-01-22  Dirk Mueller  <dmueller@suse.de>

        * MAINTAINERS (Write After Approval): Add myself.

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

18 years ago2006-01-22 Paolo Carlini <pcarlini@suse.de>
paolo [Sun, 22 Jan 2006 10:11:08 +0000 (10:11 +0000)]
2006-01-22  Paolo Carlini  <pcarlini@suse.de>

* ChangeLog rotation.

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

18 years ago * doc/contribute.texi: Change CVS to SVN and update the corresponding
rmathew [Sun, 22 Jan 2006 04:51:39 +0000 (04:51 +0000)]
* doc/contribute.texi: Change CVS to SVN and update the corresponding
URL.

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

18 years ago PR c++/16190
gdr [Sun, 22 Jan 2006 02:38:03 +0000 (02:38 +0000)]
    PR c++/16190
        * c-opts.c (c_common_handle_option): Don't include
        -Wnon-virtual-dtor in -Wall; enable if -Weffc++.
        * doc/invoke.texi (C++ Dialect Options): Document that
        -Wnon-virtual-dtor is no longer included in -Wall.

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

18 years ago PR c++/25895
mmitchel [Sun, 22 Jan 2006 00:42:40 +0000 (00:42 +0000)]
PR c++/25895
* class.c (build_base_path): Generate a NOP_EXPR instead of a
COMPONENT_REF if the base and derived classes are at the same
address.
PR c++/25856
* decl.c (begin_destructor_body): Robustify.
PR c++/25858
* parser.c (cp_parser_direct_declarator): Robustify.

PR c++/25895
* g++.dg/inherit/conv2.C: New test.
PR c++/25856
* g++.dg/parse/dtor7.C: New test.
PR c++/25858
* g++.dg/template/crash44.C: New test.

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

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

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

18 years ago2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
andreast [Sat, 21 Jan 2006 21:25:21 +0000 (21:25 +0000)]
2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>

* configure.ac: Enable libffi for sparc64-*-freebsd*.
* configure: Rebuilt.

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

18 years ago * gcov.c (print_version), gcov-dump.c (print_version),
jsm28 [Sat, 21 Jan 2006 18:22:19 +0000 (18:22 +0000)]
* gcov.c (print_version), gcov-dump.c (print_version),
mips-tdump.c (main), mips-tfile.c (main): Update copyright notice
dates.

fortran:
* gfortranspec.c (lang_specific_driver): Update copyright notice
date.

java: * jv-scan.c (version), jcf-dump.c (version), gjavah.c (version):
Update copyright notice dates.

treelang:
* spec.c (lang_specific_driver): Update copyright notice date.

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

18 years ago PR libgomp/25877
sje [Sat, 21 Jan 2006 17:57:01 +0000 (17:57 +0000)]
PR libgomp/25877
* configure.ac: Remove check for alloca.h.
* configure: Regenerate.
* config.h.in: Regenerate.
* libgomp.h: define gomp_alloca to be __builtin_alloca.
* team.c: Remove use of alloca.h.
Call gomp_alloca instead of alloca.

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

18 years ago2005-01-21 Kenneth Zadeck <zadeck@naturalbridge.com>
zadeck [Sat, 21 Jan 2006 14:58:40 +0000 (14:58 +0000)]
2005-01-21  Kenneth Zadeck <zadeck@naturalbridge.com>

* df-scan.c (problem_SCAN): Added NULL reset function.
(df_scan_reset_blocks): Added code to call reset block function
(df_bb_refs_delete) Fixed comment.
(df_insn_refs_delete): Made tolerant of deleting non existent info
for dataflow problems that need to be reset.
* df-core.c (df_set_blocks): Ditto.
* df.h (struct df_problem): Added reset_fun.
* df-problems.c (problem_RU, problem_RD, problem_LR, problem_UR,
problem_UREC, problem_CHAIN, problem_RI): Initialized reset_fun field.
(df_chain_insn_reset, df_chain_bb_reset, df_chain_reset): New
functions to clear out all references to def-use or use-def chains.

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

18 years ago2005-01-21 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 21 Jan 2006 09:08:54 +0000 (09:08 +0000)]
2005-01-21  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/25124
PR fortran/25625
* decl.c (get_proc_name): If there is an existing
symbol in the encompassing namespace, call errors
if it is a procedure of the same name or the kind
field is set, indicating a type declaration.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* decl.c (add_global_entry): New function to check
for existing global symbol with this name and to
create new one if none exists.
(gfc_match_entry): Call add_global_entry before
matching argument lists for subroutine and function
entries.
* gfortran.h: Prototype for existing function,
global_used.
* resolve.c (resolve_global_procedure): New function
to check global symbols for procedures.
(resolve_call, resolve_function): Calls to this
new function for non-contained and non-module
procedures.
* match.c (match_common): Add check for existing
global symbol, creat one if none exists and emit
error if there is a clash.
* parse.c (global_used): Remove static and use the
gsymbol name rather than the new_block name, so that
the function can be called from resolve.c.
(parse_block_data, parse_module, add_global_procedure):
Improve checks for existing gsymbols.  Emit error if
already defined or if references were to another type.
Set defined flag.

PR fortran/PR24276
* trans-expr.c (gfc_conv_aliased_arg): New function called by
gfc_conv_function_call that coverts an expression for an aliased
component reference to a derived type array into a temporary array
of the same type as the component.  The temporary is passed as an
actual argument for the procedure call and is copied back to the
derived type after the call.
(is_aliased_array): New function that detects an array reference
that is followed by a component reference.
(gfc_conv_function_call): Detect an aliased actual argument with
is_aliased_array and convert it to a temporary and back again
using gfc_conv_aliased_arg.

2005-01-21  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/25124
PR fortran/25625
* gfortran.dg/internal_references_1.f90: New test.
  PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* gfortran.dg/global_references_1.f90: New test.
* gfortran.dg/g77/19990905-1.f: Restore the error that
there is a clash between the common block name and
the name of a subroutine reference.

PR fortran/PR24276
* gfortran.dg/aliasing_dummy_1.f90: New test.

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

18 years agoDaily bump.
gccadmin [Sat, 21 Jan 2006 00:18:10 +0000 (00:18 +0000)]
Daily bump.

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

18 years ago * varasm.c (assemble_real): Initialise data array.
bje [Fri, 20 Jan 2006 23:25:11 +0000 (23:25 +0000)]
* varasm.c (assemble_real): Initialise data array.

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

18 years ago2006-01-20 Paul Brook <paul@codesourcery.com>
pbrook [Fri, 20 Jan 2006 23:23:03 +0000 (23:23 +0000)]
2006-01-20  Paul Brook  <paul@codesourcery.com>

Merge from csl-arm-branch.
2005-09-21  Kazu Hirata  <kazu@codesourcery.com>
* config/arm/arm.md (movdi): Force operands[1] to a register
if we have a non-register source.
(*arm_movdi, *movdf_soft_insn): Require that one of the
operands be a register.
* config/arm/iwmmxt.md (*iwmmxt_arm_movdi): Likewise.
* config/arm/vfp.md (*arm_movdi_vfp, *movdf_vfp): Likewise.

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

18 years agolibiberty/
carlos [Fri, 20 Jan 2006 22:55:36 +0000 (22:55 +0000)]
libiberty/

2006-01-20  Carlos O'Donell  <carlos@codesourcery.com>

* testsuite/Makefile.in: Add test-expandargv test.
* testsuite/test-expandargv.c: New test.
* argv.c (expandargv): Check for errors with ferror,
rather than just by looking at return value from fread.

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

18 years ago2006-01-20 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Fri, 20 Jan 2006 22:24:43 +0000 (22:24 +0000)]
2006-01-20  Benjamin Kosnik  <bkoz@redhat.com>

* acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Verbose ld version
reporting.  Disable --gc-sections for old binutils, by version.
* configure: Regenerate.

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

18 years ago * gcc.dg/vmx/1b-01.c: Warning fix.
amodra [Fri, 20 Jan 2006 22:20:28 +0000 (22:20 +0000)]
* gcc.dg/vmx/1b-01.c: Warning fix.
* gcc.dg/vmx/1c-02.c: Likewise.
* gcc.dg/vmx/gcc-bug-4.c: Likewise.

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

18 years ago* varasm.c (initialize_constant_valid_p): Allow pointers
dj [Fri, 20 Jan 2006 21:55:41 +0000 (21:55 +0000)]
* varasm.c (initialize_constant_valid_p): Allow pointers
initialized from integer constants of lesser precision.
(output_constant): Allow non-int-sized pointer modes to be
initialized from integer constants.

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

18 years ago2006-01-20 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 20 Jan 2006 21:33:25 +0000 (21:33 +0000)]
2006-01-20  Richard Guenther  <rguenther@suse.de>

* configure.ac: Use -fPIC for symbol versioning test.
* configure: Regenerate.

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

18 years ago * parser.c (cp_lexer_next_token_is_keyword): Simplify.
reichelt [Fri, 20 Jan 2006 21:08:48 +0000 (21:08 +0000)]
* parser.c (cp_lexer_next_token_is_keyword): Simplify.

* parser.c (clear_decl_specs): Remove prototype.

* parser.c (cp_parser_expression_fn): Remove.

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

18 years ago PR libstdc++/25524
jsm28 [Fri, 20 Jan 2006 21:00:03 +0000 (21:00 +0000)]
PR libstdc++/25524
* cppdefault.h (struct default_include): Add multilib flag.
* cppdefault.c (cpp_include_defaults): Set it.
* c.opt (-imultilib): New option.
* c-opts.c (imultilib): New.
(c_common_handle_option): Handle -imultilib.
(c_common_post_options): Likewise.
* c-incpath.c (add_standard_paths, register_include_chains):
Likewise.
* c-incpath.h (register_include_chains): Add extra parameter.
* gcc.c (do_spec_1): Generate -imultilib option.
(The Specs Language): Update %I description.
(process_command): Update copyright notice.
* doc/cppopts.texi (-imultilib): Document.
* doc/invoke.texi (-imultilib): Include in option summary.
(%I): Update specs documentation.

libstdc++-v3:
* include/Makefile.am: Install host-specific headers in multilib
subdirectory.
* include/Makefile.in: Regenerate.

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

18 years ago PR testsuite/24962
sje [Fri, 20 Jan 2006 18:29:44 +0000 (18:29 +0000)]
PR testsuite/24962
* gcc.target/ia64/20030811-1.c: Change 'long' to 'long long'.

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

18 years ago PR libgomp/25877
sje [Fri, 20 Jan 2006 18:17:28 +0000 (18:17 +0000)]
PR libgomp/25877
* team.c: Add include of alloca.h.
* configure.ac: Add check for alloca.h.
* configure: Regenerate.
* config.h.in: Regenerate.

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

18 years ago * loop-iv.c (iv_analysis_loop_init): Use df in more conservative way.
rakdver [Fri, 20 Jan 2006 17:06:34 +0000 (17:06 +0000)]
* loop-iv.c (iv_analysis_loop_init): Use df in more conservative way.

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

18 years ago PR ada/24533
danglin [Fri, 20 Jan 2006 14:30:33 +0000 (14:30 +0000)]
PR ada/24533
* s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8.

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

18 years ago * configure: Regenerate.
dnovillo [Fri, 20 Jan 2006 13:47:14 +0000 (13:47 +0000)]
* configure: Regenerate.

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

18 years ago * call.c (add_builtin_candidates): Remove superfluous return.
reichelt [Fri, 20 Jan 2006 13:18:06 +0000 (13:18 +0000)]
* call.c (add_builtin_candidates): Remove superfluous return.
* name-lookup.c (do_toplevel_using_decl): Likewise.
* parser.c (cp_parser_type_specifier_seq): Likewise.
(cp_parser_save_default_args): Likewise.

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

18 years ago * stmt.c (case_bit_test_cmp): Stabilize the sort using code
rsandifo [Fri, 20 Jan 2006 12:12:24 +0000 (12:12 +0000)]
* stmt.c (case_bit_test_cmp): Stabilize the sort using code
label numbers.

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

18 years ago2006-01-20 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 20 Jan 2006 09:38:56 +0000 (09:38 +0000)]
2006-01-20  Richard Guenther  <rguenther@suse.de>
Steven Bosscher <stevenb.gcc@gmail.com>

PR rtl-optimization/24626
* cfgloopmanip.c (lv_adjust_loop_entry_edge): Don't set
EDGE_TRUE_VALUE if in RTL mode.

Revert
2005-03-30 Mostafa Hagog <mustafa@il.ibm.com>
* cfgrtl.c (rtl_verify_flow_info_1): Fix.

* gcc.dg/torture/pr24626-1.c: New testcase.
* gcc.dg/torture/pr24626-2.c: Likewise.
* gcc.dg/torture/pr24626-3.c: Likewise.
* gcc.dg/torture/pr24626-4.c: Likewise.

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

18 years ago2006-01-20 Dirk Mueller <dmueller@suse.com>
rguenth [Fri, 20 Jan 2006 09:30:22 +0000 (09:30 +0000)]
2006-01-20  Dirk Mueller  <dmueller@suse.com>

        PR c++/5520
        * c-parser.c (c_parser_if_body): Use build_empty_stmt()
        instead of a special NOP marker.
        * c-typeck.c (c_finish_if_stmt): Remove obsoleted special
        NOP marker handling.
        * c-common.h (empty_body_warning): Add forward declaration.
        * c-common.c (empty_body_warning): Add (from c_finish_if_stmt).
        Now uses IS_EMPTY_STMT() instead of special NOP markers.

        * semantics.c (finish_if_stmt): Call empty_body_warning.
        * parser.c (cp_parser_implicitly_scoped_statement):
        Mark empty statement with an empty stmt.

        * g++.dg/warn/empty-body.C: New.

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

18 years ago PR c++/22136
mmitchel [Fri, 20 Jan 2006 03:07:58 +0000 (03:07 +0000)]
PR c++/22136
* name-lookup.c (do_class_using_decl): Don't try to look up base
classes in templates with dependent base types.
PR c++/22136
* g++.dg/template/using10.C: New test.
* g++.dg/temlpate/using11.C: Likewise.
* g++.dg/inherit/using5.C: Tweak error messages.

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

18 years ago2005-01-20 Paul Brook <paul@codesourcery.com>
pbrook [Fri, 20 Jan 2006 02:41:21 +0000 (02:41 +0000)]
2005-01-20  Paul Brook  <paul@codesourcery.com>

* Makefile.in (lang_checks): Keep going if mkdir fails.

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

18 years ago2006-01-19 Paolo Carlini <pcarlini@suse.de>
paolo [Fri, 20 Jan 2006 02:38:54 +0000 (02:38 +0000)]
2006-01-19  Paolo Carlini  <pcarlini@suse.de>

Implement list::splice (and merge) bits of N1599
* include/bits/stl_list.h (list<>::_M_check_equal_allocators): New.
(list<>::splice(iterator, list&), splice(iterator, list&, iterator),
splice(iterator, list&, iterator, iterator)): Use it.
* include/bits/stl_list.h (list<>::merge(list&), merge(list&,
_StrictWeakOrdering)): Likewise.
* testsuite/23_containers/list/operators/5.cc: New.

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

18 years ago2005-01-19 Kenneth Zadeck <zadeck@naturalbridge.com>
zadeck [Fri, 20 Jan 2006 01:55:52 +0000 (01:55 +0000)]
2005-01-19  Kenneth Zadeck <zadeck@naturalbridge.com>

* df-scan.c (df_scan_free_bb_info): Added basic block parameter to
be able to clean out basic block when not necessary.
(df_scan_free): Fixed to properly delete information if df is
unused before calling df_finish.
(df_scan_alloc, df_rescan_blocks, df_reg_chain_unlink,
df_insn_create_insn_record, df_bb_refs_record): Fixed formatting
or comment typos.
(df_bb_refs_delete): New function.
(df_refs_delete): Moved per block code to df_bb_refs_delete.
* df-core.c (df_set_blocks): Added code to properly clean out
unused blocks if they are not part of the blocks to consider.
Added additional null check.
(df_compact_blocks): Added basic block parameter to free_bb_fun to
be able to clean out basic block when not necessary
* df.h (df_free_bb_function): Ditto.
(df_bb_refs_delete): New function.
* df-problems.c (df_ru_free_bb_info, df_rd_set_bb_info,
df_lr_set_bb_info, df_ur_free_bb_info, df_urec_free_bb_info):Added
basic block parameter to be able to clean out basic block when not
necessary.
(df_ru_alloc, df_rd_alloc): Fixed dyslexic overflow test.
(df_ru_free, df_rd_free, df_lr_free, df_ur_free, df_urec_free):
Fixed to properly delete information if df is unused before
calling df_finish.

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

18 years ago2005-01-19 Kenneth Zadeck <zadeck@naturalbridge.com>
zadeck [Fri, 20 Jan 2006 01:28:34 +0000 (01:28 +0000)]
2005-01-19  Kenneth Zadeck <zadeck@naturalbridge.com>

PR rtl-optimization/25799
* df-problems.c (df_ru_confluence_n, df_rd_confluence_n):
Corrected confluence operator to remove bits from op2 before oring
with op1 rather than removing bits from op1.
        (df_ru_transfer_function): Corrected test on wrong bitmap which
caused infinite loop.  Both of these problems were introduced in
the dataflow rewrite.

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

18 years ago2005-01-19 Kenneth Zadeck <zadeck@naturalbridge.com>
zadeck [Fri, 20 Jan 2006 01:24:00 +0000 (01:24 +0000)]
2005-01-19  Kenneth Zadeck <zadeck@naturalbridge.com>

PR rtl-optimization/25799
* df-problems.c (df_ru_confluence_n, df_rd_confluence_n):
Corrected confluence operator to remove bits from op2 before oring
with op1 rather than removing bits from op1.
        * (df_ru_transfer_function): Corrected test on wrong bitmap which
caused infinite loop.  Both of these problems were introduced in
the dataflow rewrite.

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

18 years ago* reload1.c (find_reload_regs): Note the details of reload
dj [Fri, 20 Jan 2006 01:16:17 +0000 (01:16 +0000)]
* reload1.c (find_reload_regs): Note the details of reload
failures in the dump file.
(spill_failure): Likewise.

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

18 years ago * loop-iv.c: Include df.h and hashtab.h.
rakdver [Fri, 20 Jan 2006 00:46:37 +0000 (00:46 +0000)]
* loop-iv.c: Include df.h and hashtab.h.
(enum iv_grd_result): New enum.
(DF_REF_IV, DF_REF_IV_SET): New macros.
(struct biv_entry): New.
(df, bivs): New global variables.
(struct insn_info, insn_info, last_def, bivs, max_insn_no, max_reg_no,
assign_luids, mark_sets, kill_sets, mark_single_set, simple_set_p):
Removed.
(clear_iv_info, latch_dominating_def, record_iv, iv_analyze_expr,
iv_analyze_result, iv_analyze_def, biv_hash, biv_eq,
analyzed_for_bivness_p, record_biv): New functions.
(iv_analysis_loop_init, iv_get_reaching_def, simple_reg_p,
get_biv_step_1, get_biv_step, iv_analyze_biv, iv_analyze_op,
iv_analyze, biv_p, iv_analysis_done): Work with df representation of
UD chains.
(iv_constant, iv_subreg, iv_extend, iv_mult, iv_shift): Do not set
analysed.
(iv_number_of_iterations): Use new interface to iv analysis.
* loop-unroll.c: Do not include varray.h.
(analyze_iv_to_split_insn): Use new interface to iv
analysis.
* loop-unswitch.c (may_unswitch_on): Ditto.
* df.c (df_bitmaps_free): Only work for bbs for that structures are
allocated.
(df_bb_modify): Realloc tables to the new index.
(df_find_use): New function.
* df.h (df_find_use): Declare.
* optabs.c (expand_unop): Make the mode of the REG_EQUAL node be
outmode.
* cfgloop.h (struct rtx_iv): Remove analysed field.
(iv_get_reaching_def): Removed.
(iv_analyze_result, iv_analyze_expr, iv_current_loop_df): Declare.
* Makefile.in (loop-unroll.o): Remove VARRAY_H dependency.
(loop-iv.o): Add df.h and hashtab.h dependency.
* df-problems.c (df_ru_alloc, df_rd_alloc): Fix memory reallocation.

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

18 years ago * libgcc2.c (__floatdisf, __floatdidf): Don't use IBM Extended
amodra [Fri, 20 Jan 2006 00:42:29 +0000 (00:42 +0000)]
* libgcc2.c (__floatdisf, __floatdidf): Don't use IBM Extended
Double TFmode.
(__floatundisf, __floatundidf): Likewise.
* libgcc2.h (IS_IBM_EXTENDED): Define.

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

18 years ago* config/m32c/m32c.h (REG_ALLOC_ORDER): Define.
dj [Fri, 20 Jan 2006 00:38:42 +0000 (00:38 +0000)]
* config/m32c/m32c.h (REG_ALLOC_ORDER): Define.

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

18 years agoDaily bump.
gccadmin [Fri, 20 Jan 2006 00:17:32 +0000 (00:17 +0000)]
Daily bump.

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

18 years ago * gcc.target/powerpc/rs6000-ldouble-1.c: Tweak powerpc linux
amodra [Fri, 20 Jan 2006 00:16:18 +0000 (00:16 +0000)]
* gcc.target/powerpc/rs6000-ldouble-1.c: Tweak powerpc linux
target test.
* gcc.target/powerpc/rs6000-ldouble-2.c: Likewise.

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

18 years ago2006-01-19 Paul Brook <paul@codesourcery.com>
pbrook [Fri, 20 Jan 2006 00:01:56 +0000 (00:01 +0000)]
2006-01-19  Paul Brook  <paul@codesourcery.com>

* gcc/config/arm/arm.c (arm_compute_func_type): Treat all functions
as nothrow when unwinding tables are disabled.

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

18 years ago PR testsuite/25171
danglin [Thu, 19 Jan 2006 23:45:49 +0000 (23:45 +0000)]
PR testsuite/25171
* c-decl.c (check_bitfield_type_and_width): Don't issue pedwarn "type
of bit-field" when in system header.

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

18 years ago* config/m32c/m32c.c (m32c_prepare_shift): Add code to deal with
dj [Thu, 19 Jan 2006 23:18:57 +0000 (23:18 +0000)]
* config/m32c/m32c.c (m32c_prepare_shift): Add code to deal with
the 16 bit shift limit of the m16c.

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

18 years ago2006-01-19 H.J. Lu <hongjiu.lu@intel.com>
hjl [Thu, 19 Jan 2006 22:36:41 +0000 (22:36 +0000)]
2006-01-19  H.J. Lu  <hongjiu.lu@intel.com>

PR libstdc++/25797
* acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Remove -Werror
from CFLAGS.  Check if linker really supports --gc-sections.
* configure: Regenerated.

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

18 years ago * gcc.target/i386/lea.c: Test pentiumpro, not i686.
hubicka [Thu, 19 Jan 2006 20:52:39 +0000 (20:52 +0000)]
* gcc.target/i386/lea.c: Test pentiumpro, not i686.

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

18 years ago PR c++/25854
reichelt [Thu, 19 Jan 2006 17:29:42 +0000 (17:29 +0000)]
PR c++/25854
* pt.c (maybe_process_partial_specialization): Return early on
error_mark_node.

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

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

18 years ago2006-01-19 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Thu, 19 Jan 2006 17:28:53 +0000 (17:28 +0000)]
2006-01-19  Andrew Pinski  <pinskia@physics.uc.edu>

        PR target/22099
        * config/i386/i386.md (builtin_setjmp_receiver): Don't emit the label.
        * config/i386/i386.c (output_set_got): Output the label if we have one
        for the TARGET_DEEP_BRANCH_PREDICTION case.

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

18 years ago2006-01-19 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Thu, 19 Jan 2006 17:18:29 +0000 (17:18 +0000)]
2006-01-19  Andrew Pinski  <pinskia@physics.uc.edu>

        PR target/15642
        * inclhack.def (AAB_darwin7_9_long_double_funcs [replace]): Define
        __APPLE_CC_ as 1345.
        (broken_nan): New.
        * fixincl.x: Regenerate.

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

18 years ago * invoke.texi (generic): Document
hubicka [Thu, 19 Jan 2006 17:12:37 +0000 (17:12 +0000)]
* invoke.texi (generic): Document
(i686) Update.
* config.gcc: Make x86_64-* and i686-* default to generic tunning.
* i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC,
TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros.
(x86_use_incdec, x86_pad_returns): New variables
(TARGET_CPU_DEFAULT_generic): New constant
(TARGET_CPU_DEFAULT_NAMES): Add generic.
(enum processor_type): Add generic32 and generic64.
* i386.md (cpu attribute): Add generic32/generic64
(movhi splitter): Behave sanely when both partial_reg_dependency and
partial_reg_stall are set.
(K8 splitters): Enable for generic as well.
* predicates.md (incdec_operand): Use TARGET_INCDEC
(aligned_operand): Avoid memory mismatch stalls.
* athlon.md: Enable for generic64, new patterns for 128bit moves.
* ppro.md: Enable for generic32
* i386.c (generic64_cost, generic32_cost): New.
(m_GENERIC32, m_GENERIC64, m_GENERIC): New macros.
(x86_use_leave): Enable for generic64.  (x86_use_sahf,
x86_ext_80387_constants): Enable for generic32.  (x86_push_memory,
x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop,
x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
x86_partial_reg_dependency, x86_memory_mismatch_stall,
x86_accumulate_outgoing_args, x86_prologue_using_move,
x86_epilogue_using_move, x86_arch_always_fancy_math_387,
x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule):
Enable for generic.
(x86_use_incdec, x86_pad_returns): New.
(override_options): Add generic32 and generic64, translate "generic"
to generic32/generic64 and "i686" to "generic32", refuse
"generic32"/"generic64" as arch target.
(ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon.
(ix86_reorg): Honor PAD_RETURNS.

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

18 years ago * invoke.texi (generic): Document
hubicka [Thu, 19 Jan 2006 17:10:24 +0000 (17:10 +0000)]
* invoke.texi (generic): Document
(i686) Update.
* config.gcc: Make x86_64-* and i686-* default to generic tunning.
* i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC,
TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros.
(x86_use_incdec, x86_pad_returns): New variables
(TARGET_CPU_DEFAULT_generic): New constant
(TARGET_CPU_DEFAULT_NAMES): Add generic.
(enum processor_type): Add generic32 and generic64.
* i386.md (cpu attribute): Add generic32/generic64
(movhi splitter): Behave sanely when both partial_reg_dependency and
partial_reg_stall are set.
(K8 splitters): Enable for generic as well.
* predicates.md (incdec_operand): Use TARGET_INCDEC
(aligned_operand): Avoid memory mismatch stalls.
* athlon.md: Enable for generic64, new patterns for 128bit moves.
* ppro.md: Enable for generic32
* i386.c (generic64_cost, generic32_cost): New.
(m_GENERIC32, m_GENERIC64, m_GENERIC): New macros.
(x86_use_leave): Enable for generic64.  (x86_use_sahf,
x86_ext_80387_constants): Enable for generic32.  (x86_push_memory,
x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop,
x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
x86_partial_reg_dependency, x86_memory_mismatch_stall,
x86_accumulate_outgoing_args, x86_prologue_using_move,
x86_epilogue_using_move, x86_arch_always_fancy_math_387,
x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule):
Enable for generic.
(x86_use_incdec, x86_pad_returns): New.
(override_options): Add generic32 and generic64, translate "generic"
to generic32/generic64 and "i686" to "generic32", refuse
"generic32"/"generic64" as arch target.
(ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon.
(ix86_reorg): Honor PAD_RETURNS.

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

18 years ago2006-01-19 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Thu, 19 Jan 2006 16:57:43 +0000 (16:57 +0000)]
2006-01-19  Andrew Pinski  <pinskia@physics.uc.edu>

        * objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c (switchfiles):
        Fix fprintf's by adding srcdir or removing it.

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

18 years ago * tree-pretty-print.c (dump_generic_node): Handle
dnovillo [Thu, 19 Jan 2006 16:55:52 +0000 (16:55 +0000)]
* tree-pretty-print.c (dump_generic_node): Handle
OMP_PARALLEL_FN, OMP_PARALLEL_DATA_ARG and OMP_RETURN_EXPR.
* cgraph.c (cgraph_expand_queue): Rename from
cgraph_analyze_queue.
Update all users.
* cgraphunit.c (cgraph_assemble_pending_functions): Process
cgraph_expand_queue.
(cgraph_expand_all_functions): Likewise.
(cgraph_finalize_pending_functions): Remove.  Update callers.

* tree.h (OMP_DIRECTIVE_P): Define.
(OMP_PARALLEL_FN): Define.
(OMP_PARALLEL_DATA_ARG): Define.
(OMP_SECTIONS_SECTIONS): Define.
* tree-pass.h (pass_expand_omp): Declare.
* omp-low.c (struct omp_region): Declare.
(struct omp_context): Remove fields 'parallel_type',
'parallel_start_ix' and 'parallel_start_additional_args'.
Update all users.
(struct omp_for_data): Rename from struct expand_omp_for_data.
(omp_regions): New static variable.
(root_omp_region): New static variable.
(find_omp_clause): Make static.
(is_in_combined_parallel_ctx): Remove.
(is_combined_parallel): New.
(extract_omp_for_data): Move earlier in the file.
(workshare_safe_to_combine_p): New.
(get_ws_args_for): New.
(determine_parallel_type): Move earlier in the file.
(omp_copy_decl_2): Do not set DECL_CONTEXT of new local to the
child function.
(omp_copy_decl): Likewise.
(create_omp_child_function): Likewise.
(lookup_omp_region): New.
(dump_omp_region): New.
(debug_omp_region): New.
(debug_all_omp_regions): New.
(new_omp_region): New.
(scan_omp_parallel): If parallel_nesting_level > 1, the
directive is nested within another parallel directive.
Set OMP_PARALLEL_FN.
(scan_omp_for): Do not try to handle combined parallel+for
cases.
Remove FIXME comment.
(scan_omp_nested): Remove.
(scan_omp_1): Do not call scan_omp_nested when
parallel_nesting_level is > 1.
Do not change the DECL_CONTEXT of local variables found.
(lookup_decl_in_outer_ctx): New.
(lower_rec_input_clauses): Rename from expand_rec_input_clauses.
(lower_lastprivate_clauses): Rename from expand_lastprivate_clauses.
(lower_reduction_clauses): Rename from expand_reduction_clauses.
(lower_copyprivate_clauses): Rename from expand_copyprivate_clauses.
If CTX is nested, lookup VAR in the outer context when
building copy assignment.
(lower_send_clauses): Rename from expand_send_clauses.
If CTX is nested, lookup VAR in the outer context when
building copy assignments.
(lower_send_shared_vars): Rename from expand_send_shared_vars.
If CTX is nested, lookup VAR in the outer context when
building copy assignments.
(expand_parallel_call): Rename from build_parallel_call.
Handle combined parallel+workshare cases.
Re-implement to emit code into the CFG.
(list2chain): New.
(expand_omp_parallel): Re-implement to emit code into the CFG.
Call move_sese_region_to_fn to outline the sub-graph
containing the parallel region.
(expand_omp_for_1): Remove.
(expand_omp_for_generic): Re-implement to emit code into the
CFG.
(expand_omp_for_static_nochunk): Likewise.
(expand_omp_for_static_chunk): Likewise.
(expand_omp_for): Likewise.
(expand_omp_sections): Likewise.
(remove_exit_barriers): New.
(expand_omp_synch): New.
(expand_omp): New.
(build_omp_regions_1): New.
(build_omp_regions): New.
(execute_expand_omp): New.
(gate_expand_omp): New.
(pass_expand_omp): Define.
(lower_omp_sections): Rename from expand_omp_sections.
Set OMP_SECTIONS_SECTIONS.
(lower_omp_single_simple): Rename from expand_omp_single_simple.
(lower_omp_single_copy): Rename from expand_omp_single_copy.
(lower_omp_single): Rename from expand_omp_simple.
(lower_omp_master): Rename from expand_omp_master.
(lower_omp_ordered): Rename from expand_omp_ordered.
(lower_omp_critical): Rename from expand_omp_critical.
(lower_omp_for_lastprivate): Rename from expand_omp_for_lastprivate.
(lower_omp_for): Re-implement.
(lower_omp_parallel): Re-implement.
(lower_regimplify): Rename from expand_regimplify.
(lower_omp_1): Rename from expand_omp_1.
If there are syntax errors in the program, replace every
OpenMP directive with NOP.
Call lower_omp_* instead of expand_omp_*.
(lower_omp): Rename from expand_omp.

* tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN_EXPR.
* tree-gimple.h (enum omp_parallel_type): Remove.
(gimple_boolify): Declare extern.
(find_omp_clause, determine_parallel_type): Remove.

* gimple-low.c (lower_omp_directive): New.
(lower_stmt): Call it.
(record_vars_into): Move from ...
(record_vars): ... here.
Call record_vars_into with current_function_decl.

* gimplify.c (struct gimplify_ctx): Remove fields
combined_pre_p and combined_ctxp.  Update users.
(get_formal_tmp_var): Add documentation.
(gimple_boolify): Make extern.
(gimplify_expr_in_ctx): Remove.  Update callers.
(gimplify_omp_parallel): Do not assume that OMP_PARALLEL_BODY
will always be a BIND_EXPR.
(gimplify_expr): Handle OMP_RETURN_EXPR.
* tree.def (BLOCK): Remove documentation about BLOCK_TYPE_TAGS.
(OMP_PARALLEL): Add 3 operands.
(OMP_SECTIONS): Add 1 operand.
(OMP_RETURN_EXPR): Define.

* tree-inline.c (estimate_num_insns_1): Handle OpenMP directives.
(copy_tree_r): Restore TREE_CHAIN in OMP_CLAUSE_*.
* tree-iterator.c (alloc_stmt_list): Assert that we are not
creating a circular free list.
(free_stmt_list): Assert that we are not freeing stmt_list_cache.

* tree-flow.h (move_sese_region_to_fn): Declare.
(record_vars_into): Declare.
* tree-cfg.c (make_omp_sections_edges): New.
(make_exit_edges): Handle OMP_PARALLEL, OMP_FOR, OMP_SINGLE,
OMP_MASTER, OMP_ORDERED, OMP_CRITICAL, OMP_RETURN_EXPR,
OMP_SECTIONS and OMP_SECTION.
(is_ctrl_altering_stmt): Return true for OMP_DIRECTIVE_P.
(set_bb_for_stmt): Undo change to check currently_expanding_to_rtl.
(verify_stmt): Do not handle OMP_DIRECTIVE_P.
(gather_blocks_in_sese_region): New.
(struct move_stmt_d): Declare.
(move_stmt_r): New.
(move_block_to_fn): New.
(move_sese_region_to_fn): New.

* passes.c (init_optimization_passes): Schedule
pass_expand_omp after pass_init_datastructures.

* tree-ssa-operands.c (get_expr_operands): Handle
OMP_PARALLEL, OMP_SECTIONS, OMP_FOR, OMP_RETURN_EXPR,
OMP_SINGLE, OMP_MASTER, OMP_ORDERED, OMP_CRITICAL.

testsuite/

* testsuite/gcc.dg/gomp/for-13.c: Use -fdump-tree-ompexp.
* testsuite/gcc.dg/gomp/critical-1.c: Likewise.
* testsuite/gcc.dg/gomp/critical-3.c: Likewise.
* testsuite/gcc.dg/gomp/empty.c: Likewise.
* testsuite/gcc.dg/gomp/ordered-1.c: Likewise.
* testsuite/gcc.dg/gomp/for-4.c: Likewise.
* testsuite/gcc.dg/gomp/for-6.c: Likewise.
* testsuite/gcc.dg/gomp/master-3.c: Likewise.
* testsuite/gcc.dg/gomp/for-8.c: Likewise.
* testsuite/gcc.dg/gomp/for-10.c: Likewise.
* testsuite/gcc.dg/gomp/for-18.c: Likewise.
* testsuite/gcc.dg/gomp/for-5.c: Likewise.
* testsuite/gcc.dg/gomp/for-7.c: Likewise.
* testsuite/gcc.dg/gomp/for-9.c: Likewise.

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

18 years ago * tree-vrp.c (extract_range_from_assert): Refine the result range
law [Thu, 19 Jan 2006 16:30:59 +0000 (16:30 +0000)]
* tree-vrp.c (extract_range_from_assert): Refine the result range
if the variable referenced by the ASSERT_EXPR has a range and
either the tentative result range or the previous range is a
VR_ANTI_RANGE.

* gcc.dg/tree-ssa/vrp25.c: New test.

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

18 years ago * gcc.dg/pr25805.c: Fix misapplied patch.
rsandifo [Thu, 19 Jan 2006 16:29:44 +0000 (16:29 +0000)]
* gcc.dg/pr25805.c: Fix misapplied patch.

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

18 years ago * c-decl.c (add_flexible_array_elts_to_size): Simplify vector accesses.
rsandifo [Thu, 19 Jan 2006 16:28:31 +0000 (16:28 +0000)]
* c-decl.c (add_flexible_array_elts_to_size): Simplify vector accesses.

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

18 years ago * tree-vect-patterns.c (vect_pattern_recog_1): Prevent parse error.
hubicka [Thu, 19 Jan 2006 15:04:46 +0000 (15:04 +0000)]
* tree-vect-patterns.c (vect_pattern_recog_1): Prevent parse error.

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

18 years ago2006-01-19 Paolo Bonzini <bonzini@gnu.org>
bonzini [Thu, 19 Jan 2006 14:54:57 +0000 (14:54 +0000)]
2006-01-19  Paolo Bonzini  <bonzini@gnu.org>

* combine.c (try_combine): Do not worry about MEMs wrapped by USEs.
(expand_compound_operation, expand_field_assignment): Fail if the
bit lengths of an extract operation are out of range.
(make_extraction): Compute wanted_inner_mode based on the position
and length of the extraction.  Make it extraction_mode for non-constant
positions, and do not modify offset in that case.  When generating a
new MEM, use a mode that can hold the extraction while keeping correct
alignment.  Remove code that supported MEMs wrapped by USEs.
(simplify_shift_const_1, force_to_mode) <case USE>: Remove.

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

18 years ago2006-01-19 Andreas Krebbel <krebbel1@de.ibm.com>
krebbel [Thu, 19 Jan 2006 14:28:01 +0000 (14:28 +0000)]
2006-01-19  Andreas Krebbel  <krebbel1@de.ibm.com>

* config/s390/s390.md ("Y", "y"): New mode attribute.
("*cmpdi_ccs", "*cmpsi_ccs", "*adddi3_imm_cc", "*adddi3_carry1_cc",
"*adddi3_carry1_cconly", "*adddi3_carry2_cc", "*adddi3_carry2_cconly",
"*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2", "*adddi3_64",
"*addsi3_imm_cc", "*addsi3_carry1_cc",
"*addsi3_carry1_cconly", "*addsi3_carry2_cc", "*addsi3_carr2_cconly",
"*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2",
"*subdi3_borrow_cc", "*subdi3_borrow_cconly", "*subdi3_cc",
"*subdi3_cc2", "*subdi3_cconly", "*subdi3_cconly2", "*subdi3_64",
"*subsi3_borrow_cc", "*subsi3_borrow_cconly", "*subsi3_cc",
"*subsi3_cc2", "*subsi3_cconly", "*subsi3_cconly", "*subsi3_cconly2",
"addsi3", "subsi3"): Insn patterns removed.
("*add<mode>3_carry1_cc", "*add<mode>3_carry1_cconly",
"*add<mode>3_carry2_cc", "*add<mode>3_carry2_cconly", "*add<mode>3_cc",
"*add<mode>3_cconly", "*add<mode>3_cconly2", "*add<mode>3_imm_cc",
"*sub<mode>3_borrow_cc", "*sub<mode>3_borrow_cconly",
"*sub<mode>3_cc", "*sub<mode>3_cc2", "*sub<mode>3_cconly",
"*sub<mode>3_cconly2"): New insn patterns.
("addsi3", "subsi3"): New expanders.

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

18 years ago * Makefile.in (tree-vect-patterns.o): Add rule for new file.
dorit [Thu, 19 Jan 2006 10:24:00 +0000 (10:24 +0000)]
    * Makefile.in (tree-vect-patterns.o): Add rule for new file.
        * tree-vect-analyze.c (vect_determine_vectorization_factor): Use
        existing STMT_VINFO_VECTYPE if available.
        (vect_mark_relevant): Add special handling for stmts that are
        marked as STMT_VINFO_IN_PATTERN_P.
        (vect_analyze_loop): Call vect_pattern_recog.
        * tree-vectorizer.c (new_stmt_vec_info): Initialize new fields.
        * tree-vectorizer.h (in_pattern_p, related_stmt): New fields in
        stmt_info.
        (STMT_VINFO_IN_PATTERN_P, STMT_VINFO_RELATED_STMT): New macros.
        (vect_recog_func_ptr): New function-pointer type.
        * tree-vect-patterns.c: New file.
        (vect_recog_widen_sum_pattern, vect_recog_widen_mult_pattern):
        (vect_recog_dot_prod_pattern, vect_pattern_recog):
        (vect_pattern_recog_1): New functions.
        (vect_pattern_recog_funcs): New array of function pointers.

        * tree-vectorizer.h (ternary_op): New enum value.
        * tree-vect-transform.c (vect_create_epilog_for_reduction): Added
        declaration. Revised documentation. Removed redundant dump prints.
        Removed redundant argument. Added support for reduction patterns.
        (vectorizable_reduction): Added support for reduction patterns.
        (vect_transform_stmt): Added support for patterns.

        * expr.c (expand_expr_real_1): Added case for DOT_PROD_EXPR.
        * genopinit.c (udot_prod_optab, sdot_prod_optab): Initialize.
        * optabs.c (optab_for_tree_code): Added case for DOT_PROD_EXPR.
        (expand_widen_pattern_expr): New function.
        (init_optabs): Initialize new optabs udot_prod_optab,
        sdot_prod_optab.
        * optabs.h (OTI_sdot_prod, OTI_udot_prod): New.
        (sdot_prod_optab, udot_prod_optab): Define new optabs.
        (expand_widen_pattern_expr): New function declaration.
        * tree.def (DOT_PROD_EXPR, WIDEN_SUM_EXPR, WIDEN_MULT_EXPR): New
        tree-codes.
        * tree-inline.c (estimate_num_insns_1): Added cases for new
        tree-codes DOT_PROD_EXPR, WIDEN_SUM_EXPR, WIDEN_MULT_EXPR.
        * tree-pretty-print.c (dump_generic_node): Likewise.
        (op_prio): Likewise.
        (op_symbol): Added cases for WIDEN_SUM_EXPR, WIDEN_MULT_EXPR.
        * tree-ssa-operands.c (get_expr_operands): Added case for
        DOT_PROD_EXPR.
        * tree-vect-patterns.c (widened_name_p): New function.
        (vect_recog_dot_prod_pattern): Added function implementation.
        * tree-vect-transform.c (get_initial_def_for_reduction): Added
        cases for DOT_PROD_EXPR, WIDEN_SUM_EXPR.
        * config/rs6000/altivec.md (udot_prod<mode>, sdot_prodv8hi): New.
        * config/i386/sse.md (sdot_prodv8hi, udot_prodv4si): New.

        * expr.c (expand_expr_real_1): Added case for WIDEN_SUM_EXPR.
        * genopinit.c (widen_ssum_optab, widen_usum_optab): Initialize.
        * optabs.c (optab_for_tree_code): Added case for WIDEN_SUM_EXPR.
        (init_optabs): Initialize new optabs widen_ssum_optab,
        widen_usum_optab.
        * optabs.h (OTI_widen_ssum, OTI_widen_usum): New.
        (widen_ssum_optab, widen_usum_optab): Define new optabs.
        * tree-vect-generic.c: (expand_vector_operations_1): Check type of
        use instead of type of def.
        * tree-vect-patterns.c (vect_recog_widen_sum_pattern): Added
        function implementation.
        * config/rs6000/altivec.md (widen_usum<mode>, widen_ssumv16qi,
        widen_ssumv8hi): New.

        * doc/tm.texi (ssum_widen, usum_widen, sdot_prod, udot_prod): New
        patterns.

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

18 years ago* gfortranspec.c: Update copyright years.
tobi [Thu, 19 Jan 2006 09:53:36 +0000 (09:53 +0000)]
* gfortranspec.c: Update copyright years.
* trans.c: Likewise.
* trans-array.c: Likewise.
* trans-array.h: Likewise.
* trans-decl.c: Likewise.
* trans-stmt.c: Likewise.
* trans-stmt.h: Likewise.
* trans-types.c: Likewise.

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

18 years ago PR c++/16829
reichelt [Thu, 19 Jan 2006 09:51:57 +0000 (09:51 +0000)]
PR c++/16829
* decl.c (start_preparsed_function): Check default arguments
unconditionally.
* name-lookup.c (pushdecl_maybe_friend): Check default arguments
of all functions and function templates.
* parser.c (cp_parser_late_parsing_default_args): Check default
arguments.
* decl2.c (check_default_args): Set missing default arguments to
error_mark_node.

* g++.dg/other/default2.C: New test.
* g++.dg/other/default3.C: New test.

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

18 years ago PR c/25805
rsandifo [Thu, 19 Jan 2006 07:35:47 +0000 (07:35 +0000)]
PR c/25805
* c-decl.c (add_flexible_array_elts_to_size): New function.
(finish_decl): Use it.

testsuite/
PR c/25805
* gcc.dg/pr25805.c: New file.

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

18 years ago PR c++/25836
mmitchel [Thu, 19 Jan 2006 06:55:53 +0000 (06:55 +0000)]
PR c++/25836
* cp-tree.h (push_class_stack): New function.
(pop_class_stack): Likewise.
* class.c (class_stack_node): Add hidden field.
(pushclass): Clear it.
(push_class_stack): New function.
(pop_class_stack): Likewise.
(currently_open_class): Ignore hidden classes.
(currently_open_derived_class): Likewise.
* name-lookup.c (push_to_top_level): Call push_class_stack.
(pop_from_top_level): Call pop_class_stack.
PR c++/25836
* g++.dg/template/init6.C: New test.

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

18 years ago2006-01-18 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Thu, 19 Jan 2006 04:24:22 +0000 (04:24 +0000)]
2006-01-18  Andrew Pinski  <pinskia@physics.uc.edu>

        * diagnostic.h: Include options.h.
        * config/rs6000/x-darwin (host-ppc-darwin.o): Correct the
        dependancies for diagnostic.h.
        * Makefile.in (DIAGNOSTIC_H): Add options.h.

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

18 years ago2006-01-16 Daniel Berlin <dberlin@dberlin.org>
dberlin [Thu, 19 Jan 2006 01:42:48 +0000 (01:42 +0000)]
2006-01-16  Daniel Berlin  <dberlin@dberlin.org>

* tree-ssa-operands.h (ssa_call_clobbered_cache_valid): Remove.
(ssa_ro_call_cache_valid): Ditto.
* tree-ssa-alias.c (sort_tags_by_id): New function.
(init_transitive_clobber_worklist): Ditto.
(add_to_worklist): Ditto.
(mark_aliases_call_clobbered): Ditto.
(compute_tag_properties): Ditto.
(set_initial_properties): Ditto.
(compute_call_clobbered): Ditto.
(compute_may_aliases): Call compute_call_clobbered and grouping.
(compute_flow_sensitive_aliasing): Remove clobbering related code.
(compute_flow_insensitive_aliasing): Grouping now happens in our
caller.
(setup_pointers_and_addressables): Remove clobbering related code.
(add_may_alias): Ditto.
(replace_may_alias): Ditto.
(get_nmt_for): Ditto.
(create_global_var):
(is_escape_site): Return an escape_type enumeration.
* tree-flow-inline.h (is_call_clobbered):  Global var does not
imply call clobbered.
(mark_call_clobbered): Take a reason for marking this. Remove
marking of globalness, and cache invalidation.
(clear_call_clobbered): Remove cache invalidation code.
* tree-dfa.c (dump_variable): If details is on, dump the reason
for escaping.
* tree-outof-ssa.c (create_temp): Copy escape mask from original
variable.
* tree-flow.h (struct ptr_info_def): Add escape mask member.
(struct var_ann_d): Ditto.
(enum escape_type): New.
(mark_call_clobbered): Adjust prototype.
* tree-ssa-structalias.c (update_alias_info): Unmodifiable vars
are never call clobbered.
Record reasons for escaping.
* tree-ssa-structalias.h (is_escape_site): Update prototype.
* tree-ssa-operands.c (ssa_call_clobbered_cache_valid): Remove.
(ssa_ro_call_cache_valid): Ditto.
(clobbered_v_may_defs): Ditto.
(clobbered_vuses): Ditto.
(ro_call_vuses): Ditto.
(clobber_stats): New.
(init_ssa_operands): Zero out clobber stats.
(fini_ssa_operands): Print out clobber stats.
(get_call_expr_operands): Pass callee fndecl to
add_call_read_ops).
(add_call_clobber_ops): Remove use of cache.
Add use of PURE_CONST information.
(add_call_read_ops): Remove use of cache.
Add use of static not_read information.

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

18 years ago2006-01-18 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Thu, 19 Jan 2006 01:09:56 +0000 (01:09 +0000)]
2006-01-18  Andrew Pinski  <pinskia@physics.uc.edu>

        * btest-gcc.sh: gcc.sum has moved to gcc/testsuite/gcc/gcc.sum.
        g++.sum has moved to gcc/testsuite/g++/g++.sum.
        objc.sum has moved to gcc/testsuite/objc/objc.sum.

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

18 years ago * jni.cc (_Jv_JNI_AttachCurrentThread): Return environment if it
tromey [Thu, 19 Jan 2006 00:57:00 +0000 (00:57 +0000)]
* jni.cc (_Jv_JNI_AttachCurrentThread): Return environment if it
already exists.

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

18 years agoIntroduce TLS descriptors for i386 and x86_64.
aoliva [Thu, 19 Jan 2006 00:40:16 +0000 (00:40 +0000)]
Introduce TLS descriptors for i386 and x86_64.
* config/i386/i386.h (TARGET_GNU2_TLS): New macro.
(TARGET_ANY_GNU_TLS): New macro.
(enum tls_dialect): Added TLS_DIALECT_GNU2.
(struct machine_function): Add tls_descriptor_call_expanded_p.
(ix86_tls_descriptor_calls_expande_in_cfun): New macro.
(ix86_current_function_calls_tls_descriptor): Likewise.
* config/i386/i386.c (ix86_tls_dialect): Fix typo in comment.
(override_options): Introduce gnu2 tls dialect.
(ix86_frame_pointer_required): Functions containing TLSCALLs are
not leaves.
(ix86_select_alt_pic_regnum, ix86_compute_frame_layout):
Likewise.
(legitimize_tls_address): Adjust logic for GNU2 TLS.
(ix86_init_machine_status): Initialize new field.
(ix86_tls_get_addr): Use TARGET_ANY_GNU_TLS.
(ix86_tls_module_base): New.
* config/i386/i386-protos.h (ix86_tls_module_base): Declare it.
* config/i386/i386.md (UNSPEC_TLSDESC): New constant.
(tls_global_dynamic_32, tls_global_dynamic_64): Handle GNU2 TLS.
(tls_local_dynamic_base_32, tls_local_dynamic_base_64): Likewise.
(tls_dynamic_gnu2_32, *tls_dynamic_lea_32): New patterns.
(*tls_dynamic_call_32, *tls_dynamic_gnu2_combine_32): Likewise.
(tls_dynamic_gnu2_64, *tls_dynamic_lea_64): Likewise.
(*tls_dynamic_call_64, *tls_dynamic_gnu2_combine_64): Likewise.
* config/i386/predicates.md (tls_modbase_operand): New.
(tp_or_register_operand): New.

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

18 years ago2006-01-18 Daniel Berlin <dberlin@dberlin.org>
dberlin [Thu, 19 Jan 2006 00:28:07 +0000 (00:28 +0000)]
2006-01-18  Daniel Berlin  <dberlin@dberlin.org>

* ipa-reference.c (check_operand):  Allow FUNCTION_DECL.
(look_for_address_of): Ditto.
(ipa_init): Walk the function decls.
(static_execute): Don't set readonly on FUNCTION_DECL's.

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

18 years ago2006-01-18 Eric Christopher <echristo@apple.com>
echristo [Thu, 19 Jan 2006 00:26:20 +0000 (00:26 +0000)]
2006-01-18  Eric Christopher  <echristo@apple.com>

        * g++.dg/eh/table.C: New.

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

18 years agoDaily bump.
gccadmin [Thu, 19 Jan 2006 00:17:35 +0000 (00:17 +0000)]
Daily bump.

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

18 years ago * include/java-interp.h (_Jv_CompileMethod): Add declaration.
kseitz [Wed, 18 Jan 2006 21:52:45 +0000 (21:52 +0000)]
    * include/java-interp.h (_Jv_CompileMethod): Add declaration.
        (class _Jv_InterpMethod): Add _Jv_CompileMethod as a friend.
        * interpret.cc (_Jv_CompileMethod): New function.
        (run):  Massage code to allow for NULL args.
        Update comments to explain NULL args.
        Return if compiling the method and args is NULL.

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

18 years agoFix name butchered in my previous check-in.
tobi [Wed, 18 Jan 2006 21:08:19 +0000 (21:08 +0000)]
Fix name butchered in my previous check-in.

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

18 years agoPR fortran/18540
tobi [Wed, 18 Jan 2006 20:54:49 +0000 (20:54 +0000)]
PR fortran/18540
PR fortran/18937
* gfortran.h (BBT_HEADER): Move definition up.
(gfc_st_label): Add BBT_HEADER, remove 'prev' and 'next'.
* io.c (format_asterisk): Adapt initializer.
* resolve.c (resolve_branch): Allow FORTRAN 66 cross-block GOTOs
as extension.
* symbol.c (compare_st_labels): New function.
(gfc_free_st_label, free_st_labels, gfc_get_st_label): Convert to
using balanced binary tree.
* decl.c (match_char_length, gfc_match_old_kind_spec): Do away
with 'cnt'.
(warn_unused_label): Adapt to binary tree.
* match.c (gfc_match_small_literal_int): Only set cnt if non-NULL.
* primary.c (match_kind_param): Do away with cnt.

Also converted the ChangeLog to use latin1 characters.

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

18 years ago * config/i386/i386.md (shift spliter): Fix a a typo in the splitter
sayle [Wed, 18 Jan 2006 20:42:41 +0000 (20:42 +0000)]
* config/i386/i386.md (shift spliter): Fix a a typo in the splitter
for shifts where the source and destination registers are different.

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

18 years ago2006-01-18 Paul Brook <paul@codesourcery.com>
pbrook [Wed, 18 Jan 2006 20:39:17 +0000 (20:39 +0000)]
2006-01-18  Paul Brook  <paul@codesourcery.com>

Merge from csl-arm-branch.
2005-03-14  Julian Brown  <julian@codesourcery.com>
* config/arm/lib1funcs.asm (ashldi3): Don't define on SymbianOS.
(aeabi_llsl): Likewise.
(ashrdi3): Likewise.
(aeabi_lasr): Likewise.
(lshrdi3): Likewise.
(aeabi_llsr): Likewise.
2005-03-10  Julian Brown  <julian@codesourcery.com>
* config.gcc: Disable shared libgcc for SymbianOS.
* config/arm/t-symbian (LIB2ADDEH): Include config/arm/pr-support.c.

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

18 years ago* md5.h: Include ansidecl.h
dj [Wed, 18 Jan 2006 20:21:59 +0000 (20:21 +0000)]
* md5.h: Include ansidecl.h

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

18 years ago2006-01-18 H.J. Lu <hongjiu.lu@intel.com>
hjl [Wed, 18 Jan 2006 20:04:50 +0000 (20:04 +0000)]
2006-01-18  H.J. Lu  <hongjiu.lu@intel.com>

PR libgcj/25840
* include/x86_64-signal.h (RESTORE2): Add ".text\n".

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

18 years ago* gcc.dg/Werror-1.c, gcc.dg/Werror-2.c, gcc.dg/Werror-3.c,
dj [Wed, 18 Jan 2006 20:04:01 +0000 (20:04 +0000)]
* gcc.dg/Werror-1.c, gcc.dg/Werror-2.c, gcc.dg/Werror-3.c,
gcc.dg/Werror-4.c, gcc.dg/Werror-5.c, gcc.dg/Werror-6.c,
gcc.dg/Werror-7.c, gcc.dg/Werror-8.c, gcc.dg/Werror-9.c,
gcc.dg/Werror-10.c, gcc.dg/Werror-11.c, gcc.dg/Werror-12: New.

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

18 years ago* c-pragma.c (handle_pragma_diagnostic): New.
dj [Wed, 18 Jan 2006 20:02:42 +0000 (20:02 +0000)]
* c-pragma.c (handle_pragma_diagnostic): New.
(init_pragma): Register it.
* doc/extend.texi: Document it.

* diagnostic.def: Add DK_UNSPECIFIED and DK_IGNORED.
* diagnostic.h (diagnostic_classify_diagnostic): Declare.
(diagnostic_context): Add classify_diagnostic[].
* diagnostic.c (diagnostic_count_diagnostic): Don't count warnings
as errors if they're overridden to DK_WARNING.
(diagnostic_initialize): Initialize classify_diagnostic[].
(diagnostic_set_kind_override): New.
(diagnostic_report_diagnostic): Check for kind changes.
* opts.c (common_handle_option): Take lang_mask.  Update callers.
Handle OPT_Werror_.
* common.opt (Werror=): New.
* doc/invoke.texi: Document -Werror=*

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

18 years ago * tree-vrp.c (test_for_singularity): Correct test for new
law [Wed, 18 Jan 2006 19:47:16 +0000 (19:47 +0000)]
* tree-vrp.c (test_for_singularity): Correct test for new
min limit.  Use operand_equal_p rather than pointer equality
for testing if new min/max values are equal.

* tree-ssa-propagate.c (substitute_and_fold): Delay simplifications
using range information until after propagation and folding.

* gcc.c-torture/execute/930529-1.x: Use -fwrapv as test depends
on wrapping on overflow semantics.

* gcc.dg/tree-ssa/pr23109.c: Remove the .lim file too.

* gcc.gc/tree-ssa/vrp23.c: New test.
* gcc.gc/tree-ssa/vrp24.c: New test.

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

18 years ago2006-01-18 Richard Henderson <rth@redhat.com>
dnovillo [Wed, 18 Jan 2006 19:21:25 +0000 (19:21 +0000)]
2006-01-18  Richard Henderson  <rth@redhat.com>
    Jakub Jelinek  <jakub@redhat.com>
            Diego Novillo  <dnovillo@redhat.com>

* libgomp: New directory.
* Makefile.def: Add target_module libgomp.
* Makefile.in: Regenerate.
* configure.in (target_libraries): Add target-libgomp.
* configure: Regenerate.

contrib/

2006-01-18  Richard Henderson  <rth@redhat.com>
            Diego Novillo  <dnovillo@redhat.com>

* gcc_update (files_and_dependencies): Add libgomp files.

gcc/

2006-01-18  Richard Henderson  <rth@redhat.com>
            Aldy Hernandez  <aldyh@redhat.com>
    Jakub Jelinek  <jakub@redhat.com>
            Diego Novillo  <dnovillo@redhat.com>

* omp-low.c: New file.
* c-omp.c: New file.

2006-01-18  Richard Henderson  <rth@redhat.com>
    Jakub Jelinek  <jakub@redhat.com>
            Diego Novillo  <dnovillo@redhat.com>

* doc/invoke.texi: Document -fopenmp.
* tree-dump.h (debug_function): Declare.

* hooks.c (hook_bool_tree_bool_false): New function.
(hook_tree_tree_null): Remove.
(hook_tree_tree_tree_null): New.
* hooks.h: Update to match.

* tree-pretty-print.c (debug_tree_chain): New.
(print_generic_expr): Handle TDF_CHAIN.
(dump_generic_node): Handle BLOCK.
Do not abort with incomplete SWITCH_EXPRs.
Do not dump body of an OpenMP directive if TDF_SLIM is given.
<case OMP_PARALLEL, OMP_FOR, OMP_SECTIONS>: Don't
print space after directive name.
<OMP_FOR>: Handle printing OMP_FOR_PRE_BODY.
Handle OMP_MASTER and OMP_ORDERED.
Handle printing of OMP_BODY just in one place, goto
dump_omp_body in the rest of OMP_* nodes that have
OMP_BODY.
Don't handle clause nodes here.  Update omp statements to
use dump_omp_clauses.
Handle OMP_SINGLE, OMP_SECTIONS, OMP_SECTION,
OMP_CLAUSE_ORDERED, OMP_CLAUSE_SCHEDULE, OMP_ATOMIC,
OMP_CRITICAL, OMP_CLAUSE_NOWAIT, GOMP_CLAUSE_IF,
GOMP_CLAUSE_NUM_THREADS, GOMP_FOR, GOMP_CLAUSE_SHARED,
GOMP_CLAUSE_FIRSTPRIVATE, GOMP_CLAUSE_LASTPRIVATE,
GOMP_CLAUSE_COPYIN and GOMP_CLAUSE_COPYPRIVATE.
Adjust output for GOMP_PARALLEL.
(dump_omp_clauses): New.
(print_declaration): Dump DECL_VALUE_EXPR.
(op_symbol_1): Split out of op_symbol.
(dumping_stmts): Remove.  Update all users.

* cgraph.c (cgraph_analyze_queue): New.
(cgraph_add_new_function): New.
* cgraph.h (cgraph_analyze_queue): Declare.
(cgraph_add_new_function): Declare.
(cgraph_lower_function): Remove.

* tree.c (walk_tree): Walk OMP_CLAUSE_CHAIN of OMP_CLAUSE_*
nodes.  Use switch for all nodes, handle most of IS_EXPR_CODE_CLASS
and TYPE_P nodes in its default clause.
(empty_body_p): New.
(tree_range_check_failed): New.
(build5_stat): New.

* tree.h (OMP_CLAUSE_REDUCTION_INIT,
OMP_CLAUSE_REDUCTION_MERGE,
OMP_CLAUSE_REDUCTION_PLACEHOLDER,
OMP_CLAUSE_PRIVATE_DEBUG,
OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE, OMP_FOR_PRE_BODY,
OMP_MASTER_BODY, OMP_ORDERED_BODY OMP_BODY,
OMP_CLAUSES, OMP_CLAUSE_DECL, OMP_CLAUSE_DEFAULT_KIND,
OMP_CLAUSE_CHAIN, OMP_CLAUSE_OUTER_DECL,
OMP_CLAUSE_INNER_DECL, OMP_CLAUSE_NUM_THREADS_EXPR,
OMP_CLAUSE_IF_EXPR, OMP_CLAUSE_SCHEDULE_CHUNK_EXPR,
OMP_CLAUSE_SCHEDULE_CHUNK_SIZE. OMP_PARALLEL_VAR_INIT,
OMP_PARALLEL_VAR_REDUC, OMP_FOR_VAR_INIT,
OMP_FOR_VAR_LAST, OMP_FOR_VAR_REDUC,
OMP_SECTIONS_VAR_INIT, OMP_SECTIONS_VAR_LAST,
OMP_SECTIONS_VAR_REDUC, OMP_CLAUSE_REDUCTION_CODE
OMP_SINGLE_CLAUSES, OMP_SINGLE_BODY,
OMP_CLAUSE_SCHEDULE_CHUNK_SIZE, OMP_SECTION_BODY,
OMP_CRITICAL_NAME, OMP_CRITICAL_BODY): New.
(TREE_RANGE_CHECK): New.
(empty_body_p): Declare.
(enum omp_clause_default_kind): New.
(build_string_literal): Declare.
(enum omp_clause_schedule_kind, OMP_CLAUSE_SCHEDULE_KIND): New.
(build5_stat, build5): Declare.

* tree-pass.h (TDF_CHAIN): Define.
* tree-pass.h (PROP_gimple_lomp): Define.
(pass_lower_omp): Declare.

* diagnostic.h (debug_tree_chain): Declare.

* builtins.c (get_builtin_sync_mode): Use 0 as last argument to
mode_for_size.
(expand_builtin): Handle sync BUILT_IN_*_16 builtins.
* builtins.c (build_string_literal): Make extern.

* gcc.c (include_spec_function): New.
(static_spec_functions): Add it.
(main): Move load of libgomp.spec ...
(LINK_COMMAND_SPEC): ... here.
(link_gomp_spec): New.
(static_specs): Include it.
(LINK_COMMAND_SPEC): Add link_gomp.
(GOMP_SELF_SPECS): New.
(driver_self_specs): Include it.
(switch_matches): Don't mark inline.
(main): Load libgomp.spec.

* tree-gimple.c (is_gimple_stmt): True for OMP_MASTER,
OMP_ORDERED, OMP_CRITICAL, OMP_SECTIONS, OMP_SECTION,
and OMP_SINGLE, OMP_FOR and OMP_PARALLEL.

* tree-gimple.h (enum omp_parallel): Declare.
(determine_parallel_type): Declare.
(omp_firstprivatize_variable): Declare.
(omp_reduction_init): Declare.
(diagnose_omp_structured_block_errors): Declare.
(struct walk_stmt_info): Add want_return_expr.
(struct walk_stmt_info): Add want_bind_expr, want_locations.
(find_omp_clause): Declare.
(insert_field_into_struct): Declare.
(struct walk_stmt_info): Move from tree-nested.c
(walk_stmts): Declare.

* c-cppbuiltin.c (c_cpp_builtins): If -fopenmp, #define _OPENMP
to 200505.

* cgraphunit.c (cgraph_lower_function): Make static.
(cgraph_finalize_pending_functions): New.
(cgraph_finalize_function): Call it.
(cgraph_finalize_compilation_unit): Likewise.

* builtin-types.def (BT_I16, BT_FN_I16_VPTR_I16,
BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add.
(BT_FN_UINT_UINT): New.
(DEF_FUNCTION_TYPE_6, DEF_FUNCTION_TYPE_7,
DEF_FUNCTION_TYPE_VAR_4): Document.
(BT_PTR_LONG, BT_PTR_PTR, BT_FN_BOOL, BT_FN_INT,
BT_FN_VOID_PTRPTR, BT_PTR_FN_VOID_PTR,
BT_FN_BOOL_LONGPTR_LONGPTR, BT_FN_VOID_OMPFN_PTR_UINT,
BT_FN_VOID_OMPFN_PTR_UINT_UINT,
BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG): New.

* builtins.def: Update DEF_BUILTIN comment to include COND argument.
Move all DEF_SYNC_BUILTIN () and DEF_GOMP_BUILTIN () builtins
into separate files.
(DEF_GOMP_BUILTIN): New.
(BUILT_IN_OMP_GET_THREAD_NUM, BUILT_IN_GOMP_BARRIER,
BUILT_IN_GOMP_CRITICAL_START, BUILT_IN_GOMP_CRITICAL_END,
BUILT_IN_GOMP_CRITICAL_NAME_START, BUILT_IN_GOMP_CRITICAL_NAME_END,
BUILT_IN_GOMP_LOOP_STATIC_START, BUILT_IN_GOMP_LOOP_DYNAMIC_START,
BUILT_IN_GOMP_LOOP_GUIDED_START, BUILT_IN_GOMP_LOOP_RUNTIME_START,
BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START,
BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START,
BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START,
BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START,
BUILT_IN_GOMP_LOOP_STATIC_NEXT, BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT,
BUILT_IN_GOMP_LOOP_GUIDED_NEXT, BUILT_IN_GOMP_LOOP_RUNTIME_NEXT,
BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT,
BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT,
BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT,
BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT,
BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
BUILT_IN_GOMP_LOOP_END, BUILT_IN_GOMP_LOOP_END_NOWAIT,
BUILT_IN_GOMP_ORDERED_START, BUILT_IN_GOMP_ORDERED_END,
BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_PARALLEL_END,
BUILT_IN_GOMP_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_NEXT,
BUILT_IN_GOMP_PARALLEL_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_END,
BUILT_IN_GOMP_SECTIONS_END_NOWAIT, BUILT_IN_GOMP_SINGLE_START,
BUILT_IN_GOMP_SINGLE_COPY_START, BUILT_IN_GOMP_SINGLE_COPY_END): New.
* sync-builtins.def: New file, moved from builtins.def.
* omp-builtins.def: New file, moved from builtins.def.

* c-objc-common.h (LANG_HOOKS_OMP_PREDETERMINED_SHARING): Redefine.

* gimple-low.c (lower_function_body): Clear data.
(lower_stmt): Do not handle COMPOUND_EXPR.
Remove call to print_node_brief.

* c-tree.h (c_finish_omp_clauses): New prototype.
(C_DECL_THREADPRIVATE_P): Define.
(lookup_name_no_remap, c_omp_remap_private): Remove
(c_begin_omp_parallel, c_finish_omp_parallel): Update.
(check_for_loop_decls): Update decl.
(lookup_name_no_remap, c_omp_remap_private): Declare.
(build_indirect_ref, build_modify_expr, pushdecl,
pushdecl_top_level): Move to c-common.h.

* dwarf2out.c (loc_descriptor_from_tree_1): Don't set unsignedp
before the switch, but just in the 2 places that need it.

* c-decl.c (diagnose_mismatched_decls): Do not check for
mismatched thread-local attributes when OLDDECL is marked
threadprivate and NEWDECL has no thread-local attributes.
(merge_decls): Merge C_DECL_THREADPRIVATE_P.
(c_gimple_diagnostics_recursively): Rename from
c_warn_unused_result_recursively.  Invoke
diagnose_omp_structured_block_errors.
(check_for_loop_decls): Return a singular decl found.

* langhooks.c (lhd_omp_predetermined_sharing): Return
OMP_CLAUSE_DEFAULT_SHARED for DECL_ARTIFICIAL decls.
(lhd_omp_firstprivatize_type_sizes): New.
(lhd_omp_assignment): New.
(lhd_omp_predetermined_sharing): New.

* langhooks.h (struct gimplify_omp_ctx): Forward declare.
(struct lang_hooks_for_types): Add
omp_firstprivatize_type_sizes, omp_privatize_by_reference,
omp_predetermined_sharing, omp_disregard_value_expr,
omp_private_debug_clause, omp_clause_default_ctor,
omp_clause_copy_ctor, omp_clause_assign_op, omp_clause_dtor.

(c_finish_omp_clauses): New.
(c_finish_bc_stmt): Diagnose break within omp for.
(c_begin_omp_parallel, c_finish_omp_parallel): New.
(build_unary_op): Return error_mark after reporting
a readonly_error.
(build_modify_expr): Likewise.

* gimplify.c: Include optabs.h and pointer-set.h.
(enum gimplify_omp_var_data): Declare.
(struct gimplify_omp_ctx): Declare.
(struct gimplify_ctx): Add fields prev_context, combined_pre_p
and combined_ctxp.
(gimplify_ctxp, gimplify_omp_ctxp): New local variables.
(push_gimplify_context, pop_gimplify_context): Allow nesting.
(splay_tree_compare_decl_uid): New.
(new_omp_context): New.
(delete_omp_context): New.
(gimple_add_tmp_var): Call omp_add_variable.
(gimplify_bind_expr): Likewise.
(gimplify_var_or_parm_decl): If omp_notice_variable returned
true, disregard DECL_VALUE_EXPR on the decl if any.
(gimplify_expr_in_ctx): New.
(omp_firstprivatize_variable, omp_firstprivatize_type_sizes
omp_add_variable, omp_notice_variable, omp_is_private
gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses_1
gimplify_adjust_omp_clauses, gimplify_omp_parallel
gimplify_omp_for, gimplify_omp_workshare, goa_lhs_expr_p
gimplify_omp_atomic_fetch_op, goa_stabilize_expr
gimplify_omp_atomic_pipeline, gimplify_omp_atomic_mutex
gimplify_omp_atomic): New.
(gimplify_expr): Handle OMP_PARALLEL, OMP_FOR, OMP_SECTIONS,
OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED,
OMP_CRITICAL and OMP_ATOMIC.
(gimplify_body): Verify gimplify_ctxp is empty after gimplification.

* c-pragma.h (enum pragma_kind): Add
PRAGMA_OMP_ATOMIC, PRAGMA_OMP_BARRIER,
PRAGMA_OMP_CRITICAL, PRAGMA_OMP_FLUSH, PRAGMA_OMP_FOR,
PRAGMA_OMP_MASTER, PRAGMA_OMP_ORDERED,
PRAGMA_OMP_PARALLEL, PRAGMA_OMP_PARALLEL_FOR,
PRAGMA_OMP_PARALLEL_SECTIONS, PRAGMA_OMP_SECTION,
PRAGMA_OMP_SECTIONS, PRAGMA_OMP_SINGLE,
PRAGMA_OMP_THREADPRIVATE.

* tree.def (OMP_PARALLEL, OMP_FOR, OMP_SECTIONS,
OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED,
OMP_CRITICAL, OMP_ATOMIC, OMP_CLAUSE_PRIVATE,
OMP_CLAUSE_SHARED, OMP_CLAUSE_FIRSTPRIVATE,
OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_REDUCTION,
OMP_CLAUSE_COPYIN, OMP_CLAUSE_COPYPRIVATE,
OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_NOWAIT,
OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Define.

* print-tree.c (print_node): Dump DECL_VALUE_EXPR.

* tree-ssa-dce.c (find_control_dependence): Do not assume that
ENTRY_BLOCK_PTR->next_bb == single_succ (ENTRY_BLOCK_PTR).

* tree-nested.c (convert_call_expr): Call walk_body on OMP_BODY for
OpenMP directives.
(struct nesting_info): Add field_map,
suppress_expansion, debug_var_chain.
(create_nesting_tree): Initialize them.
(lookup_field_for_decl): Use field_map.
(get_nonlocal_debug_decl, get_local_debug_decl): New.
(convert_local_omp_clauses): New.
(finalize_nesting_tree_1): Add debug_var_chain to toplevel block.
(walk_body): Split out of walk_function.
(convert_nonlocal_omp_clauses, convert_local_omp_clauses): New.
(convert_nonlocal_reference): Handle omp statements.
(convert_local_reference): Likewise.
(unnest_nesting_tree_1): Split out of finalize_nesting_tree_1.
(unnest_nesting_tree): New.
(lower_nested_functions): Call it.
(insert_field_into_struct): Make extern.
(struct walk_stmt_info): Move to tree-gimple.h.
(walk_stmts): Make extern.

* omp-builtins.def: New file.

* tree-iterator.c (expr_only): Clarify comment.

* c-common.h (pushdecl_top_level, pushdecl,
build_modify_expr, build_indirect_ref,
c_finish_omp_master, c_finish_omp_critical,
c_finish_omp_ordered, c_finish_omp_barrier,
c_finish_omp_atomic, c_finish_omp_flush,
c_finish_omp_for, c_split_parallel_clauses,
omp_clause_default_kind, c_omp_sharing_predetermined,
c_omp_remap_decl): Declare.

* Makefile.in (BUILTINS_DEF): Add omp-builtins.def.
(OBJS-common): Add omp-low.o.
(c-omp.o, omp-low.o): Add.
(gimplify.o): Add dependency on $(OPTABS_H).
(GTFILES): Add omp-low.c.
(gt-stringpool.h): Add.

* tree-cfg.c (set_bb_for_stmt): Do not update the
block-to-labels map if we are currently expanding to RTL.
(tree_node_can_be_shared): Remove unnecessary CONSTANT_CLASS_P
checks.
Handle IDENTIFIER_NODE.
(tree_verify_flow_info): Do not ICE when emitting error
messages about invalid labels.
(dump_function_to_file): Reset CFUN before emitting the body
of the function.
(debug_function): New.

* passes.c (init_optimization_passes): Schedule
pass_lower_omp.

* langhooks-def.h (lhd_omp_predetermined_sharing,
lhd_omp_assignment, lhd_omp_firstprivatize_type_sizes):
Declare.
(LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES): Define.
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it.
(LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE,
LANG_HOOKS_OMP_PREDETERMINED_SHARING,
LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR,
LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE,
LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR,
LANG_HOOKS_OMP_CLAUSE_COPY_CTOR,
LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP,
LANG_HOOKS_OMP_CLAUSE_DTOR): Define.
(LANG_HOOK_DECLS): Use them.

2006-01-18  Dmitry Kurochkin <dmitry.kurochkin@gmail.com>
    Richard Henderson  <rth@redhat.com>
    Jakub Jelinek  <jakub@redhat.com>
            Diego Novillo  <dnovillo@redhat.com>

* c-parser.c (pragma_omp_clause): Define.
(c_parser_declaration_or_fndef): Document OpenMP syntax.
(c_parser_compound_statement): Likewise.
(c_parser_statement): Likewise.
(c_parser_pragma): Handle omp pragmas.
(OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
OMP_PARALLEL_CLAUSE_MASK, OMP_SINGLE_CLAUSE_MASK): Define.
(c_parser_omp_clause_name, check_no_duplicate_clause,
c_parser_omp_variable_list,
c_parser_omp_var_list_parens, c_parser_omp_clause_copyin,
c_parser_omp_clause_copyprivate,
c_parser_omp_clause_default,
c_parser_omp_clause_firstprivate, c_parser_omp_clause_if,
c_parser_omp_clause_lastprivate,
c_parser_omp_clause_nowait,
c_parser_omp_clause_num_threads,
c_parser_omp_clause_ordered, c_parser_omp_clause_private,
c_parser_omp_clause_reduction,
c_parser_omp_clause_schedule, c_parser_omp_clause_shared,
c_parser_omp_all_clauses, c_parser_omp_structured_block,
c_parser_omp_atomic, c_parser_omp_barrier,
c_parser_omp_critical, c_parser_omp_flush,
c_parser_omp_for_loop, c_parser_omp_for,
c_parser_omp_master, c_parser_omp_ordered,
c_parser_omp_sections_scope, c_parser_omp_sections,
c_parser_omp_parallel, c_parser_omp_single,
c_parser_omp_construct, c_parser_omp_threadprivate): New.
* c-pragma.c (init_pragma): Do omp pragma registration here.
* c.opt (fopenmp): New flag.

2006-01-18  Eric Christopher  <echristo@apple.com>

* gcc.c (GOMP_SELF_SPECS): Bracket in #ifndef/#endif.
* config/darwin.h (GOMP_SELF_SPECS): Define.

testsuite/

2006-01-18  Richard Henderson  <rth@redhat.com>
            Aldy Hernandez  <aldyh@redhat.com>
    Jakub Jelinek  <jakub@redhat.com>
            Diego Novillo  <dnovillo@redhat.com>
            Uros Bizjak  <uros@kss-loka.si>

* testsuite/gcc.dg/gomp: New directory.

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

18 years ago2006-01-18 Paul Thomas <pault@gcc.gnu.org>
pault [Wed, 18 Jan 2006 18:55:01 +0000 (18:55 +0000)]
2006-01-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/20869
PR fortran/20875
PR fortran/25024
* symbol.c (check_conflict): Add pointer valued elemental
functions and internal procedures with the external attribute
to the list of conflicts.
(gfc_add_attribute): New catch-all function to perform the
checking of symbol attributes for attribute declaration
statements.
* decl.c (attr_decl1): Call gfc_add_attribute for each of -
(gfc_match_external, gfc_match_intent, gfc_match_intrinsic,
gfc_match_pointer, gfc_match_dimension, gfc_match_target):
Remove spurious calls to checks in symbol.c.  Set the
attribute directly and use the call to attr_decl() for
checking.
* gfortran.h:  Add prototype for gfc_add_attribute.

PR fortran/25785
* resolve.c (resolve_function): Exclude PRESENT from assumed size
argument checking. Replace strcmp's with comparisons with generic
codes.

2006-01-18  Paul Thomas  <pault@gcc.gnu.org>
    Steven G. Kargl  <kargls@comcast.net>

PR fortran/20869
* gfortran.dg/intrinsic_external_1.f90: New test.

PR fortran/20875.
* gfortran.dg/elemental_pointer_1.f90: New test.

PR fortran/25024
* gfortran.dg/external_procedures_1.f90: New test.

PR fortran/25785
gfortran.dg/assumed_present.f90: New test.

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

18 years ago * rtl.h: Remove the prototype for reg_alloc.
kazu [Wed, 18 Jan 2006 17:41:04 +0000 (17:41 +0000)]
* rtl.h: Remove the prototype for reg_alloc.

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

18 years ago2006-01-18 Paul Brook <paul@codesourcery.com>
pbrook [Wed, 18 Jan 2006 16:31:00 +0000 (16:31 +0000)]
2006-01-18  Paul Brook  <paul@codesourcery.com>

* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use std::abort.

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