platform/upstream/linaro-gcc.git
13 years ago2010-08-25 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 25 Aug 2010 10:03:19 +0000 (10:03 +0000)]
2010-08-25  Richard Guenther  <rguenther@suse.de>

PR middle-end/45379
* emit-rtl.c (set_mem_attributes_minus_bitpos): Handle
TARGET_MEM_REF in alignment computation.

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

13 years ago PR tree-optimization/45059
jakub [Wed, 25 Aug 2010 09:36:35 +0000 (09:36 +0000)]
PR tree-optimization/45059
* tree-ssa-reassoc.c (eliminate_redundant_comparison): Strip useless
type conversions from newop{1,2}.  Assert t is a comparison and
newop{1,2} after the stripping are gimple vals.

* gcc.c-torture/compile/pr45059.c: New test.

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

13 years agovmull / vmovl support for Neon.
ramana [Wed, 25 Aug 2010 07:23:26 +0000 (07:23 +0000)]
vmull / vmovl support for Neon.

For Tejas Belagod

2010-08-25  Tejas Belagod  <tejas.belagod@arm.com>

* lib/target-supports.exp (check_effective_target_vect_unpack):
Set vect_unpack supported flag to true for neon.

* config/arm/iterators.md (VU, SE, V_widen_l): New.
(V_unpack, US): New.
* config/arm/neon.md (vec_unpack<US>_hi_<mode>): Expansion for
vmovl.
(vec_unpack<US>_lo_<mode>): Likewise.
(neon_vec_unpack<US>_hi_<mode>): Instruction pattern for vmovl.
(neon_vec_unpack<US>_lo_<mode>): Likewise.
(vec_widen_<US>mult_lo_<mode>): Expansion for vmull.
(vec_widen_<US>mult_hi_<mode>): Likewise.
(neon_vec_<US>mult_lo_<mode>"): Instruction pattern for vmull.
(neon_vec_<US>mult_hi_<mode>"): Likewise.
(neon_unpack<US>_<mode>): Widening move intermediate step for
vectorizing without -mvectorize-with-neon-quad.
(neon_vec_<US>mult_<mode>): Widening multiply intermediate step
for vectorizing without -mvectorize-with-neon-quad.
* config/arm/predicates.md (vect_par_constant_high): Check for
high-half lanes of a vector.
(vect_par_constant_low): Check for low-half lanes of a vector.

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

13 years agoDaily bump.
gccadmin [Wed, 25 Aug 2010 00:17:23 +0000 (00:17 +0000)]
Daily bump.

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

13 years agoSpeed-up ifcvt_memrefs_wont_trap caching previous results.
spop [Tue, 24 Aug 2010 23:36:04 +0000 (23:36 +0000)]
Speed-up ifcvt_memrefs_wont_trap caching previous results.

This patch speeds up the ifcvt_memrefs_wont_trap computation by
caching the results of the computations in the data references ->aux
fields.

* tree-if-conv.c (struct ifc_dr): New.
(IFC_DR): New.
(DR_WRITTEN_AT_LEAST_ONCE): New.
(DR_RW_UNCONDITIONALLY): New.
(memref_read_or_written_unconditionally): Use the cached values
when possible.
(write_memref_written_at_least_once): Same.
(if_convertible_loop_p): Initialize and free DR->aux fields.

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

13 years agoDo not check whether memory references accessed in every iteration trap.
spop [Tue, 24 Aug 2010 23:35:56 +0000 (23:35 +0000)]
Do not check whether memory references accessed in every iteration trap.

This patch relaxes the checks from gimple_could_trap_p in order to
allow the flag_loop_if_convert_stores to if-convert more loops
in which it is possible to prove that:

- the accesses to an array in a loop do not trap (more than the
  original non-if-converted loop).  This is true when the memory
  accesses are executed at every iteration of the if-converted loop.

- the writes to memory occur on arrays that are not const qualified.
  This is true when there exists at least one unconditional write to
  the array in the analyzed program.  In this patch this analysis is
  limited to the loop to be if-converted.

* gimple.c (gimple_could_trap_p_1): Not static anymore.
Pass an extra bool parameter include_mem.
(gimple_could_trap_p): Adjust call to gimple_could_trap_p_1.
(gimple_assign_rhs_could_trap_p): Same.
* gimple.h (gimple_could_trap_p_1): Declared.
* tree-data-ref.h (same_data_refs_base_objects): New.
(same_data_refs): New.
* tree-if-conv.c (memrefs_read_or_written_unconditionally): New.
(write_memrefs_written_at_least_once): New.
(ifcvt_memrefs_wont_trap): New.
(operations_could_trap): New.
(ifcvt_could_trap_p): New.
(if_convertible_gimple_assign_stmt_p): Call ifcvt_could_trap_p.
Gets a vector of data refs.
(if_convertible_stmt_p): Same.
(if_convertible_loop_p_1): New.
(if_convertible_loop_p): Call if_convertible_loop_p_1.

* gcc.dg/tree-ssa/ifc-5.c: New.

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

13 years agoAdd flag -ftree-loop-if-convert-stores.
spop [Tue, 24 Aug 2010 23:35:48 +0000 (23:35 +0000)]
Add flag -ftree-loop-if-convert-stores.

This patch adds a flag that controls the replacement of the memory
writes that are in predicated basic blocks with a full write:

for (...)
  if (cond)
    A[i] = foo

is replaced with:

for (...)
  A[i] = cond ? foo : A[i]

In order to do this, we have to call gimple_could_trap_p instead of
gimple_assign_rhs_could_trap_p, as we have to also check that the LHS
of assign stmts does not trap.

* common.opt (ftree-loop-if-convert-stores): New flag.
* doc/invoke.texi (ftree-loop-if-convert-stores): Documented.
* tree-if-conv.c (ifc_temp_var): Pass an extra parameter GSI.  Insert
the created statement before GSI.
(if_convertible_phi_p): Allow virtual phi nodes when
flag_loop_if_convert_stores is set.
(if_convertible_gimple_assign_stmt_p): Allow memory reads and writes
Do not handle types that do not match is_gimple_reg_type.
Remove loop and bb parameters.  Call gimple_could_trap_p instead of
when flag_loop_if_convert_stores is set, as LHS can contain
memory refs.
(if_convertible_stmt_p): Remove loop and bb parameters.  Update calls
to if_convertible_gimple_assign_stmt_p.
(if_convertible_loop_p): Update call to if_convertible_stmt_p.
(replace_phi_with_cond_gimple_assign_stmt): Renamed
predicate_scalar_phi.  Do not handle virtual phi nodes.
(ifconvert_phi_nodes): Renamed predicate_all_scalar_phis.
Call predicate_scalar_phi.
(insert_gimplified_predicates): Insert the gimplified predicate of a BB
just after the labels for flag_loop_if_convert_stores, otherwise
insert the predicate in the end of the BB.
(predicate_mem_writes): New.
(combine_blocks): Call predicate_all_scalar_phis.  When
flag_loop_if_convert_stores is set, call predicate_mem_writes.
(tree_if_conversion): Call mark_sym_for_renaming when
flag_loop_if_convert_stores is set.
(main_tree_if_conversion): Return TODO_update_ssa_only_virtuals when
flag_loop_if_convert_stores is set.

* gcc.dg/tree-ssa/ifc-4.c: New.
* gcc.dg/tree-ssa/ifc-7.c: New.

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

13 years ago * MAINTAINERS (OS Port Maintainers): Remove myself from windows
dannysmith [Tue, 24 Aug 2010 22:41:34 +0000 (22:41 +0000)]
* MAINTAINERS (OS Port Maintainers): Remove myself from windows
ports

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

13 years ago PR bootstrap/45376
rth [Tue, 24 Aug 2010 21:08:05 +0000 (21:08 +0000)]
    PR bootstrap/45376
        * configure.ac (HAVE_SSE4): New check.
        * configure, config.in: Rebuild.
        * lex.c (search_line_sse42): Omit if !HAVE_SSE4.

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

13 years ago * config/pa/pa.c (hppa_register_move_cost, pa_libcall_value,
aesok [Tue, 24 Aug 2010 18:52:08 +0000 (18:52 +0000)]
* config/pa/pa.c (hppa_register_move_cost, pa_libcall_value,
pa_function_value_regno_p, pa_print_operand_punct_valid_p): New.
(pa_function_value): Make static.
(override_options): Rename to...
(pa_option_override): ...this. Make static.
(TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_REGISTER_MOVE_COST,
TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P,
TARGET_OPTION_OVERRIDE): Define.
* config/pa/pa.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P,
LIBCALL_VALUE, REGISTER_MOVE_COST, PRINT_OPERAND_PUNCT_VALID_P):
Remove.
* config/pa/pa-protos.h (override_options): Remove.

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

13 years ago * lex.c [__sun__ && __svr4__]: Disable init_vectorized_lexer
ro [Tue, 24 Aug 2010 17:23:35 +0000 (17:23 +0000)]
* lex.c [__sun__ && __svr4__]: Disable init_vectorized_lexer
etc. on Solaris 2/x86.

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

13 years ago2010-08-24 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 24 Aug 2010 13:25:25 +0000 (13:25 +0000)]
2010-08-24  Richard Guenther  <rguenther@suse.de>

PR middle-end/45379
* tree-ssa-address.c (create_mem_ref_raw): Drop to MEM_REF
if addr->index is NULL or zero.
* tree-ssa-alias.c (indirect_refs_may_alias_p): Handle
TARGET_MEM_REF more properly.
(indirect_ref_may_alias_decl_p): Likewise.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Keep TARGET_MEM_REFs.
* alias.c (ao_ref_from_mem): Handle TARGET_MEM_REF more
properly.

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

13 years agocheck loongson targets in vect.exp
xmj [Tue, 24 Aug 2010 03:22:07 +0000 (03:22 +0000)]
check loongson targets in vect.exp

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

13 years agoDaily bump.
gccadmin [Tue, 24 Aug 2010 00:17:23 +0000 (00:17 +0000)]
Daily bump.

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

13 years ago * config/m32c/m32c.c (m32c_function_value_regno_p): Make static.
aesok [Mon, 23 Aug 2010 19:34:15 +0000 (19:34 +0000)]
* config/m32c/m32c.c (m32c_function_value_regno_p): Make static.
(m32c_override_options): Rename to...
(m32c_option_override): ...this. Make static.
(TARGET_FUNCTION_VALUE_REGNO_P, TARGET_OPTION_OVERRIDE): Define.
* config/m32c/m32c.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P):
Remove.
* config/m32c/m32c-protos.h (m32c_override_options,
m32c_function_value_regno_p): Remove.

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

13 years ago * gcc_release (snapshot_print): Also include an sha1 hash for
gerald [Mon, 23 Aug 2010 18:52:06 +0000 (18:52 +0000)]
* gcc_release (snapshot_print): Also include an sha1 hash for
every tarball.  Slightly tweak indentation.

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

13 years agoFix a typo in the previous commit
cfang [Mon, 23 Aug 2010 18:50:22 +0000 (18:50 +0000)]
Fix a typo in the previous commit

* tree-ssa-loop-prefetch.c (gather_memory_references_ref): Fix a
typo ("could not taken" --> "could not be taken")

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

13 years ago2010-08-23 Mikael Morin <mikael@gcc.gnu.org>
mikael [Mon, 23 Aug 2010 18:42:21 +0000 (18:42 +0000)]
2010-08-23  Mikael Morin  <mikael@gcc.gnu.org>

PR fortran/45380
* frontend-passes.c (optimize_equality): Don't optimize array equality

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

13 years ago2010-08-23 Kai Tietz <kai.tietz@onevision.com>
ktietz [Mon, 23 Aug 2010 18:08:47 +0000 (18:08 +0000)]
2010-08-23  Kai Tietz  <kai.tietz@onevision.com>

        * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost):
        Pre-initialize innerloop_iters to one.

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

13 years agopr45260 Don't generate prefetch if the address of base could not be taken.
cfang [Mon, 23 Aug 2010 17:45:08 +0000 (17:45 +0000)]
pr45260 Don't generate prefetch if the address of base could not be taken.

* tree-flow.h (may_be_nonaddressable_p): New definition. Make the
existing static function global.

*tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): This function
is changed to global.

*tree-ssa-loop-prefetch.c (gather_memory_references_ref): Call
may_be_nonaddressable_p on base, and don't collect this reference
if the address of the base could not be taken.

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

13 years agoAdd missing file
meissner [Mon, 23 Aug 2010 17:31:56 +0000 (17:31 +0000)]
Add missing file

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

13 years agoUpdate to use -mveclibabi=mass instead of -mmass
meissner [Mon, 23 Aug 2010 16:47:01 +0000 (16:47 +0000)]
Update to use -mveclibabi=mass instead of -mmass

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

13 years agoAdd -mveclibabi=mass
meissner [Mon, 23 Aug 2010 16:41:10 +0000 (16:41 +0000)]
Add -mveclibabi=mass

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

13 years ago2010-08-23 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 23 Aug 2010 12:39:20 +0000 (12:39 +0000)]
2010-08-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45323
        * io/write.c (nml_write_obj, namelist_write): Cast argument
        of toupper to int.

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

13 years ago2010-08-23 Janus Weil <janus@gcc.gnu.org>
janus [Mon, 23 Aug 2010 12:26:42 +0000 (12:26 +0000)]
2010-08-23  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45366
* resolve.c (resolve_procedure_interface): New function split off from
'resolve_symbol'.
(resolve_formal_arglist): Call it here ...
(resolve_symbol): ... and here.

2010-08-23  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45366
* gfortran.dg/proc_ptr_29.f90: New.

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

13 years agoDaily bump.
gccadmin [Mon, 23 Aug 2010 00:17:17 +0000 (00:17 +0000)]
Daily bump.

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

13 years ago PR boehm-gc/34544
danglin [Sun, 22 Aug 2010 16:23:38 +0000 (16:23 +0000)]
PR boehm-gc/34544
* gthr-posix.h (__gthread_active_init): Delete.
(__gthread_active_p): Do activity check here.
Don't include errno.h on hppa-hpux.  Update comment.
* gthr-posix95.h (__gthread_active_init): Delete.
(__gthread_active_p): Do activity check here.
Don't include errno.h on hppa-hpux.  Update comment.
* config.gcc (hppa[12]*-*-hpux11*): Define extra_parts.
* config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only
add -lpthread when -mt or -pthread is specified.
* config/pa/pa-hpux11.h (LIB_SPEC): likewise.
(LINK_GCC_C_SEQUENCE_SPEC): Define.
* config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define.
(stublib.c, pthread_default_stacksize_np-stub.o,
pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o,
$(T)libgcc_stub.a): Add methods.
* config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs.
(stublib.c, pthread_default_stacksize_np-stub.o,
pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods.
* config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
pthread_mutex_unlock): New stubs.

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

13 years ago2010-08-22 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 22 Aug 2010 14:05:26 +0000 (14:05 +0000)]
2010-08-22  Tobias Burnus  <burnus@net-b.de>
            Dominique d'Humieres <dominiq@lps.ens.fr>

        PR fortran/45367
        * gfortran.dg/bessel_6.f90: Further reduce required accuracy.

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

13 years ago * Makefile.in (gccspec.o, cppspec.o): Update dependencies.
jsm28 [Sun, 22 Aug 2010 12:19:01 +0000 (12:19 +0000)]
* Makefile.in (gccspec.o, cppspec.o): Update dependencies.
* common.opt (L, nodefaultlibs, nostdlib, pg, static): New
options.
* config/avr/avr.h (LIBSTDCXX): Remove initial "-l".
* config/freebsd.h (MATH_LIBRARY_PROFILE): Remove initial "-l".
* config/i386/djgpp.h (LIBSTDCXX): Remove initial "-l".
* config/rs6000/aix.h (LIBSTDCXX_STATIC): Remove initial "-l".
* config/s390/tpf.h (MATH_LIBRARY, LIBSTDCXX): Remove initial
"-l".
* cppspec.c: Include opts.h.
(lang_specific_driver): Use cl_decoded_option structures.
* doc/tm.texi.in (MATH_LIBRARY): Update documentation.
* doc/tm.texi: Regenerate.
* gcc.c (translate_options): Translate -d to -foutput-class-dir=.
(driver_handle_option): Allow driver options needing no special
processing.
(process_command): Decode options before call to
lang_specific_driver.  Pass decoded options to
lang_specific_driver.
* gcc.h (lang_specific_driver): Update prototype.
* gccspec.c: Include opts.h.
(lang_specific_driver): Use cl_decoded_option structures.
* opts-common.c (option_ok_for_language, generate_option,
generate_option_input_file): New.
(decode_cmdline_option): Use option_ok_for_language.
(decode_cmdline_options_to_array): Use generate_option_input_file.
(handle_generated_option): Use generate_option.
* opts.h (generate_option, generate_option_input_file): Declare.

cp:
* Make-lang.in (g++spec.o): Update dependencies.
* g++spec.c: Include opts.h
(MATH_LIBRARY, LIBSTDCXX): Remove initial "-l".
(lang_specific_driver): Use cl_decoded_option structures.

fortran:
* Make-lang.in (gfortranspec.o): Update dependencies.
* gfortranspec.c: Include coretypes.h before gcc.h.  Include
opts.h.
(MATH_LIBRARY, FORTRAN_LIBRARY): Remove initial "-l".
(ADD_ARG_LIBGFORTRAN, Option, lookup_option): Remove.
(g77_xargc): Make unsigned.
(g77_xargv): Change to g77_x_decoded_options.
(g77_newargc): Make unsigned.
(g77_newargv): Change to g77_new_decoded_options.
(strings_same, options_same): New.
(append_arg): Use cl_decoded_option structures.
(append_option): New.
(add_arg_libgfortran): New.
(lang_specific_driver): Use cl_decoded_option structures.

java:
* Make-lang.in (jvspec.o): Update dependencies.
* jvspec.c: Include opts.h.
(PARAM_ARG): Remove.
(find_spec_file): Do not add leading -specs=.
(lang_specific_driver): Use cl_decoded_option structures.
* lang.opt (C, CLASSPATH, D, bootclasspath, classpath, encoding,
extdirs, fmain=, s-bc-abi): New options.

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

13 years ago2010-08-22 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 22 Aug 2010 10:24:49 +0000 (10:24 +0000)]
2010-08-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45367
        * gfortran.dg/bessel_6.f90: Fix numeric tolerence.

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

13 years agoReally commit the following change:
burnus [Sun, 22 Aug 2010 10:09:34 +0000 (10:09 +0000)]
Really commit the following change:

2010-08-22  Tobias Burnus  <burnus@net-b.de>
            Dominique d'Humieres <dominiq@lps.ens.fr>

        PR fortran/45367
        * gfortran.dg/bessel_6.f90: Increase numeric tolerence.

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

13 years ago * config/mips/mips.c (mips_override_options): Rename to...
aesok [Sun, 22 Aug 2010 09:33:45 +0000 (09:33 +0000)]
* config/mips/mips.c (mips_override_options): Rename to...
(mips_option_override): ...this. Make static.
(TARGET_OPTION_OVERRIDE): Define.
(mips_in_small_data_p): Update comment.
* config/mips/mips.h (OVERRIDE_OPTIONS): Remove.
(FIXED_REGISTERS): Update comment.
* config/mips/mips-protos.h (mips_override_options): Remove.

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

13 years ago2010-08-22 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 22 Aug 2010 08:39:48 +0000 (08:39 +0000)]
2010-08-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        * gfortran.dg/bessel_7.f90: Disable accidently enabled debug
        output.

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

13 years ago2010-08-22 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 22 Aug 2010 08:34:14 +0000 (08:34 +0000)]
2010-08-22  Tobias Burnus  <burnus@net-b.de>
            Dominique d'Humieres <dominiq@lps.ens.fr>

        PR fortran/45367
        PR fortran/36158
        * gfortran.dg/bessel_6.f90: Increase numeric tolerence.
        * gfortran.dg/bessel_7.f90: Increase numeric tolerence.

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

13 years agoDaily bump.
gccadmin [Sun, 22 Aug 2010 00:17:35 +0000 (00:17 +0000)]
Daily bump.

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

13 years agoFix formatting of recently added ChangeLog entry.
hainque [Sat, 21 Aug 2010 20:54:18 +0000 (20:54 +0000)]
Fix formatting of recently added ChangeLog entry.

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

13 years ago * config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__.
hainque [Sat, 21 Aug 2010 20:53:16 +0000 (20:53 +0000)]
    * config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__.

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

13 years ago * config/rs6000/vxworks.h: (PREFERRED_STACK_BOUNDARY,
hainque [Sat, 21 Aug 2010 20:48:34 +0000 (20:48 +0000)]
    * config/rs6000/vxworks.h:  (PREFERRED_STACK_BOUNDARY,
        ABI_STACK_BOUNDARY): Ensure STACK_BOUNDARY is honored despite EABI.

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

13 years agoVectorize fast path of _cpp_clean_line.
rth [Sat, 21 Aug 2010 19:05:40 +0000 (19:05 +0000)]
Vectorize fast path of _cpp_clean_line.

* configure.ac (AC_C_BIGENDIAN, AC_TYPE_UINTPTR_T): New tests.
(ssize_t): Check via AC_TYPE_SSIZE_T instead of AC_CHECK_TYPE.
(ptrdiff_t): Check via AC_CHECK_TYPE.
* config.in, configure: Rebuild.
* system.h: Include stdint.h, if available.
* lex.c (WORDS_BIGENDIAN): Provide default.
(acc_char_mask_misalign, acc_char_replicate, acc_char_cmp,
acc_char_index, search_line_acc_char, repl_chars, search_line_mmx,
search_line_sse2, search_line_sse42, init_vectorized_lexer,
search_line_fast): New.
(_cpp_clean_line): Use search_line_fast.  Restructure the fast
loop to make it clear when we're leaving the loop.  Stay in the
fast loop for non-trigraph '?'.

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

13 years ago2010-08-21 Janus Weil <janus@gcc.gnu.org>
janus [Sat, 21 Aug 2010 14:50:57 +0000 (14:50 +0000)]
2010-08-21  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45271
PR fortran/45290
* class.c (add_proc_comp): Add static initializer for PPCs.
(add_procs_to_declared_vtab): Modified comment.
* module.c (mio_component): Add argument 'vtype'. Don't read/write the
initializer if the component is part of a vtype.
(mio_component_list): Add argument 'vtype', pass it on to
'mio_component'.
(mio_symbol): Modified call to 'mio_component_list'.
* trans.h (gfc_conv_initializer): Modified prototype.
(gfc_trans_assign_vtab_procs): Removed.
* trans-common.c (create_common): Modified call to
'gfc_conv_initializer'.
* trans-decl.c (gfc_get_symbol_decl,get_proc_pointer_decl,
gfc_emit_parameter_debug_info): Modified call to
'gfc_conv_initializer'.
(build_function_decl): Remove assertion.
* trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign):
Removed call to 'gfc_trans_assign_vtab_procs'.
(gfc_conv_initializer): Add argument 'procptr'.
(gfc_conv_structure): Modified call to 'gfc_conv_initializer'.
(gfc_trans_assign_vtab_procs): Removed.
* trans-stmt.c (gfc_trans_allocate): Removed call to
'gfc_trans_assign_vtab_procs'.

2010-08-21  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44863
PR fortran/45271
PR fortran/45290
* gfortran.dg/dynamic_dispatch_10.f03: New (PR 44863 comment #1).
* gfortran.dg/pointer_init_5.f90: New (PR 45290 comment #6).
* gfortran.dg/typebound_call_18.f03: New (PR 45271 comment #3).

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

13 years ago * tracebak.c: Fix typo in comment.
ebotcazou [Sat, 21 Aug 2010 13:25:33 +0000 (13:25 +0000)]
* tracebak.c: Fix typo in comment.

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

13 years ago * tree-pass.h (pass_ipa_cdtor_merge): New function.
hubicka [Sat, 21 Aug 2010 12:36:19 +0000 (12:36 +0000)]
* tree-pass.h (pass_ipa_cdtor_merge): New function.
* cgraphunit.c (static_ctors, static_dtors): Move to ipa.c; make
heap allocated.
(record_cdtor_fn): Move to ipa.c; do not test for
have_ctors_dtors.
(build_cdtor): Move to ipa.c; add code avoiding construction
when target have ctors/dtors and there is only one ctor/dtor at given
priority.
(compare_ctor, compare_dtor): Move to ipa.c; use DECL_UID to stabilize sort;
reverse order of constructors.
(cgraph_build_cdtor_fns):Move to ipa.c; rename to build_cdtor_fns.
(cgraph_finalize_function): Do not call record_cdtor_fn.
(cgraph_finalize_compilation_unit): Do not call cgraph_build_cdtor_fns.
(cgraph_build_static_cdtor): Move to ipa.c.
* ipa.c: Include target.h and tree-iterator.h.
(cgraph_build_static_cdtor, static_ctors, static_dtors,
record_cdtor_fn, build_cdtor, compare_ctor, compare_dtor,
build_cdtor_fns, ipa_cdtor_merge, gate_ipa_cdtor_merge,
pass_ipa_cdtor_merge): New.
* passes.c (init_optimization_passes): Enqueue pass_ipa_cdtor_merge.
* ipa-prop.c (update_indirect_edges_after_inlining): Avoid out of bounds access.

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

13 years agoFix previous commit.
hubicka [Sat, 21 Aug 2010 12:24:41 +0000 (12:24 +0000)]
Fix previous commit.

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

13 years agoFix misquoting in stdint.m4.
rwild [Sat, 21 Aug 2010 12:18:02 +0000 (12:18 +0000)]
Fix misquoting in stdint.m4.

config/:
PR target/45084
* stdint.m4 (GCC_HEADER_STDINT): Use m4 quotes for arguments
of AC_MSG_ERROR.

libdecnumber/:
* configure: Regenerate.

libgfortran/:
* configure: Regenerate.

libgomp/:
* configure: Regenerate.

libstdc++-v3/:
* configure: Regenerate.

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

13 years ago2010-08-21 Tobias Burnus <burnus@net-b.de>
burnus [Sat, 21 Aug 2010 10:12:53 +0000 (10:12 +0000)]
2010-08-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        PR fortran/33197
        * intrinsic.c (add_sym): Init value attribute.
        (set_attr_value): New function.
        (add_functions) Use it and add JN/YN resolvers.
        * symbol.c (gfc_copy_formal_args_intr): Copy value attr.
        * intrinsic.h (gfc_resolve_bessel_n2): New prototype.
        * gfortran.h (gfc_intrinsic_arg): Add value attribute.
        * iresolve.c (gfc_resolve_bessel_n2): New function.
        * trans-intrinsic.c (gfc_get_symbol_for_expr): Create
        formal arg list.
        (gfc_conv_intrinsic_function,gfc_is_intrinsic_libcall):
        Add GFC_ISYM_JN2/GFC_ISYM_YN2 as case value.
        * simplify.c (): For YN set to -INF if previous values
        was -INF.
        * trans-expr.c (gfc_conv_procedure_call): Don't crash
        if sym->as is NULL.
        * iresolve.c (gfc_resolve_extends_type_of): Set the
        type of the dummy argument to the one of the actual.

2010-08-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        PR fortran/33197
        * m4/bessel.m4: Implement bessel_jn and bessel_yn.
        * gfortran.map: Add the generated bessel_jn_r{4,8,10,16}
        and bessel_yn_r{4,8,10,16}.
        * Makefile.am: Add bessel.m4.
        * Makefile.in: Regenerated.
        * generated/bessel_r4.c: Generated.
        * generated/bessel_r16.c: Generated.
        * generated/bessel_r8.c: Generated.
        * generated/bessel_r10.c: Generated.

2010-08-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        PR fortran/33197
        * gfortran.dg/bessel_6.f90: New.
        * gfortran.dg/bessel_7.f90: New.

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

13 years ago PR c++/45307
hubicka [Sat, 21 Aug 2010 09:46:15 +0000 (09:46 +0000)]
PR c++/45307
PR c++/17736
* cgraph.h (cgraph_only_called_directly_p,
cgraph_can_remove_if_no_direct_calls_and_refs_p): Handle
static cdtors.
* cgraphunit.c (cgraph_decide_is_function_needed): Static cdtors
are not needed.
(cgraph_finalize_function): Static cdtors are reachable.
(cgraph_mark_functions_to_output): Use cgraph_only_called_directly_p.

* gcc.dg/ipa/ctor-empty-1.c: Add testcase.
* g++.dg/tree-ssa/empty-2.C: Check that constructor got optimized out.

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

13 years ago * lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of flag_wpa.
hubicka [Sat, 21 Aug 2010 08:13:27 +0000 (08:13 +0000)]
* lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of flag_wpa.
* lto-streamer-out.c (lto_output): Likewise.
* passes.c (ipa_write_optimization_summaries): Initialize statement uids.

* lto.c (lto_1_to_1_map): Be prepared for node to have no file data.
(lto_wpa_write_files): Update comments.

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

13 years agoDaily bump.
gccadmin [Sat, 21 Aug 2010 00:16:55 +0000 (00:16 +0000)]
Daily bump.

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

13 years ago * pex-common.c (pex_read_err): Set stderr_pipe to -1 if a
macro [Fri, 20 Aug 2010 22:39:58 +0000 (22:39 +0000)]
* pex-common.c (pex_read_err): Set stderr_pipe to -1 if a
corresponding stream has been opened.
(pex_free): Close pipe file descriptors corresponding to child's
stdout and stderr before waiting.

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

13 years ago * tree.h (alias_diag_flags): New enum.
hainque [Fri, 20 Aug 2010 22:08:41 +0000 (22:08 +0000)]
    * tree.h (alias_diag_flags): New enum.
        (alias_pair): Add an 'emitted_diags' field.
        * varasm.c (finish_aliases_1): Honor and update
        * p->emitted_diags.
        (assemble_alias): Initialize emitted_diags of new pairs.

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

13 years ago * config/rs6000/aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
ebotcazou [Fri, 20 Aug 2010 21:22:16 +0000 (21:22 +0000)]
* config/rs6000/aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
* config/rs6000/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/rs6000/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
(STACK_CHECK_PROTECT): Define.
* config/rs6000/rs6000.c (rs6000_emit_probe_stack_range): New function.
(output_probe_stack_range): Likewise.
(rs6000_emit_prologue): Invoke rs6000_emit_probe_stack_range if static
builtin stack checking is enabled.
* config/rs6000/rs6000-protos.h (output_probe_stack_range): Declare.
* config/rs6000/rs6000.md (UNSPECV_PROBE_STACK_RANGE): New constant.
(probe_stack_range): New insn.

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

13 years agoCast to unsigned short/char first for _mm_extract_epi16/_mm_extract_epi8.
hjl [Fri, 20 Aug 2010 20:57:56 +0000 (20:57 +0000)]
Cast to unsigned short/char first for _mm_extract_epi16/_mm_extract_epi8.

gcc/

2010-08-20  H.J. Lu  <hongjiu.lu@intel.com>

PR target/45336
* config/i386/emmintrin.h (_mm_extract_epi16): Cast to unsigned
short first.

* config/i386/smmintrin.h (_mm_extract_epi8): Cast to unsigned
char first.

gcc/testsuite/

2010-08-20  H.J. Lu  <hongjiu.lu@intel.com>

PR target/45336
* gcc.target/i386/pr45336-1.c: New.
* gcc.target/i386/pr45336-2.c: Likewise.
* gcc.target/i386/pr45336-3.c: Likewise.
* gcc.target/i386/pr45336-4.c: Likewise.

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

13 years ago PR target/45336
jakub [Fri, 20 Aug 2010 20:54:25 +0000 (20:54 +0000)]
PR target/45336
* config/i386/sse.md (*sse4_1_pextrb): Add SWI48 mode iterator
to cover zero extension into 64-bit register.
(*sse2_pextrw): Likewise.
(*sse4_1_pextrd_zext): New insn.

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

13 years ago revert r163410, partially revert r163267.
iains [Fri, 20 Aug 2010 20:10:42 +0000 (20:10 +0000)]
revert r163410, partially revert r163267.
* config/rs6000/darwin.h (LIB_SPEC): Remove.
* config/darwin.h (REAL_LIBGCC_SPEC): Link lgcc for all
Darwin versions.

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

13 years ago PR testsuite/45361
uros [Fri, 20 Aug 2010 19:23:52 +0000 (19:23 +0000)]
PR testsuite/45361
* gcc.target/i386/volatile-2.c: Update scan strings to also
include (%rip) for the memory reference on x86_64.

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

13 years ago PR middle-end/44974
jakub [Fri, 20 Aug 2010 18:49:46 +0000 (18:49 +0000)]
PR middle-end/44974
* builtins.c (expand_builtin): Don't optimize away
calls to DECL_LOOPING_CONST_OR_PURE_P builtins.

* gcc.dg/pr44974.c: New test.

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

13 years ago * config/i386/i386.md (ashift RSP splitter): Remove splitter.
uros [Fri, 20 Aug 2010 18:40:56 +0000 (18:40 +0000)]
* config/i386/i386.md (ashift RSP splitter): Remove splitter.
(pro_epilogue_adjust_stack_di_2): Use "l" constraint for
alternative 1 of operand 2.

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

13 years ago * simplify-rtx.c (simplify_unary_operation_1): Optimize
jakub [Fri, 20 Aug 2010 18:08:10 +0000 (18:08 +0000)]
* simplify-rtx.c (simplify_unary_operation_1): Optimize
(sign_extend (zero_extend ()) and
({sign,zero}_extend (lshiftrt (ashift X (const_int I)) (const_int I))).

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

13 years ago PR rtl-optimization/45353
jakub [Fri, 20 Aug 2010 18:07:12 +0000 (18:07 +0000)]
PR rtl-optimization/45353
* sel-sched-ir.c (sel_bb_head): Return NULL even if next_nonnote_insn
after bb_note is a BARRIER.

* gcc.dg/pr45353.c: New test.

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

13 years ago * config/rs6000/darwin.h (LIB_SPEC): New. Provide save/restFP by
iains [Fri, 20 Aug 2010 16:12:14 +0000 (16:12 +0000)]
* config/rs6000/darwin.h (LIB_SPEC): New. Provide save/restFP by
linking libgcc.a.

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

13 years ago * tree-ssa-address.c (tree_mem_ref_addr): Convert offset to
jakub [Fri, 20 Aug 2010 15:56:14 +0000 (15:56 +0000)]
* tree-ssa-address.c (tree_mem_ref_addr): Convert offset to
sizetype.

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

13 years ago * lang.opt (MD, MMD): Use NoDriverArg instead of NoArgDriver.
jsm28 [Fri, 20 Aug 2010 15:27:29 +0000 (15:27 +0000)]
* lang.opt (MD, MMD): Use NoDriverArg instead of NoArgDriver.

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

13 years ago * ggc-common.c (ggc_mark_root_tab): New function, split out from...
froydnj [Fri, 20 Aug 2010 15:26:56 +0000 (15:26 +0000)]
* ggc-common.c (ggc_mark_root_tab): New function, split out from...
(ggc_mark_roots): ...here.

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

13 years ago * gfortranspec.c (lang_specific_driver): Refer to -lgfortran in
jsm28 [Fri, 20 Aug 2010 15:25:03 +0000 (15:25 +0000)]
* gfortranspec.c (lang_specific_driver): Refer to -lgfortran in
comment, not -lg2c.

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

13 years agoReplace has_analyzed_clone with has_analyzed_clone_p.
hjl [Fri, 20 Aug 2010 14:42:28 +0000 (14:42 +0000)]
Replace has_analyzed_clone with has_analyzed_clone_p.

2010-08-20  H.J. Lu  <hongjiu.lu@intel.com>

PR bootstrap/45357
* lto.c (lto_materialize_function): Replace has_analyzed_clone
with has_analyzed_clone_p.

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

13 years ago * lto.c (has_analyzed_clone_p): New function
hubicka [Fri, 20 Aug 2010 13:29:36 +0000 (13:29 +0000)]
* lto.c (has_analyzed_clone_p): New function
(lto_materialize_function): Use callgraph to determine if
body is needed.
(materialize_cgraph): Remove DECL_IS_BUILTIN check.

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

13 years agomissed from rest of commit
nathan [Fri, 20 Aug 2010 12:59:40 +0000 (12:59 +0000)]
missed from rest of commit
* gimplify.c (gimplify_modify_expr): When assigning to volatiles,
copy the src value and return a copy.
* doc/extend.texi (Volatiles): Move from C++ to C and expand.
(C++ Volatiles): Adjust to describe C++ semantics only.

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

13 years agogcc/
froydnj [Fri, 20 Aug 2010 12:48:59 +0000 (12:48 +0000)]
gcc/
* vec.h (FOR_EACH_VEC_ELT): Define.
* c-decl.c: Use it.
* cfgloop.c: Likewise.
* cfgloopmanip.c: Likewise.
* cgraph.c: Likewise.
* cgraphunit.c: Likewise.
* combine.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/mips/mips.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* dbxout.c: Likewise.
* df-scan.c: Likewise.
* dominance.c: Likewise.
* dse.c: Likewise.
* dwarf2out.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* function.c: Likewise.
* gcse.c: Likewise.
* genattr.c: Likewise.
* ggc-common.c: Likewise.
* gimplify.c: Likewise.
* graphite-blocking.c: Likewise.
* graphite-clast-to-gimple.c: Likewise.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* haifa-sched.c: Likewise.
* ifcvt.c: Likewise.
* implicit-zee.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-struct-reorg.c: Likewise.
* ipa.c: Likewise.
* ira-build.c: Likewise.
* ira-color.c: Likewise.
* ira-emit.c: Likewise.
* lambda-code.c: Likewise.
* loop-invariant.c: Likewise.
* loop-unroll.c: Likewise.
* lower-subreg.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-opts.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* lto-streamer.c: Likewise.
* lto-symtab.c: Likewise.
* matrix-reorg.c: Likewise.
* opts.c: Likewise.
* predict.c: Likewise.
* print-tree.c: Likewise.
* sdbout.c: Likewise.
* sel-sched-dump.c: Likewise.
* sel-sched-ir.c: Likewise.
* sel-sched.c: Likewise.
* sese.c: Likewise.
* stor-layout.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-chrec.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-emutls.c: Likewise.
* tree-inline.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-loop-linear.c: Likewise.
* tree-mudflap.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-parloops.c: Likewise.
* tree-predcom.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vrp.c: Likewise.
* tree.c: Likewise.
* value-prof.c: Likewise.
* var-tracking.c: Likewise.
* varasm.c: Likewise.
* vmsdbgout.c: Likewise.

gcc/ada/
* gcc-interface/decl.c: Use FOR_EACH_VEC_ELT.
* gcc-interface/trans.c: Likewise.
* gcc-interface/utils.c: Likewise.

gcc/c-family/
* c-common.c: Use FOR_EACH_VEC_ELT.
* c-gimplify.c: Likewise.
* c-pragma.c: Likewise.

gcc/cp/
* call.c: Use FOR_EACH_VEC_ELT.
* class.c: Likewise.
* decl.c: Likewise.
* decl2.c: Likewise.
* error.c: Likewise.
* except.c: Likewise.
* mangle.c: Likewise.
* method.c: Likewise.
* name-lookup.c: Likewise.
* parser.c: Likewise.
* pt.c: Likewise.
* repo.c: Likewise.
* semantics.c: Likewise.
* typeck2.c: Likewise.

gcc/fortran/
* trans-openmp.c: Use FOR_EACH_VEC_ELT.

gcc/java/
* class.c: Use FOR_EACH_VEC_ELT.
* expr.c: Likewise.
* jcf-parse.c: Likewise.
* resource.c: Likewise.

gcc/lto/
* lto.c: Use FOR_EACH_VEC_ELT.

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

13 years ago gcc/
nathan [Fri, 20 Aug 2010 12:22:11 +0000 (12:22 +0000)]
gcc/
* gimplify.c (gimplify_modify_expr): When assigning to volatiles,
copy the src value and return a copy.
* doc/extend.texi (Volatiles): Move from C++ to C and expand.
(C++ Volatiles): Adjust to describe C++ semantics only.

gcc/testsuite/
* gcc.target/i386/volatile-2.c: New.

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

13 years ago2010-08-20 Joseph Myers <joseph@codesourcery.com>
ams [Fri, 20 Aug 2010 11:14:38 +0000 (11:14 +0000)]
2010-08-20  Joseph Myers  <joseph@codesourcery.com>

gcc/
* doc/tm.texi.in (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Document to
be zero or nonzero.
* doc/tm.texi: Regenerate.
* defaults.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define.
* df-scan.c (df_get_exit_block_use_set), reginfo.c
(init_reg_sets_1), rtlanal.c (rtx_unstable_p, rtx_varies_p):
Handle new PIC_OFFSET_TABLE_REG_CALL_CLOBBERED semantics.
* config/ia64/ia64.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define
to 1.

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

13 years ago PR rtl-optimization/44691
abel [Fri, 20 Aug 2010 08:07:17 +0000 (08:07 +0000)]
    PR rtl-optimization/44691
        * gfortran.dg/pr44691.f: New test.

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

13 years ago * config/sparc/sparc.c (sparc_asm_function_epilogue): Don't output
hainque [Fri, 20 Aug 2010 08:03:41 +0000 (08:03 +0000)]
    * config/sparc/sparc.c (sparc_asm_function_epilogue): Don't output
        an extra nop past a sibling call at the very end.

        testsuite/
        * gcc.target/sparc/sibcall-dslot.c: New testcase.

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

13 years ago * testsuite/libmudflap.c++/pass41-frag.cxx (dg-prune-output):
uros [Fri, 20 Aug 2010 07:14:00 +0000 (07:14 +0000)]
* testsuite/libmudflap.c++/pass41-frag.cxx (dg-prune-output):
New dg directive.

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

13 years agoDaily bump.
gccadmin [Fri, 20 Aug 2010 00:17:15 +0000 (00:17 +0000)]
Daily bump.

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

13 years ago PR bootstrap/45350
bernds [Thu, 19 Aug 2010 23:34:07 +0000 (23:34 +0000)]
PR bootstrap/45350
* combine.c (try_combine): Initialize i1_is_used and i2_is_used.  Fix
a comment.

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

13 years ago2010-08-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Thu, 19 Aug 2010 20:28:09 +0000 (20:28 +0000)]
2010-08-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/45108
* io/list_read.c (namelist_read): If namelist reading fails, use
generate_error and then continue the read loop.

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

13 years ago * target.def (function_arg, function_incoming_arg): Remove const
froydnj [Thu, 19 Aug 2010 20:12:33 +0000 (20:12 +0000)]
* target.def (function_arg, function_incoming_arg): Remove const
qualifier on CUMULATIVE_ARGS parameter.
* targhooks.h (default_function_arg, default_function_incoming_arg):
Likewise.
* targhooks.c (default_function_arg, default_function_incoming_arg):
Likewise.
* config/i386/i386.c (ix86_function_arg): Likewise.

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

13 years ago PR target/45336
jakub [Thu, 19 Aug 2010 17:43:50 +0000 (17:43 +0000)]
PR target/45336
* simplify-rtx.c (simplify_unary_operation_1): Optimize nested
SIGN_EXTENDs or ZERO_EXTENDs.

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

13 years ago PR target/42172
bernds [Thu, 19 Aug 2010 17:31:57 +0000 (17:31 +0000)]
PR target/42172
* combine.c (combine_validate_cost): New arg I0.  All callers changed.
Take its cost into account if nonnull.
(insn_a_feeds_b): New static function.
(combine_instructions): Look for four-insn combinations.
(can_combine_p): New args PRED2, SUCC2.  All callers changed.  Take
them into account when computing all_adjacent and looking for other
uses.
(combinable_i3pat): New args I0DEST, I0_NOT_IN_SRC.  All callers
changed.  Treat them like I1DEST and I1_NOT_IN_SRC.
(try_combine): New arg I0.  Handle four-insn combinations.
(distribute_notes): New arg ELIM_I0.  All callers changed.  Treat it
like ELIM_I1.

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

13 years ago * call.c (reference_related_p): Check for error_mark_node.
jason [Thu, 19 Aug 2010 17:24:19 +0000 (17:24 +0000)]
* call.c (reference_related_p): Check for error_mark_node.
(add_function_candidate): Check it instead of
same_type_ignoring_top_level_qualifiers_p.

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

13 years ago PR c++/45315
jason [Thu, 19 Aug 2010 17:01:01 +0000 (17:01 +0000)]
PR c++/45315
* init.c (build_new_1): Don't use build_value_init in a template.
(build_value_init): Make sure we don't.

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

13 years ago PR c++/45307
jason [Thu, 19 Aug 2010 17:00:51 +0000 (17:00 +0000)]
PR c++/45307
* gimplify.c (gimplify_init_constructor): Just return GS_UNHANDLED
if ctor is empty.
(gimplify_modify_expr_rhs): Adjust.

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

13 years ago * except.c (pending_noexcept, pending_noexcept_checks): New.
jason [Thu, 19 Aug 2010 16:59:37 +0000 (16:59 +0000)]
* except.c (pending_noexcept, pending_noexcept_checks): New.
(perform_deferred_noexcept_checks): New.
(maybe_noexcept_warning): Split from...
(finish_noexcept_expr): ...here.  Adjust.
* decl2.c (cp_write_global_declarations): Call
perform_deferred_noexcept_checks.
* cp-tree.h: And declare it.

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

13 years ago * cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to
froydnj [Thu, 19 Aug 2010 16:51:39 +0000 (16:51 +0000)]
* cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to
bitmap_bit_p.
* config/bfin/bifn.c (bfin_discover_loop): Likewise.
* dominance.c (iterate_fix_dominators): Likewise.
* dse.c (set_usage_bits): Likewise.
(set_position_unneeded, record_store): Likewise.
* gimple-fold.c (get_maxval_strlen): Likewise.
* haifa-sched.c (fix_inter_tick, fix_recovery_deps): Likewise.
* ipa-inline.c (update_caller_keys): Likewise.
* ipa-split.c (verify_non_ssa_vars): Likewise.
* ipa-type-escape.c (mark_type, close_type_seen): Likewise.
(close_type_exposed_parameter, close_type_full_escape): Likewise.
(close_addressof_down): Likewise.
* ira-color.c (assign_hard_reg, push_allocno_to_stack): Likewise.
(setup_allocno_left_conflicts_size): Likewise.
(ira_reassign_conflict_allocnos): Likewise.
(ira_reassign_pseudos): Likewise.
* ira-emit.c (change_loop): Likewise.
* loop-invariant.c (mark_regno_live, mark_regno_death): Likewise.
* lto-streamer-out.c (write_symbol): Likewise.
* predict.c (expr_expected_value_1): Likewise.
* regstat.c (regstat_bb_compute_ri): Likewise.
* sel-sched.c (create_block_for_bookkeeping): Likewise.
(track_scheduled_insns_and_blocks, sel_sched_region_1): Likewise.
* stmt.c (expand_case): Likewise.
* tree-eh.c (emit_eh_dispatch): Likewise.
* tree-into-ssa.c (prune_unused_phi_nodes): Likewise.
* tree-loop-distribution.c (make_nodes_having_upstream_mem_writes):
Likewise.
(rdg_flag_vertex, rdg_flag_loop_exits): Likewise.
(rdg_build_components): Likewise.
* tree-object-size.c (collect_object_sizes_for): Likewise.
* tree-sra.c (convert_callers): Likewise.
* tree-ssa-coalesce.c (live_track_add_partition): Likewise.
* tree-ssa-live.c (mark_all_vars_used_1): Likewise.
* tree-ssa-pre.c (bitmap_set_replace_value): Likewise.

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

13 years ago2010-08-19 Daniel Kraft <d@domob.eu>
domob [Thu, 19 Aug 2010 16:02:30 +0000 (16:02 +0000)]
2010-08-19  Daniel Kraft  <d@domob.eu>

PR fortran/29785
PR fortran/45016
* trans.h (struct gfc_se): New flag `byref_noassign'.
* trans-array.h (gfc_conv_shift_descriptor_lbound): New method.
(gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods.
* expr.c (gfc_check_pointer_assign): Allow bounds and rank remapping
and check for compile-time errors with those.
* trans-decl.c (trans_associate_var): Use new routine
`gfc_conv_shift_descriptor_lbound' instead of doing it manually.
* trans-array.c (gfc_conv_shift_descriptor_lbound): New method.
(gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods.
(gfc_array_init_size): Use new `gfc_conv_array_extent_dim'.
(gfc_conv_expr_descriptor): Handle new flag `byref_noassign'.
* trans-expr.c (gfc_trans_pointer_assignment): Handle bounds and
rank remapping for assignment.

2010-08-19  Daniel Kraft  <d@domob.eu>

PR fortran/29785
PR fortran/45016
* gfortran.dg/pointer_assign_5.f90: Remove 'not implemented' error.
* gfortran.dg/pointer_remapping_1.f90: New test.
* gfortran.dg/pointer_remapping_2.f03: New test.
* gfortran.dg/pointer_remapping_3.f08: New test.
* gfortran.dg/pointer_remapping_4.f03: New test.
* gfortran.dg/pointer_remapping_5.f08: New test.
* gfortran.dg/pointer_remapping_6.f08: New test.

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

13 years ago2010-08-19 Uros Bizjak <ubizjak@gmail.com>
uros [Thu, 19 Aug 2010 15:55:01 +0000 (15:55 +0000)]
2010-08-19  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (*lea_1): Use P mode iterator.
(lea add splitter): Also handle DImode operands.
(DImode lea add splitter): Use x86_64_immediate_operand for operand 2
predicate.  Do not use ix86_lea_for_add_ok.
(zext DImode lea add splitter): Use ix86_lea_for_add_ok.
(lea ashift splitter): Also handle DImode operands.
(DImode lea ashift splitter): Remove splitter.

2010-08-19  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (*add<SWI:mode>3_cconly_overflow): Do not use
ix86_binary_operator_ok.

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

13 years agoAlso scan movb.
hjl [Thu, 19 Aug 2010 14:18:18 +0000 (14:18 +0000)]
Also scan movb.

2010-08-19  Uros Bizjak  <ubizjak@gmail.com>

PR testsuite/45324
* gcc.target/i386/volatile-bitfields-1.c: Also scan movb.

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

13 years ago2010-08-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
ramana [Thu, 19 Aug 2010 10:23:50 +0000 (10:23 +0000)]
2010-08-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* gcc.dg/vect/vect-1.c (foo): Fix last commit.

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

13 years ago PR rtl-optimization/44691
abel [Thu, 19 Aug 2010 10:03:39 +0000 (10:03 +0000)]
PR rtl-optimization/44691
* sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG
is not a register.

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

13 years agoFor Tejas Belagod
ramana [Thu, 19 Aug 2010 08:30:59 +0000 (08:30 +0000)]
For Tejas Belagod

2010-08-19  Tejas Belagod  <tejas.belagod@arm.com>

* gcc.dg/vect/vect-1.c (foo): Change inner loop index
variable.

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

13 years agoFor Ian Bolton <ian.bolton@arm.com>
ramana [Thu, 19 Aug 2010 08:27:59 +0000 (08:27 +0000)]
For Ian Bolton <ian.bolton@arm.com>

2010-08-19  Ian Bolton  <ian.bolton@arm.com>

PR target/45070
* gcc.c-torture/execute/pr45070.c: New.
* config/arm/arm.c (arm_output_epilogue): Ensure that return
 value of size 1-3 is handled correctly.

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

13 years agoFor Ian Bolton <ian.bolton@arm.com>
ramana [Thu, 19 Aug 2010 08:12:31 +0000 (08:12 +0000)]
For Ian Bolton <ian.bolton@arm.com>

* tree-switch-conversion.c (gen_inbound_check): Ensure that the
type for the conditional has wide enough range.

* testsuite/g++.dg/pr44328.C: New test.

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

13 years ago2010-08-19 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 19 Aug 2010 07:34:05 +0000 (07:34 +0000)]
2010-08-19  Tobias Burnus  <burnus@net-b.de>

        * intrinsic.texi (Bessel_jn, Bessel_yn): Fix typo.
        * * simplify.c (gfc_simplify_bessel_yn): Change recursive
        into recurrence.

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

13 years ago2010-08-19 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 19 Aug 2010 07:28:17 +0000 (07:28 +0000)]
2010-08-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        PR fortran/33197
        * check.c (gfc_check_bessel_n2): New function.
        * gfortran.h (gfc_isym_id): Add GFC_ISYM_JN2 and GFC_ISYM_YN2.
        * intrinsic.c (add_functions): Add transformational version
        of the Bessel_jn/yn intrinsics.
        * intrinsic.h (gfc_check_bessel_n2,gfc_simplify_bessel_jn2,
        gfc_simplify_bessel_yn2): New prototypes.
        * intrinsic.texi (Bessel_jn, Bessel_yn): Document
        transformational variant.
        * simplify.c (gfc_simplify_bessel_jn, gfc_simplify_bessel_yn):
        Check for negative order.
        (gfc_simplify_bessel_n2,gfc_simplify_bessel_jn2,
        gfc_simplify_bessel_yn2): New functions.

2010-08-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        PR fortran/33197
        * gfortran.dg/bessel_3.f90: New.
        * gfortran.dg/bessel_4.f90: New.
        * gfortran.dg/bessel_5.f90: New.

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

13 years ago2010-08-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Thu, 19 Aug 2010 02:35:45 +0000 (02:35 +0000)]
2010-08-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/41859
* resolve.c (resolve_transfer): Traverse operands and set expression
to be checked to a non EXPR_OP type.

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

13 years agoDaily bump.
gccadmin [Thu, 19 Aug 2010 00:16:55 +0000 (00:16 +0000)]
Daily bump.

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

13 years ago PR target/45327
uros [Wed, 18 Aug 2010 22:37:03 +0000 (22:37 +0000)]
PR target/45327
* config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use
ix86_binary_operator_ok.

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

13 years ago2010-08-19 Janus Weil <janus@gcc.gnu.org>
janus [Wed, 18 Aug 2010 22:32:22 +0000 (22:32 +0000)]
2010-08-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45290
* gfortran.h (gfc_add_save): Modified prototype.
* decl.c (add_init_expr_to_sym): Defer checking of proc pointer init.
(match_pointer_init): New function to match F08 pointer initialization.
(variable_decl,match_procedure_decl,match_ppc_decl): Use
'match_pointer_init'.
(match_attr_spec): Module variables are implicitly SAVE.
(gfc_match_save): Modified call to 'gfc_add_save'.
* expr.c (gfc_check_assign_symbol): Extra checks for pointer
initialization.
* primary.c (gfc_variable_attr): Handle SAVE attribute.
* resolve.c (resolve_structure_cons): Add new argument and do pointer
initialization checks.
(gfc_resolve_expr): Modified call to 'resolve_structure_cons'.
(resolve_values): Call 'resolve_structure_cons' directly with init arg.
(resolve_fl_variable): Handle SAVE_IMPLICIT.
* symbol.c (gfc_add_save,gfc_copy_attr,save_symbol): Handle
SAVE_IMPLICIT.
* trans-decl.c (gfc_create_module_variable): Module variables with
TARGET can already exist.
* trans-expr.c (gfc_conv_variable): Check for 'current_function_decl'.
(gfc_conv_initializer): Implement non-NULL pointer
initialization.

2010-08-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45290
* gfortran.dg/proc_ptr_comp_3.f90: Modified.
* gfortran.dg/pointer_init_2.f90: New.
* gfortran.dg/pointer_init_3.f90: New.
* gfortran.dg/pointer_init_4.f90: New.

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

13 years ago * tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5.
ebotcazou [Wed, 18 Aug 2010 21:07:29 +0000 (21:07 +0000)]
* tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5.

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

13 years ago * config/i386/i386.md (*add<mode>_1) <TYPE_LEA>: Split insn to lea.
uros [Wed, 18 Aug 2010 19:24:41 +0000 (19:24 +0000)]
* config/i386/i386.md (*add<mode>_1) <TYPE_LEA>: Split insn to lea.
<default>:  Swap operands 1 and 2 for alternative 2 to use existing
code to output insn mnemonic.  Fix comment.
(*addsi_1_zext): Add r-r-0 alternative 1.
<TYPE_LEA>: Split insn to lea.
<default>: Handle alternative 1.
(*addhi_1_lea): Add r-r-0 alternative 2.  Use cond RTX instead of
multi-level if_then_else RTX to set "type" attribute.
<default>: Handle alternative 2.
(*addqi_1_lea): Add q-q-0 alternative 2 and r-r-0 alternative 4.
Use cond RTX instead of multi-level if_then_else RTX to set
"type" attribute.
<default>: Handle alternatives 2 and 4.
(lea splitters): Update calls to ix86_lea_for_add_ok.

* config/i386/i386.c (ix86_lea_for_add_ok): Remove unused "code"
argument.
* config/i386/i386-protos.h (ix86_lea_for_add_ok): Update prototype.

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