Commit Graph

87803 Commits

Author SHA1 Message Date
Janus Weil
e62532afd7 re PR fortran/36361 (attribute declaration outside of INTERFACE body)
2008-06-02  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/36361
	* symbol.c (gfc_add_allocatable,gfc_add_dimension,
	gfc_add_explicit_interface): Added checks.
	* decl.c (attr_decl1): Added missing "var_locus".
	* parse.c (parse_interface): Checking for errors.


2008-06-02  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/36361
	* gfortran.dg/interface_24.f90: New.

From-SVN: r136296
2008-06-02 23:50:23 +02:00
Paolo Carlini
80d7287f40 re PR c++/36404 (ICE with invalid enum)
/cp
2008-06-02  Paolo Carlini  <paolo.carlini@oracle.com>

        PR c++/36404
        * pt.c (push_template_decl_real): Consistently return error_mark_node
	on error.

/testsuite
2008-06-02  Paolo Carlini  <paolo.carlini@oracle.com>

        PR c++/36404
        * g++.dg/template/crash79.C: New.
	* g++.dg/other/pr28114.C: Adjust.

From-SVN: r136295
2008-06-02 21:27:35 +00:00
Richard Sandiford
de9f679dbe mips.c (mips_emit_loadgp): Return early if there is nothing do to...
gcc/
	* config/mips/mips.c (mips_emit_loadgp): Return early if
	there is nothing do to, otherwise emit a blockage if
	!TARGET_EXPLICIT_RELOCS || crtl->profile.
	* config/mips/mips.md (loadgp_blockage): Use SI rather than DI.

From-SVN: r136294
2008-06-02 21:13:20 +00:00
Daniel Kraft
345235247a gfortran.h: New statement-type ST_FINAL for FINAL declarations.
2008-06-02  Daniel Kraft  <d@domob.eu>

        * gfortran.h:  New statement-type ST_FINAL for FINAL declarations.
        (struct gfc_symbol):  New member f2k_derived.
        (struct gfc_namespace):  New member finalizers, for use in the above
        mentioned f2k_derived namespace.
        (struct gfc_finalizer):  New type defined for finalizers linked list.
        * match.h (gfc_match_final_decl):  New function header.
        * decl.c (gfc_match_derived_decl):  Create f2k_derived namespace
        on constructed symbol node.
        (gfc_match_final_decl):  New function to match a FINAL declaration line.
        * parse.c (decode_statement):  match-call for keyword FINAL.
        (parse_derived):  Parse CONTAINS section and accept FINAL statements.
        * resolve.c (gfc_resolve_finalizers):  New function to resolve
        (that is in this case, check) a list of finalizer procedures.
        (resolve_fl_derived):  Call gfc_resolve_finalizers here.
        * symbol.c (gfc_get_namespace):  Initialize new finalizers to NULL.
        (gfc_free_namespace):  Free finalizers list.
        (gfc_new_symbol):  Initialize new f2k_derived to NULL.
        (gfc_free_symbol):  Free f2k_derived namespace.
        (gfc_free_finalizer):  New function to free a single gfc_finalizer node.
        (gfc_free_finalizer_list):  New function to free a linked list of
        gfc_finalizer nodes.

2008-06-02  Daniel Kraft  <d@domob.eu>

        * finalize_1.f08:  New test.
        * finalize_2.f03:  New test.
        * finalize_3.f03:  New test.
        * finalize_4.f03:  New test.
        * finalize_5.f03:  New test.
        * finalize_6.f90:  New test.
        * finalize_7.f03:  New test.
        * finalize_8.f03:  New test.

From-SVN: r136293
2008-06-02 22:03:03 +02:00
Ralf Wildenhues
236ec2d7ee configure.ac: Drop unneeded backslash ending up in config.in.
gcc/
	* configure.ac: Drop unneeded backslash ending up in config.in.
	* acinclude.m4: Likewise.
	* config.in: Regenerate.

From-SVN: r136292
2008-06-02 19:37:45 +00:00
Ralf Wildenhues
5649c0b9b3 Makefile.am (mostlyclean-local): Use libtool --mode=clean.
libjava/
	* Makefile.am (mostlyclean-local): Use libtool --mode=clean.
	* Makefile.in: Regenerate.

From-SVN: r136291
2008-06-02 19:23:06 +00:00
Daniel Franke
1e60697fe1 re PR fortran/36375 (ICE on -fpreprocessed)
2008-06-02  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/36375
        PR fortran/36377
        * cpp.c (gfc_cpp_init): Do not initialize builtins if
        processing already preprocessed input.
        (gfc_cpp_preprocess): Finalize output with newline.

From-SVN: r136283
2008-06-02 12:41:08 -04:00
Jan Hubicka
3250d72489 predict.c (maybe_hot_frequency_p): Break out of...
* predict.c (maybe_hot_frequency_p): Break out of...
	(maybe_hot_bb_p): ... here.
	(maybe_hot_edge_p): New.
	* tree-ssa-coalesce.c (coalesce_cost_edge): Compute cost based on edge.
	* basic-block.h (maybe_hot_edge_p): Declare.

From-SVN: r136282
2008-06-02 16:36:49 +00:00
Sandra Loosemore
79711d26db 9425.cc: Use dg-require-fileio.
2008-06-02  Sandra Loosemore  <sandra@codesourcery.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	libstdc++-v3/
	* testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Use
	dg-require-fileio.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
 

Co-Authored-By: Daniel Jacobowitz <dan@codesourcery.com>

From-SVN: r136280
2008-06-02 12:01:41 -04:00
Paolo Carlini
d2219f89bf vector.tcc (vector<>::_M_insert_aux): In C++0x mode, avoid a memory leak if the first __uninitialized_move_a throws.
2008-06-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/vector.tcc (vector<>::_M_insert_aux): In C++0x mode,
	avoid a memory leak if the first __uninitialized_move_a throws.
	(vector<>::_M_fill_insert): Do not always copy to __x_copy, similarly
	to _M_insert_aux.
	* testsuite/23_containers/vector/modifiers/moveable.cc: Adjust.
	* testsuite/23_containers/vector/resize/moveable.cc: Likewise.

From-SVN: r136277
2008-06-02 12:22:53 +00:00
Uros Bizjak
690028435c i386.md (*cmpfp_<mode>): Enable for optimize_size.
* config/i386/i386.md (*cmpfp_<mode>): Enable for optimize_size.
	(*cmpfp_<mode>_cc): Ditto.
	(*fp_jcc_8<mode>_387): Ditto.
	(*fop_<MODEF:mode>_2_i387): Ditto.
	(*fop_<MODEF:mode>_3_i387): Ditto.
	(*fop_xf_2_i387): Ditto.
	(*fop_xf_3_i387): Ditto.

From-SVN: r136276
2008-06-02 13:08:00 +02:00
Tomas Bily
5f9e56b3f2 tree-ssa-ifcombine.c (get_name_for_bit_test): Use CONVERT_EXPR_P.
* tree-ssa-ifcombine.c (get_name_for_bit_test): Use
        CONVERT_EXPR_P.

        * cp/typeck.c (is_bitfield_expr_with_lowered_type): Use
        CASE_CONVERT.
        (cp_build_unary_op): Likewise.
        (cp_build_indirect_ref): Use CONVERT_EXPR_P.
        (maybe_warn_about_returning_address_of_local): Likewise.

From-SVN: r136273
2008-06-02 11:45:27 +02:00
GCC Administrator
e47551edc6 Daily bump.
From-SVN: r136266
2008-06-02 00:17:08 +00:00
Richard Sandiford
d3bb1743bc ieee.exp: Load c-torture.exp.
gcc/testsuite/
	* gcc.c-torture/execute/ieee/ieee.exp: Load c-torture.exp.

From-SVN: r136254
2008-06-01 13:03:22 +00:00
Richard Sandiford
fa21a761a6 mips.c (mips_valid_offset_p): New function.
gcc/
	* config/mips/mips.c (mips_valid_offset_p): New function.
	(mips_valid_lo_sum_p): Likewise.
	(mips_classify_address): Use them.
	(mips_force_address): New function.
	(mips_legitimize_address): Use it.
	* config/mips/mips.md (MOVE128): New mode iterator.
	(movtf): Require TARGET_64BIT.  Remove empty strings.
	(*movtf_internal): Rename to...
	(*movtf): ...this and require !TARGET_MIPS16.  Use "m" instead
	of "R" and use {,fp}{load,store} attributes instead of "multi".
	Use a separate define_split.
	(*movtf_mips16): New pattern.

gcc/testsuite/
	* gcc.target/mips/fpr-moves-7.c: New test.
	* gcc.target/mips/fpr-moves-8.c: New test.

From-SVN: r136253
2008-06-01 13:01:23 +00:00
Richard Sandiford
2f7e2abbd1 mips-protos.h (mips_expand_before_return): Declare.
gcc/
	* config/mips/mips-protos.h (mips_expand_before_return): Declare.
	* config/mips/mips.c (mips_expand_before_return): New function.
	(mips_expand_epilogue): Call it.
	* config/mips/mips.md (return): Turn into a define_expand.
	(*return): New insn.

From-SVN: r136252
2008-06-01 10:01:51 +00:00
Richard Sandiford
c41c1387d3 rtl.h (emit_clobber, [...]): Declare.
gcc/
	* rtl.h (emit_clobber, gen_clobber, emit_use, gen_use): Declare.
	* emit-rtl.c (emit_clobber, gen_clobber, emit_use, gen_use): New
	functions.  Do not emit uses and clobbers of CONCATs; individually
	use and clobber their operands.
	* builtins.c (expand_builtin_setjmp_receiver): Use emit_clobber,
	gen_clobber, emit_use and gen_use.
	(expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
	(expand_builtin_return): Likewise.
	* cfgbuild.c (count_basic_blocks): Likewise.
	* cfgrtl.c (rtl_flow_call_edges_add): Likewise.
	* explow.c (emit_stack_restore): Likewise.
	* expmed.c (extract_bit_field_1): Likewise.
	* expr.c (convert_move, emit_move_complex_parts): Likewise.
	(emit_move_multi_word, store_constructor): Likewise.
	* function.c (do_clobber_return_reg, do_use_return_reg): Likewise.
	(thread_prologue_and_epilogue_insns): Likewise.
	* lower-subreg.c (resolve_simple_move): Likewise.
	* optabs.c (widen_operand, expand_binop): Likewise.
	(expand_doubleword_bswap, emit_no_conflict_block): Likewise.
	* reload.c (find_reloads): Likewise.
	* reload1.c (eliminate_regs_in_insn): Likewise.
	* stmt.c (expand_nl_goto_receiver): Likewise.
	* config/alpha/alpha.md (builtin_longjmp): Likewise.
	* config/arc/arc.md (*movdi_insn, *movdf_insn): Likewise.
	* config/arm/arm.c (arm_load_pic_register): Likewise.
	(thumb1_expand_epilogue, thumb_set_return_address): Likewise.
	* config/arm/arm.md (untyped_return): Likewise.
	* config/arm/linux-elf.h (PROFILE_HOOK): Likewise.
	* config/avr/avr.c (expand_prologue): Likewise.
	* config/bfin/bfin.c (do_unlink): Likewise.
	* config/bfin/bfin.md (<optab>di3, adddi3, subdi3): Likewise.
	* config/cris/cris.c (cris_expand_prologue): Likewise.
	* config/darwin.c (machopic_indirect_data_reference): Likewise.
	(machopic_legitimize_pic_address): Likewise.
	* config/frv/frv.c (frv_frame_access, frv_expand_epilogue): Likewise.
	(frv_ifcvt_modify_insn, frv_expand_mdpackh_builtin): Likewise.
	* config/i386/i386.c (ix86_expand_vector_move_misalign): Likewise.
	(ix86_expand_convert_uns_didf_sse): Likewise.
	(ix86_expand_vector_init_general): Likewise.
	* config/ia64/ia64.md (eh_epilogue): Likewise.
	* config/iq2000/iq2000.c (iq2000_expand_epilogue): Likewise.
	* config/m32c/m32c.c (m32c_emit_eh_epilogue): Likewise.
	* config/m32r/m32r.c (m32r_reload_lr): Likewise.
	(config/iq2000/iq2000.c): Likewise.
	* config/mips/mips.md (fixuns_truncdfsi2): Likewise.
	(fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
	(builtin_longjmp): Likewise.
	* config/mn10300/mn10300.md (call, call_value): Likewise.
	* config/pa/pa.md (nonlocal_goto, nonlocal_longjmp): Likewise.
	* config/pdp11/pdp11.md (abshi2): Likewise.
	* config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
	* config/s390/s390.c (s390_emit_prologue): Likewise.
	* config/s390/s390.md (movmem_long, setmem_long): Likewise.
	(cmpmem_long, extendsidi2, zero_extendsidi2, udivmoddi4): Likewise.
	(builtin_setjmp_receiver, restore_stack_nonlocal): Likewise.
	* config/sh/sh.c (prepare_move_operands): Likewise.
	(output_stack_adjust, sh_expand_epilogue): Likewise.
	(sh_set_return_address, sh_expand_t_scc): Likewise.
	* config/sparc/sparc.c (load_pic_register): Likewise.
	* config/sparc/sparc.md (untyped_return, nonlocal_goto): Likewise.
	* config/spu/spu.c (spu_expand_epilogue): Likewise.
	* config/v850/v850.c (expand_epilogue): Likewise.

From-SVN: r136251
2008-06-01 09:47:28 +00:00
Jerry DeLisle
d2d586f929 intrinsic.texi: Revert wrong commit.
2008-05-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* intrinsic.texi: Revert wrong commit.

From-SVN: r136249
2008-06-01 00:30:37 +00:00
GCC Administrator
e6a29ed8b1 Daily bump.
From-SVN: r136247
2008-06-01 00:17:13 +00:00
Paolo Carlini
f8af8c09ec re PR libstdc++/36338 (heap_sort effectively hangs with -D_GLIBCXX_DEBUG)
2008-05-31  Paolo Carlini  <paolo.carlini@oracle.com>
	    Chris Jefferson  <chris@bubblescope.net>

	PR libstdc++/36338
	* include/bits/stl_heap.h (sort_heap): Use __pop_heap directly.
	(pop_heap): Slightly tweak.

Co-Authored-By: Chris Jefferson <chris@bubblescope.net>

From-SVN: r136242
2008-05-31 23:01:09 +00:00
Steven G. Kargl
7306494a7e arith.c (gfc_arith_init_1): Remove now unused r and c variables.
2008-05-31  Steven G. Kargl  <kargls@comcast.net>

	* arith.c (gfc_arith_init_1): Remove now unused r and c variables.
	Cleanup numerical inquiry function initialization.
	(gfc_arith_done_1): Replace multiple mpfr_clear() invocations with
	a single mpfr_clears().
	(gfc_check_real_range): Re-arrange logic to eliminate multiple
	unnecessary branching and assignments.
	(gfc_arith_times): Use mpfr_clears() in preference to multiple
	mpfr_clear().
	(gfc_arith_divide): Ditto.
	(complex_reciprocal): Eliminate now unused variables a, re, im.
	Cleanup the mpfr abuse.  Use mpfr_clears() in preference to
	multiple mpfr_clear().
	(complex_pow): Fix comment whitespace.  Use mpfr_clears() in
	preference to multiple mpfr_clear().
	* simplify.c (gfc_simplify_and): Remove blank line.
	(gfc_simplify_atan2): Move error checking earlier to eliminate
	a now unnecessay gfc_free_expr().
	(gfc_simplify_bessel_j0): Remove unnecessary gfc_set_model_kind().
	(gfc_simplify_bessel_j1): Ditto.
	(gfc_simplify_bessel_jn): Ditto.
 	(gfc_simplify_bessel_y0): Ditto.
	(gfc_simplify_bessel_y1): Ditto.
	(gfc_simplify_bessel_yn): Ditto. 
	(only_convert_cmplx_boz): Eliminate unnecessary duplicate code, and
	combine nested if statement rational expressions.
	(gfc_simplify_cos): Use mpfr_clears() in preference to multiple
	mpfr_clear().
	(gfc_simplify_exp): Ditto.
	(gfc_simplify_fraction): Move gfc_set_model_kind() to after the
	special case of 0.  Use mpfr_clears() in preference to multiple
	mpfr_clear().
	(gfc_simplify_gamma): Eliminate unnecessary gfc_set_model_kind().
 	(gfc_simplify_lgamma): Ditto.
	(gfc_simplify_log10): Ditto.
	(gfc_simplify_log): Move gfc_set_model_kind () inside switch
	statement. Use mpfr_clears() in preference to multiple mpfr_clear().
	(gfc_simplify_mod):  Eliminate now unused variables quot, iquot,
	and term.  Simplify the mpfr magic.
	(gfc_simplify_modulo): Ditto.
	(gfc_simplify_nearest): Eliminate unnecessary gfc_set_model_kind().
	(gfc_simplify_scale): Use mpfr_clears() in preference to multiple
	mpfr_clear().
	(gfc_simplify_sin): Ditto
	(gfc_simplify_sqrt): Ditto
	(gfc_simplify_set_exponent):  Move gfc_set_model_kind() to after the
	special case of 0.  Use mpfr_clears() in preference to multiple
	mpfr_clear().

From-SVN: r136239
2008-05-31 19:19:48 +00:00
Anatoly Sokolov
794cb45e0b avr.md (UNSPECV_WRITE_SP_IRQ_ON): New constants.
* config/avr/avr.md (UNSPECV_WRITE_SP_IRQ_ON): New constants.
	(UNSPECV_WRITE_SP_IRQ_OFF): (Ditto.).
	(movhi_sp_r_irq_off, movhi_sp_r_irq_on): New insn.
	* config/avr/avr.c (expand_prologue, expand_epilogue): Use 
	movhi_sp_r_irq_off and movhi_sp_r_irq_on insns for writing to the 
	stack pointer register.
	(output_movhi): Remove code for interrupt specific writing to the 
	stack pointer register.

From-SVN: r136238
2008-05-31 19:01:16 +04:00
Richard Guenther
39f8a3b00c re PR tree-optimization/34244 (VRP/SCEV miscompiles Firefox)
2008-05-31  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/34244
	* fold-const.c (tree_expr_nonnegative_warnv_p): Do not ask VRP.
	(tree_expr_nonzero_warnv_p): Likewise.
	* tree-vrp.c (vrp_expr_computes_nonnegative): Call
	ssa_name_nonnegative_p.
	(vrp_expr_computes_nonzero): Call ssa_name_nonzero_p.
	(extract_range_from_unary_expr): Use vrp_expr_computes_nonzero,
	not tree_expr_nonzero_warnv_p.

	PR tree-optimization/36262
	Revert
	2007-11-29  Zdenek Dvorak  <ook@ucw.cz>

        PR tree-optimization/34244
        * tree-vrp.c (adjust_range_with_scev): Clear scev cache.
        (record_numbers_of_iterations): New function.
        (execute_vrp): Cache the numbers of iterations of loops.
        * tree-scalar-evolution.c (scev_reset_except_niters):
        New function.
        (scev_reset): Use scev_reset_except_niters.
        * tree-scalar-evolution.h (scev_reset_except_niters): Declare.

From-SVN: r136237
2008-05-31 13:01:10 +00:00
Bernd Schmidt
2643f14e44 bfin.h (TARGET_CPU_CPP_BUILTINS): Define __WORKAROUND_RETS when appropriate.
gcc/
	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
	__WORKAROUND_RETS when appropriate.

gcc/testsuite/
	* gcc.target/bfin/mcpu-default.c: Adjust for recent changes: default
	CPU has all workarounds, and no longer explicitly sets bf532 as CPU
	type.

	* gcc.target/bfin/mcpu-bf531.c: Adjust for WORKAROUND_RETS.
	* gcc.target/bfin/mcpu-bf532.c: Likewise.
	* gcc.target/bfin/mcpu-bf533.c: Likewise.
	* gcc.target/bfin/mcpu-bf534.c: Likewise.
	* gcc.target/bfin/mcpu-bf536.c: Likewise.
	* gcc.target/bfin/mcpu-bf537.c: Likewise.
	* gcc.target/bfin/mcpu-bf548.c: Likewise.
	* gcc.target/bfin/mcpu-bf549.c: Likewise.
	* gcc.target/bfin/mcpu-bf561.c: Likewise.
	* gcc.target/bfin/mcpu-bf523.c: Likewise.
	* gcc.target/bfin/mcpu-bf524.c: Likewise.
	* gcc.target/bfin/mcpu-bf526.c: Likewise.
	* gcc.target/bfin/mcpu-bf522.c: Likewise.
	* gcc.target/bfin/mcpu-bf525.c: Likewise.
	* gcc.target/bfin/mcpu-bf527.c: Likewise.
	* gcc.target/bfin/mcpu-bf538.c: Likewise.
	* gcc.target/bfin/mcpu-bf539.c: Likewise.
	* gcc.target/bfin/mcpu-bf542.c: Likewise.
	* gcc.target/bfin/mcpu-bf544.c: Likewise.
	* gcc.target/bfin/mcpu-default.c: Likewise.
	* gcc.target/bfin/workarounds-any.c: Likewise.
	* gcc.target/bfin/workarounds-none.c: Likewise.
	* gcc.target/bfin/workarounds-1.c: Likewise.
	* gcc.target/bfin/workarounds-2.c: Likewise.
	* gcc.target/bfin/workarounds-3.c: Likewise.
	* gcc.target/bfin/workarounds-4.c: Likewise.

From-SVN: r136236
2008-05-31 10:09:51 +00:00
Uros Bizjak
ca3a21650c i386.md (*fop_<mode>_comm_mixed): Macroize from *fop_sf_comm_mixed and *fop_df_comm_mixed insn patterns using...
* config/i386/i386.md (*fop_<mode>_comm_mixed): Macroize from
	*fop_sf_comm_mixed and *fop_df_comm_mixed insn patterns using MODEF
	mode iterator.
	(*fop_<mode>_comm_sse): Macroize from *fop_sf_comm_sse and
	*fop_df_comm_sse insn patterns using MODEF mode iterator.
	(*fop_<mode>_comm_i387): Macroize from *fop_sf_comm_i387 and
	*fop_df_comm_i387 insn patterns using MODEF mode iterator.
	(*fop_<mode>_1_mixed): Macroize from *fop_sf_1_mixed and
	*fop_df_1_mixed insn patterns using MODEF mode iterator.
	(*fop_<mode>_1_sse): Macroize from *fop_sf_1_sse and
	*fop_df_1_sse insn patterns using MODEF mode iterator.
	(*fop_<mode>_1_i387): Macroize from *fop_sf_1_i387 and
	*fop_df_1_i387 insn patterns using MODEF mode iterator.
	(*fop_<MODEF:mode>_2_i387): Macroize from *fop_sf_2<mode>_i387 and
	*fop_df_2<mode>_i387 insn patterns using MODEF mode iterator.
	(*fop_<MODEF:mode>_3_i387): Macroize from *fop_sf_3<mode>_i387 and
	*fop_df_3<mode>_i387 insn patterns using MODEF mode iterator.
	(*fop_xf_2_i387): Rename from *fop_xf_2<mode>_i387.
	(*fop_xf_3_i387): Rename from *fop_xf_3<mode>_i387.
	(*fop_xf_4_i387): Use <MODE> for mode attribute.
	(*fop_xf_5_i387): Ditto.
	(*fop_xf_6_i387): Ditto.

From-SVN: r136235
2008-05-31 11:48:21 +02:00
GCC Administrator
7841ba598b Daily bump.
From-SVN: r136229
2008-05-31 00:17:13 +00:00
Richard Guenther
acdfeac3e1 builtins.c (build_string_literal): Avoid generating a non-gimple_val result.
2008-05-30  Richard Guenther  <rguenther@suse.de>

	* builtins.c (build_string_literal): Avoid generating
	a non-gimple_val result.

From-SVN: r136222
2008-05-30 19:58:30 +00:00
DJ Delorie
97c3860d80 exec-tool.in: Use an environment variable (private) instead of a file (shared) as a semaphore...
* exec-tool.in: Use an environment variable (private) instead of a
file (shared) as a semaphore, so as to not break parallel builds.

From-SVN: r136221
2008-05-30 15:19:45 -04:00
Steven Bosscher
856905c263 optabs.c (maybe_encapsulate_block): Remove.
2008-05-30  Steven Bosscher  <stevenb.gcc@gmail.com>

	* optabs.c (maybe_encapsulate_block): Remove.
	(emit_libcall_block): Adjust accordingly.
	* optabs.h (maybe_encapsulate_block): Remove prototype.

	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address):
	Don't use maybe_encapsulate_block.

From-SVN: r136217
2008-05-30 18:28:48 +00:00
Steven Bosscher
0cdc04e8d5 rs6000.c (rs6000_legitimize_address, [...]): Make sure an rtx is a SYMBOL_REF before calling get_pool_constant.
2008-05-30  Steven Bosscher  <stevenb.gcc@gmail.com>

        * config/rs6000/rs6000.c (rs6000_legitimize_address,
        rs6000_legitimize_reload_address, rs6000_emit_move): Make sure an
        rtx is a SYMBOL_REF before calling get_pool_constant.

From-SVN: r136216
2008-05-30 14:21:31 -04:00
Julian Brown
3f6383d38b configure.ac (arm*-*-linux-gnueabi): Don't disable building of libobjc for ARM EABI Linux.
* configure.ac (arm*-*-linux-gnueabi): Don't disable building
    of libobjc for ARM EABI Linux.
    * configure: Regenerate.

    libobjc/
    * exception.c (__objc_exception_class): Initialise as constant
    array for ARM EABI. Change macro to static const for non-ARM EABI.
    (ObjcException): Add note about structure layout. Remove landingPad
    and handlerSwitchValue for ARM EABI.
    (get_ttype_entry): Add __ARM_EABI_UNWINDER__ version
    of function.
    (CONTINUE_UNWINDING): Define for ARM EABI/otherwise cases.
    (PERSONALITY_FUNCTION): Use ARM EABI-specific arguments, and add
    ARM EABI unwinding support.
    (objc_exception_throw): Use memcpy to initialise exception class.

From-SVN: r136215
2008-05-30 18:21:31 +00:00
Tom Tromey
d750887f5f re PR preprocessor/36320 (Required diagnosis of syntax error missed)
gcc/testsuite
	PR preprocessor/36320:
	* gcc.dg/cpp/pr36320.c: New file.
libcpp
	PR preprocessor/36320:
	* internal.h (_cpp_parse_expr): Update.
	* expr.c (_cpp_parse_expr): Add 'is_if' argument.  Update error
	messages.
	* directives.c (do_if): Update.
	(do_elif): Require expression if processing group.

From-SVN: r136209
2008-05-30 14:25:09 +00:00
Eric Botcazou
bfab40f8e5 * fold-const.c (fold_unary) <CASE_CONVERT>: Add ??? comment.
From-SVN: r136200
2008-05-30 07:35:17 +00:00
Danny Smith
c100de59eb cpplib.h (struct cpp_dir): Add new field, canonical_name.
libcpp/ChangeLog
	* include/cpplib.h (struct cpp_dir): Add new field, canonical_name.

gcc/ChangeLog

	* incpath.c: Use HOST_LACKS_INODE_NUMBERS conditional
	rather than OS names to choose INO_T_EQ definition.
	(DIRS_EQ) [!INO_T_EQ]: Don't worry about case in comparison.
	(add_path) [!INO_T_EQ]: Use lrealpath to fill canonical_name field.

From-SVN: r136196
2008-05-30 00:57:56 +00:00
GCC Administrator
6551374ace Daily bump.
From-SVN: r136194
2008-05-30 00:17:13 +00:00
Daniel Franke
c776a6d0e4 re PR target/36348 (f951 link failure on i686-apple-darwin9)
gcc:
2008-05-29  Daniel Franke  <franke.daniel@gmail.com>

        PR target/36348
        * config/darwin-f.c: New.
        * config/t-darwin: Added rule to build darwin-f.o.
        * config.gcc: Defined new variable, fortran_target_objs.
        (*-*-darwin*): Set fortran_target_objs.
        * Makefile.in: Defined new variable FORTRAN_TARGET_OBJS.
        * configure.ac: Substitute fortran_target_objs, set
        FORTRAN_TARGET_OBJS.
        * configure: Regenerated.

gcc/fortran:
2008-05-29  Daniel Franke  <franke.daniel@gmail.com>

        PR target/36348
        * Make-lang.in (F95_OBJS): Added dependency on FORTRAN_TARGET_OBJS.

From-SVN: r136178
2008-05-29 14:21:35 -04:00
Paolo Carlini
aecaad790a re PR c++/35243 (ICE with invalid initializer list in variadic template)
/cp
2008-05-29  Paolo Carlini  <paolo.carlini@oracle.com>

        PR c++/35243
        * pt.c (tsubst_initializer_list): Consistently check the tree
        returned by tsubst_pack_expansion for error_mark_node.

/testsuite
2008-05-29  Paolo Carlini  <paolo.carlini@oracle.com>

        PR c++/35243
        * g++.dg/cpp0x/vt-35243.C: New.

From-SVN: r136174
2008-05-29 16:44:29 +00:00
Francois-Xavier Coudert
f2f5443c88 scanner.c (load_line): Add first_char argument.
* scanner.c (load_line): Add first_char argument. Don't call ungetc.
	(gfc_read_orig_filename): Adjust call to load_line. Don't call
	ungetc.
	(load_file): Adjust call to load_line.

From-SVN: r136171
2008-05-29 15:24:46 +00:00
H.J. Lu
a20007a490 re PR middle-end/35771 (Call expander ignores type alignment)
gcc/

2008-05-29  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/35771
	* config/i386/i386.c (ix86_function_arg_boundary): Convert to
	canonical type if needed.

gcc/testsuite/

2008-05-29  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/35771
	* gcc.dg/torture/pr35771.h: New.
	* gcc.dg/torture/pr35771-1.c: Likewise.
	* gcc.dg/torture/pr35771-2.c: Likewise.
	* gcc.dg/torture/pr35771-3.c: Likewise.

From-SVN: r136159
2008-05-29 05:35:04 -07:00
Paolo Carlini
37f449aa3b bitset (bitset(const char*)): Implement DR 778 in debug-mode too.
2008-05-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/bitset (bitset(const char*)): Implement DR 778
	in debug-mode too.

	* include/bits/cpp_type_traits.h (__is_integer): In C++0x mode
	deal with char16_t and char32_t.

From-SVN: r136158
2008-05-29 11:42:08 +00:00
Eric Botcazou
4efa7ef955 tree-nested.c (check_for_nested_with_variably_modified): Fix typo.
* tree-nested.c (check_for_nested_with_variably_modified): Fix typo.

From-SVN: r136154
2008-05-29 11:33:17 +00:00
Richard Guenther
2f571334ff re PR tree-optimization/36343 (Wrong code due to bad TBAA pruning of points-to-sets and use in call clobbering)
2008-05-29  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/36343
	PR tree-optimization/36346
	PR tree-optimization/36347
	* tree-flow.h (clobber_what_p_points_to): Declare.
	* tree-ssa-structalias.c (set_uids_in_ptset): Whether the
	pointed-to variable is dereferenced is irrelevant to whether
	the pointer can access the pointed-to variable.
	(clobber_what_p_points_to): New function.
	* tree-ssa-alias.c (set_initial_properties): Use it.
	* tree-ssa.c (verify_flow_sensitive_alias_info): Adjust
	call clobber check for NMTs.

	* gcc.c-torture/execute/pr36343.c: New testcase.

From-SVN: r136152
2008-05-29 10:31:58 +00:00
Arnaud Charlet
b3d5f74124 * gnat.dg/abstract1.ad[sb]: New test.
From-SVN: r136151
2008-05-29 10:57:36 +02:00
Arnaud Charlet
fb8368fdcc Resync.
From-SVN: r136150
2008-05-29 10:56:41 +02:00
Arnaud Charlet
686b775265 re PR ada/864 (--program-suffix is ignored (for ada))
PR ada/864
	* osint.ads, osint.adb (Program_Name): New parameter "Prog" to
	allow recognition of program suffix in addition to prefix.
	
	* gnatchop.adb (Locate_Executable): Add support for prefix.
	
	* make.adb, gnatcmd.adb, gnatlink.adb, prj-makr.adb,
	mlib-utl.adb: Adjust calls to Program_Name.

From-SVN: r136149
2008-05-29 10:56:01 +02:00
Ed Schonberg
fe63b1b12c sem_ch6.adb (Analyze_Subprogram_Specification): if the return type is abstract...
2008-05-29  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Specification): if the return type
	is abstract, do not apply abstractness check on subprogram if this is
	a renaming declaration.

From-SVN: r136148
2008-05-29 10:55:46 +02:00
Arnaud Charlet
8682d22c80 * sem_eval.adb: Minor reformatting
From-SVN: r136147
2008-05-29 10:55:35 +02:00
Arnaud Charlet
fff3f472d5 Resync.
From-SVN: r136145
2008-05-29 10:07:25 +02:00
Robert Dewar
b49365b2a9 sem_eval.adb (Is_Same_Value): Take care of several more cases
2008-05-29  Robert Dewar  <dewar@adacore.com>

	* sem_eval.adb (Is_Same_Value): Take care of several more cases

From-SVN: r136144
2008-05-29 10:06:40 +02:00
Javier Miranda
26ff8edeba 2008-05-29 Javier Miranda <miranda@adacore.com>
* sem_util.adb:
	(Abstract_Interface_List): Add missing support for full type-declaration
	associated with synchronized types.

From-SVN: r136143
2008-05-29 10:06:31 +02:00