Commit Graph

88265 Commits

Author SHA1 Message Date
Eric Botcazou 52778e2a62 tree-flow.h (loop_only_exit_p): Declare.
* tree-flow.h (loop_only_exit_p): Declare.
	* tree-ssa-loop-niter.c (loop_only_exit_p): Make public.
	* tree-ssa-loop-ivopts.c (may_eliminate_iv): Reinstate direct check on
	the number of iterations if it is constant.  Otherwise, if this is the
	only possible exit of the loop, use the conservative estimate on the
	number of iterations of the entire loop if available.

From-SVN: r137437
2008-07-03 22:02:18 +00:00
Richard Sandiford b8fff07918 Fix conflict with another recent patch.
From-SVN: r137432
2008-07-03 19:42:41 +00:00
Richard Sandiford f92518d7ae Makefile.in (libgcc.mvars): Add LIBGCC_SYNC and LIBGCC_SYNC_CFLAGS.
gcc/
	* Makefile.in (libgcc.mvars): Add LIBGCC_SYNC and LIBGCC_SYNC_CFLAGS.
	* libgcc-std.ver (GCC_4.4.0): New version, inherited from GCC_4.3.0.
	Add synchronization functions.
	* config/sync.c: New file.
	* config/mips/t-libgcc-mips16 (LIBGCC_SYNC): Define.
	(LIBGCC_SYNC_CFLAGS): Likewise.

libgcc/
	* Makefile.in: Add support for __sync_* libgcc functions.

From-SVN: r137431
2008-07-03 19:37:45 +00:00
H.J. Lu d0aede1456 shared-object.mk ($(base)_s$(objext)): Remove -DSHARED.
2008-07-03  H.J. Lu  <hongjiu.lu@intel.com>

	* shared-object.mk ($(base)_s$(objext)): Remove -DSHARED.

From-SVN: r137430
2008-07-03 12:22:00 -07:00
Paolo Carlini 5d13614ab0 stof.cc: Improve check on long double limits.
2008-07-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
	Improve check on long double limits.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stof.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stod.cc: Likewise.

From-SVN: r137428
2008-07-03 19:07:35 +00:00
Uros Bizjak dcde22ac51 re PR target/36710 (FAIL: gcc.dg/torture/fp-int-convert-float128.c -Os (internal compiler error))
PR target/36710
	* config/i386/i386.md (mode): Add TF to mode attribute.
	(*pushtf_sse): New insn pattern.
	(pushtf splitters): New splitters.

testsuite/ChangeLog:

	PR target/36710
	* gcc.target/i386/float128-2.c: New test.

From-SVN: r137427
2008-07-03 20:57:11 +02:00
Michael Meissner 9d7e5c4d3f PR 35736 -- use void_type_node for PREDICT_EXPR tree
From-SVN: r137425
2008-07-03 16:22:12 +00:00
Ulrich Weigand 18970b3dd2 pr28243.c: Skip on SPU.
* gcc.dg/pr28243.c: Skip on SPU.
	* gcc.dg/torture/pr25947-1.c: Likewise.
	* gcc.dg/20030702-1.c: Likewise.
	* g++.old-deja/g++.other/comdat5.C: Likewise.
	* g++.old-deja/g++.other/local-alloc1.C: Likewise.
	* g++.dg/opt/vt1.C: Likewise.

From-SVN: r137418
2008-07-03 12:31:02 +00:00
H.J. Lu dbcc32740a struct-by-value-17a_main.c: Remove duplicated code.
2008-07-03  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.dg/compat/struct-by-value-17a_main.c: Remove duplicated
	code.

From-SVN: r137417
2008-07-03 05:19:37 -07:00
H.J. Lu 192f2d33a1 i386.c (contains_aligned_value_p): Return true for TCmode.
gcc/

2008-07-03  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (contains_aligned_value_p): Return true
	for TCmode.
	(ix86_data_alignment): Align TCmode to 128bits.
	(ix86_local_alignment): Likewise.

testsuite/

2008-07-03  H.J. Lu  <hongjiu.lu@intel.com>
	    Uros Bizjak  <ubizjak@gmail.com>

	* gcc.target/i386/float128-1.c: New.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r137416
2008-07-03 05:14:16 -07:00
Andrew Haley e85edc9ed5 re PR preprocessor/33305 (We should warn about empty macro arguments)
2008-06-13  Andrew Haley  <aph@redhat.com>

        PR preprocessor/33305
        * macro.c (replace_args): Print a warning for empty macro
        arguments in C89 and C++.

From-SVN: r137414
2008-07-03 10:31:50 +00:00
Andrew Haley 70d3fcabfd re PR bootstrap/33304 (Bootstrap failure on solaris2 using cc due to empty macro arguments)
2008-07-03  Andrew Haley  <aph@redhat.com>

        PR bootstrap/33304
        * vec.h (VEC_TA): New.
        (DEF_VEC_I, DEF_VEC_P, DEF_VEC_ALLOC_I, DEF_VEC_ALLOC_P,
        DEF_VEC_O, DEF_VEC_ALLOC_O: Use VEC_TA.
        * c-common.c (C_COMMON_FIXED_TYPES_SAT): New macro.
        (C_COMMON_FIXED_MODE_TYPES_SAT): New macro.
        (C_COMMON_FIXED_TYPES): Remove first arg.
        (C_COMMON_FIXED_MODE_TYPES): Likewise.
        * tree.c (MAKE_FIXED_TYPE_NODE): Break into two macros,
        MAKE_FIXED_TYPE_NODE and MAKE_FIXED_TYPE_NODE_WIDTH in order
        not to use empty macro arguments.

From-SVN: r137413
2008-07-03 10:31:03 +00:00
Andrew Haley d92007910f re PR preprocessor/33305 (We should warn about empty macro arguments)
2008-07-03  Andrew Haley  <aph@redhat.com>

        PR preprocessor/33305
        * gcc.dg/cpp/avoidpaste1.c: Use dg-options "-ansi" to avoid
        "-pedantic".
        * gcc.dg/cpp/avoidpaste2.c: Likewise
        * gcc.dg/cpp/20000519-1.c: Likewise.
        * g++.dg/ext/gnu-inline-global-reject.C: Likewise.
        * gcc.dg/cpp/c99-empty-macro-args.c: New test.
        * gcc.dg/cpp/c90-empty-macro-args.c: New test.

From-SVN: r137411
2008-07-03 10:13:48 +00:00
Paolo Carlini d07660ccf3 Makefile.am: Add initializer_list to the headers.
2008-07-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* libsupc++/Makefile.am: Add initializer_list to the headers.
	* libsupc++/Makefile.in: Regenerate.

	* libsupc++/initializer_list: Minor cosmetic changes.

From-SVN: r137409
2008-07-03 09:42:30 +00:00
Richard Guenther 1466cf1a6b re PR c++/36128 (ICE with invalid argument for builtin)
2008-07-02  Richard Guenther  <rguenther@suse.de>

	PR c++/36128
	* typeck.c (cp_build_function_call): Move code to verify
	builtin function arguments ...
	* call.c (build_cxx_call): ... here.

	* g++.dg/other/builtin1.C: New testcase.

From-SVN: r137408
2008-07-03 08:18:09 +00:00
Jason Merrill 6010fae752 tree.c (ctor_to_list): Use FOR_EACH_CONSTRUCTOR_ELT.
* gcc/tree.c (ctor_to_list): Use FOR_EACH_CONSTRUCTOR_ELT.                                       
        * gcc/cp/Make-lang.in (cp/typeck2.o): Add  dependency.                                  
        * libstdc++-v3/libsupc++/initializer_list: Uglify and wrap in                                    
        __GXX_EXPERIMENTAL_CXX0X__.                                                                      
        * libstdc++-v3/include/bits/stl_map.h (insert(initializer_list)): Wrap.

From-SVN: r137406
2008-07-03 00:32:25 -04:00
GCC Administrator 5aad979918 Daily bump.
From-SVN: r137402
2008-07-03 00:17:29 +00:00
Joseph Myers e828d3f3c9 struct-layout-1.exp: Compile generator on build system.
* g++.dg/compat/struct-layout-1.exp: Compile generator on build
	system.
	* gcc.dg/compat/struct-layout-1.exp: Likewise.
	* objc.dg/gnu-encoding/gnu-encoding.exp: Likewise.

From-SVN: r137397
2008-07-03 00:40:56 +01:00
Andy Hutchinson 5feeae18a7 re PR testsuite/36285 (gcc.dg/compat/struct-by-value-xxx improper test for AVR target)
PR testsuite/36285
* gcc.dg/compat/struct-by-value-16_x.c: Move some tests to new file to reduce code size.
* gcc.dg/compat/struct-by-value-16_y.c: Ditto.
* gcc.dg/compat/struct-by-value-16a_main.c: New file.
* gcc.dg/compat/struct-by-value-16a_x.c: Ditto.
* gcc.dg/compat/struct-by-value-16a_y.c: Ditto.
* gcc.dg/compat/struct-by-value-17_x.c: Move some tests to new file to reduce code size.
* gcc.dg/compat/struct-by-value-17_y.c: Ditto.
* gcc.dg/compat/struct-by-value-17a_main.c: New file.
* gcc.dg/compat/struct-by-value-17a_x.c: Ditto.
* gcc.dg/compat/struct-by-value-17a_y.c: Ditto.
* gcc.dg/compat/struct-by-value-18_x.c: Move some tests to new file to reduce code size.
* gcc.dg/compat/struct-by-value-18_y.c: Ditto.
* gcc.dg/compat/struct-by-value-18a_main.c: New file.
* gcc.dg/compat/struct-by-value-18a_x.c: Ditto.
* gcc.dg/compat/struct-by-value-18a_y.c: Ditto.

From-SVN: r137396
2008-07-02 22:31:11 +00:00
Andy Hutchinson d47a9a8e14 * gcc.dg/pr36227.c: Correct test for targets where long is not the same size as pointer.
From-SVN: r137395
2008-07-02 22:24:18 +00:00
Kaz Kojima a38b05ecd2 cdce3.C: Test long double math functions for large_long_double target only.
* g++.dg/cdce3.C: Test long double math functions for
	large_long_double target only.  Skip pow10 and exp10
	functions for *-*-darwin*.

From-SVN: r137394
2008-07-02 22:19:08 +00:00
Joseph Myers 1935a7ef95 vms_tramp.asm, [...]: Remove .file directives.
* config/alpha/vms_tramp.asm, config/arm/crti.asm,
	config/arm/crtn.asm, config/bfin/crti.s, config/bfin/crtlibid.s,
	config/bfin/crtn.s, config/fr30/crti.asm, config/fr30/crtn.asm,
	config/frv/lib1funcs.asm, config/i386/sol2-c1.asm,
	config/i386/sol2-ci.asm, config/i386/sol2-cn.asm,
	config/i386/sol2-gc1.asm, config/ia64/crti.asm,
	config/ia64/crtn.asm, config/m68hc11/larith.asm,
	config/m68hc11/m68hc11-crt0.S, config/m68k/crti.s,
	config/m68k/crtn.s, config/mcore/crti.asm, config/mcore/crtn.asm,
	config/rs6000/crtresfpr.asm, config/rs6000/crtresgpr.asm,
	config/rs6000/crtresxfpr.asm, config/rs6000/crtresxgpr.asm,
	config/rs6000/crtsavfpr.asm, config/rs6000/crtsavgpr.asm,
	config/rs6000/crtsavres.asm, config/rs6000/e500crtres32gpr.asm,
	config/rs6000/e500crtres64gpr.asm,
	config/rs6000/e500crtres64gprctr.asm,
	config/rs6000/e500crtrest32gpr.asm,
	config/rs6000/e500crtrest64gpr.asm,
	config/rs6000/e500crtresx32gpr.asm,
	config/rs6000/e500crtresx64gpr.asm,
	config/rs6000/e500crtsav32gpr.asm,
	config/rs6000/e500crtsav64gpr.asm,
	config/rs6000/e500crtsav64gprctr.asm,
	config/rs6000/e500crtsavg32gpr.asm,
	config/rs6000/e500crtsavg64gpr.asm,
	config/rs6000/e500crtsavg64gprctr.asm, config/rs6000/eabi-ci.asm,
	config/rs6000/eabi-cn.asm, config/rs6000/eabi.asm,
	config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
	config/rs6000/tramp.asm, config/sparc/sol2-ci.asm,
	config/sparc/sol2-cn.asm: Remove .file directives.

From-SVN: r137393
2008-07-02 23:14:10 +01:00
Tobias Burnus d8c8c455e0 2008-07-02 Tobias Burnus <burnus@net-b.de>
Remove 'svn:executable' property from gfortran.dg/proc_ptr_[1-6].f90

From-SVN: r137391
2008-07-02 22:09:48 +02:00
Janus Weil 8fb74da43b re PR fortran/32580 (iso_c_binding c_f_procpointer / procedure pointers)
2008-07-02  Janus Weil  <janus@gcc.gnu.org>
	    Tobias Burnus  <burnus@net-b.de>
	    Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/32580
	* gfortran.h (struct gfc_symbol): New member "proc_pointer".
	* check.c (gfc_check_associated,gfc_check_null): Implement
	procedure pointers.
	* decl.c (match_procedure_decl): Ditto.
	* expr.c (gfc_check_pointer_assign,gfc_check_assign_symbol): Ditto.
	* interface.c (compare_actual_formal): Ditto.
	* match.h: Ditto.
	* match.c (gfc_match_pointer_assignment): Ditto.
	* parse.c (parse_interface): Ditto.
	* primary.c (gfc_match_rvalue,match_variable): Ditto.
	* resolve.c (resolve_fl_procedure): Ditto.
	* symbol.c (check_conflict,gfc_add_external,gfc_add_pointer,
	gfc_copy_attr,gen_fptr_param,build_formal_args): Ditto.
	* trans-decl.c (get_proc_pointer_decl,gfc_get_extern_function_decl,
	create_function_arglist): Ditto.
	* trans-expr.c (gfc_conv_variable,gfc_conv_function_val,
	gfc_conv_function_call,gfc_trans_pointer_assignment): Ditto.


2008-07-02  Janus Weil  <janus@gcc.gnu.org>
	    Tobias Burnus  <burnus@net-b.de>

	PR fortran/32580
	* gfortran.dg/c_f_pointer_tests_3.f90: Updated.
	* gfortran.dg/proc_decl_1.f90: Updated.
	* gfortran.dg/proc_ptr_1.f90: New.
	* gfortran.dg/proc_ptr_2.f90: New.
	* gfortran.dg/proc_ptr_3.f90: New.
	* gfortran.dg/proc_ptr_4.f90: New.
	* gfortran.dg/proc_ptr_5.f90: New.
	* gfortran.dg/proc_ptr_6.f90: New.
	* gfortran.dg/proc_ptr_7.f90: New.
	* gfortran.dg/proc_ptr_8.f90: New.

Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>
Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r137386
2008-07-02 21:53:37 +02:00
Joseph Myers 658896fbb8 polytypes.c: Use dg-message separately from dg-error to match separate messages.
* gcc.target/arm/neon/polytypes.c: Use dg-message separately from
	dg-error to match separate messages.

From-SVN: r137381
2008-07-02 20:35:08 +01:00
H.J. Lu c174f11c1b re PR bootstrap/36702 (Bootstrap fails at revision 137369 on i686-apple-darwin9)
2008-07-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR boostrap/36702
	* config.host: Only include 32bit t-fprules-softfp for Darwin/x86
	and Linux/x86.  Include 64bit t-softfp-compat for Linux/x86.

	* config/i386/64/t-fprules-softfp: Moved to ...
	* config/i386/64/t-softfp-compat: This.  New.

From-SVN: r137380
2008-07-02 12:31:53 -07:00
Uros Bizjak 5f464fa299 sfp-machine.h (FP_HANDLE_EXCEPTIONS): Initialize f with 0.0.
* config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS) [FP_EX_INVALID]:
	Initialize f with 0.0.
	* config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS) [FP_EX_INVALID]:
	Initialize f with 0.0.

From-SVN: r137379
2008-07-02 21:16:59 +02:00
H.J. Lu 7fcbf8c6f1 mangle24.C: Remove -mmmx.
2008-07-02  H.J. Lu  <hongjiu.lu@intel.com>

	* g++.dg/abi/mangle24.C: Remove -mmmx.
	* gcc.dg/const-float80-ped.c: Likewise.
	* gcc.dg/const-float80.c: Likewise.
	* gcc.dg/torture/fp-int-convert-float80.c: Likewise.

	* g++.dg/abi/mangle25.C: Enable x86.
	* gcc.dg/const-float128-ped.c: Likewise.
	* gcc.dg/const-float128.c: Likewise.
	* gcc.dg/torture/fp-int-convert-float128.c: Likewise.
	* gcc.target/i386/pr32191.c: Likewise.
	* gcc.target/i386/pr32268.c: Likewise.

From-SVN: r137377
2008-07-02 11:54:04 -07:00
Richard Sandiford 1b929c9a04 resource.c (mark_referenced_resources): Look inside UNSPEC_VOLATILEs and ASM_INPUTs.
gcc/
	* resource.c (mark_referenced_resources): Look inside
	UNSPEC_VOLATILEs and ASM_INPUTs.

From-SVN: r137375
2008-07-02 18:05:42 +00:00
Ian Lance Taylor 65c5f2a63f rtlanal.c (add_reg_note): New function.
* rtlanal.c (add_reg_note): New function.
	* rtl.h (add_reg_note): Declare.
	* auto-inc-dec.c (attempt_change): Use add_reg_note.
	* bb-reorder.c (add_reg_crossing_jump_notes): Likewise.
	* builtins.c (expand_builtin_longjmp): Likewise.
	(expand_builtin_nonlocal_goto): Likewise.
	* calls.c (emit_call_1, expand_call): Likewise.
	* cfgexpand.c (add_reg_br_prob_note): Likewise.
	* cfglayout.c (fixup_reorder_chain): Likewise.
	* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
	(commit_one_edge_insertion): Likewise.
	* combine.c (move_deaths, distribute_notes): Likewise.
	* df-problems.c (df_set_note): Likewise.
	* emit-rtl.c (link_cc0_insns, try_split): Likewise.
	(set_unique_reg_note): Likewise.
	(emit_copy_of_insn_after): Likewise.
	* expr.c (expand_expr_real): Likewise.
	* gcse.c (add_label_notes): Likewise.
	* haifa-sched.c (create_check_block_twin): Likewise.
	* jump.c (mark_jump_label_1): Likewise.
	* loop-doloop.c (add_test, doloop_modify): Likewise.
	* loop-unswitch.c (compare_and_jump_seq): Likewise.
	* lower-subreg.c (move_eh_region_note): Likewise.
	* optabs.c (emit_libcall_block): Likewise.
	* predict.c (predict_insn): Likewise.
	(combine_predictions_for_insn): Likewise.
	* recog.c (peephole2_optimize): Likewise.
	* regmove.c (try_auto_increment): Likewise.
	* reg-stack.c (emit_pop_insn, move_for_stack_reg): Likewise.
	* reload.c (find_reloads): Likewise.
	* reload1.c (fixup_eh_region_note): Likewise.
	(reload_as_needed, add_auto_inc_notes, copy_eh_notes): Likewise.
	* reorg.c (delete_prior_computation): Likewise.
	(delete_computation, dbr_schedule): Likewise.
	* config/pa/pa.c (legitimize_pic_address): Likewise.
	* config/sh/sh.c (sh_reorg): Likewise.

From-SVN: r137374
2008-07-02 18:01:18 +00:00
H.J. Lu ff47328005 re PR target/36669 (Wrong versioning for __float128)
gcc/

2008-07-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/36669
	* config/libgcc-glibc.ver: Add %exclude.
	* config/m32r/libgcc-glibc.ver: Likwise.
	* config/s390/libgcc-glibc.ver: Likwise.
	* config/sh/libgcc-glibc.ver: Likwise.
	* config/sparc/libgcc-sparc-glibc.ver: Likwise.

	* config/i386/libgcc-glibc.ver: New.

	* config/i386/libgcc-x86_64-glibc.ver: Removed.

2008-07-02  H.J. Lu  <hongjiu.lu@intel.com>

	* config.gcc: Remove i386/t-fprules-softfp64 soft-fp/t-softfp
	from tmake_file from i[34567]86-*-darwin*, x86_64-*-darwin*,
	i[34567]86-*-linux*, x86_64-*-linux*.  Add
	i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file for
	i[34567]86-*-darwin*, x86_64-*-darwin*, i[34567]86-*-linux*,
	x86_64-*-linux*.  Add i386/t-linux to tmake_file for
	i[34567]86-*-linux*, x86_64-*-linux*.

	* libgcc-std.ver: Add empty GCC_4.4.0.

	* mkmap-symver.awk: Support multiple versions per symbol.

	* config/i386/i386.c (ix86_init_builtins): Always define
	__builtin_fabsq and __builtin_copysignq with fallbacks.
	(ix86_expand_builtin): Emit normal call for __builtin_fabsq
	and __builtin_copysignq if SSE2 isn't available.

	* config/i386/linux.h (LIBGCC2_HAS_TF_MODE): Defined.
	(LIBGCC2_TF_CEXT): Likwise.
	(TF_SIZE): Likwise.

	* config/i386/linux64.h (LIBGCC2_HAS_TF_MODE): Defined as 1.

	* config/i386/sfp-machine.h: Moved to libgcc.

	* config/i386/sfp-machine.h: New.
	* config/i386/t-linux: Likwise.

	* config/i386/t-darwin: Remove softfp_wrap_start and
	softfp_wrap_end.
	* config/i386/t-darwin64: Likewise.

	* config/i386/t-fprules-softfp64: Renamed to ...
	* config/i386/t-fprules-softfp: This.

	* config/i386/t-linux64: Remove SHLIB_MAPFILES, softfp_wrap_start
	and softfp_wrap_end.

libgcc/

2008-07-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/36669
	* shared-object.mk ($(base)_s$(objext)): Add -DSHARED.

	* config/i386/64/_divtc3-compat.c: New.
	* config/i386/64/_multc3-compat.c: Likewise.
	* config/i386/64/_powitf2-compat.c: Likewise.
	* config/i386/64/eqtf2.c: Likewise.
	* config/i386/64/getf2.c: Likewise.
	* config/i386/64/letf2.c: Likewise.
	* config/i386/64/t-fprules-softfp: Likewise.

2008-07-02  H.J. Lu  <hongjiu.lu@intel.com>

	* config.host: Add i386/${host_address}/t-fprules-softfp to
	tmake_file for i[34567]86-*-darwin*, x86_64-*-darwin*,
	i[34567]86-*-linux*, x86_64-*-linux*. 

	* configure.ac: Set host_address to 64 or 32 for x86.
	* configure: Regenerated.

	* Makefile.in (config.status): Also depend on
	$(srcdir)/config.host.

	* config/i386/32/t-fprules-softfp: New.
	* config/i386/32/tf-signs.c: Likewise.

	* config/i386/64/sfp-machine.h: New. Moved from gcc.

2008-07-02  H.J. Lu  <hongjiu.lu@intel.com>
	    Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/32/sfp-machine.h: New.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r137369
2008-07-02 08:59:19 -07:00
Ulrich Weigand b12285bdfc re PR target/36698 (gcc.c-torture/compile/20001226-1.c exceeds SPU local store size with -O0)
PR target/36698
	* gcc.c-torture/compile/20001226-1.c: XFAIL -O0 case on SPU.

	* gcc.dg/pr27095.c: Provide target-specific regexp for SPU.

From-SVN: r137367
2008-07-02 15:56:31 +00:00
Ulrich Weigand 5211d96275 compat.exp (compat-execute): Add -ffunction-sections and -Wl,--auto-overlay when building for spu-*-elf*.
* lib/compat.exp (compat-execute): Add -ffunction-sections
	and -Wl,--auto-overlay when building for spu-*-elf*.

From-SVN: r137365
2008-07-02 15:45:48 +00:00
Ulrich Weigand 3ea394f23d nrv3.c (S): Increase size of padding for SPU.
* gcc.dg/nrv3.c (S): Increase size of padding for SPU.
	* g++.dg/opt/temp1.C (struct T): Likewise.

From-SVN: r137363
2008-07-02 15:41:38 +00:00
Jason Merrill 0935784671 Implement WG21 N2672, Initializer List proposed wording
gcc/cp/ChangeLog:
2008-07-02  Jason Merrill  <jason@redhat.com>

Implement WG21 N2672, Initializer List proposed wording
* cp-tree.h (enum cp_tree_index): Add CPTI_INIT_LIST_TYPE.
(struct lang_type_class): Add has_list_ctor bitfield.
(TYPE_HAS_LIST_CTOR): New macro.
(BRACE_ENCLOSED_INITIALIZER_P): Expect init_list_type_node.
(CONSTRUCTOR_IS_DIRECT_INIT): New macro.
(LOOKUP_NO_NARROWING): New macro.
(LOOKUP_NO_COPY_CTOR_CONVERSION): New macro.
* parser.c (cp_parse_braced_list): Split out from...
(cp_parser_initializer_clause): ...here.
(cp_parser_postfix_expression): Build up CONSTRUCTOR for compound 
literal here.
(cp_lexer_next_token_is_not_keyword): New fn.
(cp_parser_parenthesized_expression_list): Handle { }.
(cp_parser_new_expression, cp_parser_new_initializer): Likewise.
(cp_parser_assignment_expression, cp_parser_condition): Likewise.
(cp_parser_jump_statement, cp_parser_simple_declaration): Likewise.
(cp_parser_mem_initializer, cp_parser_init_declarator): Likewise.
(cp_parser_initializer, cp_parser_functional_cast): Likewise.
(cp_parser_omp_for_loop, cp_parser_cache_group): Likewise.
(cp_parser_save_member_function_body): Likewise.
* call.c (conversion_kind): Add ck_list, ck_aggr.
(struct conversion): Add check_narrowing bitfield, conversion list.
(build_list_conv): New fn.
(build_aggr_conv): New fn.
(implicit_conversion): Call them.
(standard_conversion): Set check_narrowing if appropriate.
(add_function_candidate): Handle LOOKUP_NO_COPY_CTOR_CONVERSION.
(build_user_type_conversion_1): When converting from an init list,
we allow additional conversions except when calling a copy ctor.
(convert_like_real): Calling an explicit ctor for an init list is 
ill-formed.  Handle ck_list and ck_addr.  Check narrowing.
(build_new_method_call): If CONSTRUCTOR_IS_DIRECT_INIT is set and
class doesn't have a list ctor, break the {} into a TREE_LIST.
(compare_ics): ck_list is better than other UDCs.
(set_up_extended_ref_temp): Split out from initialize_reference.
(is_std_init_list): New fn.
(is_list_ctor): New fn.
* decl.c (cxx_init_decl_processing): Create init_list_type_node.
(reshape_init_array_1): Pass it to build_constructor.
(reshape_init_class): Ditto.
(initialize_artificial_var): Pass the appropriate type.
(build_aggr_init_full_exprs): Split out from...
(check_initializer): ...here.  Handle new semantics.
(build_init_list_var_init): New subroutine of check_initializer.
(grokdeclarator): Converting constructors can have more than one parm.
(grok_special_member_properties): Set TYPE_HAS_LIST_CTOR.
* init.c (expand_default_init): Only do digest_init for aggregates.
* rtti.c (tinfo_base_init): Pass init_list_type_node to 
build_constructor_from_list.
(generic_initializer, ptr_initializer): Ditto.
(ptm_initializer, class_initializer): Ditto.
(get_pseudo_ti_init): Ditto.
* error.c (dump_type): Handle init_list_type_node.
(maybe_warn_cpp0x): New fn.
(maybe_varn_variadic_templates): Call it.
* cvt.c (ocp_convert): Handle conversion from { }.
* tree.c (build_array_of_n_type): New fn.
* typeck2.c (store_init_value): Use init_list_type_node.
(digest_init): Likewise.
(check_narrowing): New fn.
* semantics.c: (finish_compound_literal): Take CONSTRUCTOR instead 
of vector of constructor elts.  Handle non-aggregate types.  Make
constant literals static.
* pt.c: (tsubst_copy_and_build): Adjust.
(unify): Handle { }.
* name-lookup.c (arg_assoc_type): Handle init_list_type_node.

gcc/ChangeLog:
2008-07-02  Jason Merrill  <jason@redhat.com>

* tree.c (ctor_to_list): New fn.
* tree.h: Declare it.
(CONSTRUCTOR_ELT): New macro.
(CONSTRUCTOR_NELTS): New macro.

libstdc++-v3/ChangeLog:
2008-07-02  Jason Merrill  <jason@redhat.com>

* libsupc++/initializer_list: New file.
* include/bits/stl_map.h (insert(initializer_list)): New method.

From-SVN: r137361
2008-07-02 11:38:50 -04:00
Ulrich Weigand 906c5773db 20030222-1.x: New file.
* gcc.c-torture/execute/20030222-1.x: New file.
	* gcc.dg/tree-ssa/ssa-fre-3.c: Disable test on SPU.
	* gcc.dg/lower-subreg-1.c: Likewise.

From-SVN: r137360
2008-07-02 15:38:44 +00:00
Ulrich Weigand 8f9ddf6acf SPU single-precision FP does not support subnormals:
* gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: New file.

	SPU single-precision FP does not support Inf or Nan:
	* gcc.c-torture/execute/ieee/inf-1.c: Disable "float" Inf test on SPU.
	* gcc.c-torture/execute/ieee/compare-fp-1.x: New file.
	* gcc.c-torture/execute/ieee/compare-fp-4.x: Disable test on SPU.
	* gcc.c-torture/execute/ieee/fp-cmp-2.x: Disable test on SPU.
	* gcc.c-torture/execute/ieee/fp-cmp-4f.x: New file.
	* gcc.c-torture/execute/ieee/fp-cmp-8f.x: New file.
	* gcc.dg/pr15784-3.c: Disable test on SPU.
	* gcc.dg/pr28796-2.c: Likewise.
	* gcc.dg/float-range-1.c: Likewise.
	* gcc.dg/float-range-3.c: Likewise.
	* gcc.dg/float-range-4.c: Likewise.
	* gcc.dg/float-range-5.c: Likewise.
	* gcc.dg/fold-overflow-1.c: Likewise.
	* gcc.dg/builtins-1.c: SPU does not support __builtin_inff.
	* gcc.dg/builtin-inf-1.c: SPU does not support __builtin_inff.
	Check for error instead of warning "does not support infinity".
	* gcc.dg/builtins-43.c: Disable "float" Inf/Nan tests on SPU. 
	* gcc.dg/builtins-44.c: Likewise.
	* gcc.dg/builtins-45.c: Likewise.
	* gcc.dg/torture/builtin-math-2.c: Likewise.
	* gcc.dg/torture/builtin-logb-1.c: Likewise.
	* gcc.dg/torture/builtin-modf-1.c: Likewise.
	* gcc.dg/torture/builtin-ldexp-1.c: Likewise.
	* gcc.dg/torture/builtin-frexp-1.c: Likewise.
	* gcc.dg/torture/type-generic-1.c: Disable test on SPU.
	* g++.dg/torture/type-generic-1.C: Likewise.

	SPU single-precision FP always rounds towards zero:
	* gcc.c-torture/execute/ieee/920518-1.x: New file.
	* gcc.c-torture/execute/ieee/20010114-2.x: New file.
	* gcc.c-torture/execute/ieee/20030331-1.x: New file.
	* gcc.dg/torture/fp-int-convert-float.c: Disable test on SPU.
	* gcc.dg/torture/fp-int-convert-timode.c: Disable "float" test on SPU.

From-SVN: r137357
2008-07-02 15:30:11 +00:00
Thomas Koenig 04f2b60625 re PR fortran/36590 (internal error: Can't convert LOGICAL(1) to LOGICAL(1))
2008-07-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/36590
	PR fortran/36681
	* iresolve.c (resolve_mask_arg):  Don't convert mask to
	kind=1 logical if it is of that type already.

2008-07-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/36590
	PR fortran/36681
	* gfortran.dg/count_mask_1.f90:  New test.

From-SVN: r137355
2008-07-02 14:36:58 +00:00
Richard Guenther 795a337af6 tree-ssa-structalias.c (struct variable_info): Reorder to fill padding on 64bit hosts.
2008-07-02  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (struct variable_info): Reorder
	to fill padding on 64bit hosts.  Make collapsed_to an int.
	(get_varinfo_fc): Deal with that.
	(new_var_info): Likewise.
	(collapse_rest_of_var): Likewise.

From-SVN: r137354
2008-07-02 14:19:15 +00:00
Joshua Sumali c9db365d82 configure.ac (java-home): new AC_ARG_ENABLE.
2008-06-30  Joshua Sumali  <jsumali@redhat.com>
        Andrew Haley  <aph@redhat.com>

        * configure.ac (java-home): new AC_ARG_ENABLE.
        (aot-compile-rpm): Likewise.
        (CREATE_JAVA_HOME): new AM_CONDITIONAL.
        (INSTALL_AOT_RPM): Likewise.
        (gcc-suffix): new AC_ARG_WITH.
        (arch-directory): Likewise.
        (os-directory): Likewise.
        (origin-name): Likewise.
        (arch-suffix): Likewise.
        (jvm-root-dir): Likewise.
        (jvm-jar-dir): Likewise.
        (python-dir): Likewise.
        (AC_CONFIG_FILES): Add contrib/aotcompile.py, contrib/aot-compile,
        contrib/aot-compile-rpm, contrib/rebuild-gcj-db.
        (gcjsubdir): New AC_SUBST.
        * Makefile.am (install-data-local): Install Python modules for
        aot-compile. Also install an sdk style directory if
        --enable-java-home is passed to configure.
        (bin_SCRIPTS): Add 
        contrib/rebuild-gcj-db and contrib/aot-compile.
        (gcjsubdir): Add.
        (db_pathtail): Redefine in terms of gcjsubdir.
        * contrib/aot-compile.in: New file.
        * contrib/aotcompile.py.in: Likewise.
        * contrib/aot-compile-rpm.in: Likewise.
        * contrib/classfile.py: Likewise.
        * contrib/rebuild-gcj-db.in: Likewise.
        * configure: Regenerate.
        * Makefile.in: Regenerate. 

2008-06-30  Joshua Sumali  <jsumali@redhat.com>

        * doc/install.texi (--enable-java-home): Document.
        (--enable-aot-compile-rpm): Likewise.
        (--with-arch-directory): Likewise.
        (--with-os-directory): Likewise.
        (--with-origin-name): Likewise.
        (--with-arch-suffix): Likewise.
        (--with-jvm-root-dir): Likewise.
        (--with-jvm-jar-dir): Likewise.
        (--with-python-dir): Likewise.

2008-06-30  Joshua Sumali  <jsumali@redhat.com>

	* Make-lang.in (JAVA_MANFILES): Add doc/aot-compile.1 and
	doc/rebuild-gcj-db.1
	(java.uninstall): Likewise.
	(java.maintainer-clean): Likewise.
	(aot-compile.pod): New rule.
	(rebuild-gcj-db.pod): New rule.
	(java.install-man): Install doc/aot-compile.1 and doc/rebuild-gcj-db.1
	* gcj.texi: Add new sections for aot-compile and rebuild-gcj-db.


Co-Authored-By: Andrew Haley <aph@redhat.com>

From-SVN: r137353
2008-07-02 13:17:54 +00:00
Richard Guenther 9e11641d11 tree-ssa-forwprop.c (can_propagate_from): Exclude loads from decls explicitly.
2008-07-02  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-forwprop.c (can_propagate_from): Exclude loads
	from decls explicitly.  Merge operand checking from tuples.

From-SVN: r137352
2008-07-02 11:25:26 +00:00
Martin Jambor 3fe1efe4d0 tree-switch-conversion.c: Included timevar.h which I forgot before.
2008-07-02  Martin Jambor  <mjambor@suse.cz>

	* tree-switch-conversion.c: Included timevar.h which I forgot before.

From-SVN: r137351
2008-07-02 12:37:02 +02:00
Eric Botcazou 7a803dd8e7 * decl.c (make_type_from_size) <INTEGER_TYPE>: Fix typo and tidy up.
From-SVN: r137350
2008-07-02 10:10:15 +00:00
Martin Jambor a167a67620 tree-switch-conversion.c: Included timevar.h
2008-07-02  Martin Jambor  <mjambor@suse.cz>

	* tree-switch-conversion.c: Included timevar.h
	(pass_convert_switch): Added a timevar id (TV_TREE_SWITCH_CONVERSION).

	* timevar.def: Added TV_TREE_SWITCH_CONVERSION.

From-SVN: r137349
2008-07-02 11:59:34 +02:00
Martin Jambor b1ae16815a tree-switch-conversion.c: Corrected various comments and whitespace issues
2008-07-02  Martin Jambor  <mjambor@suse.cz>

	* tree-switch-conversion.c: Corrected various comments and
	whitespace issues
	(build_constructors): Fixed minor formatting mistakes.

	* invoke.texi (Optimize Options): Corrected the
	switch-conversion-max-branch-ratio parameter.

From-SVN: r137347
2008-07-02 11:47:09 +02:00
Mark Shinwell 5bc4fa7cd2 * final.c (asm_insn_count): Return zero for an empty asm body.
From-SVN: r137346
2008-07-02 09:19:11 +00:00
Richard Guenther 5f0d975b0d bitmap.h (bitmap_set_bit): Return bool.
2008-07-02  Richard Guenther  <rguenther@suse.de>

	* bitmap.h (bitmap_set_bit): Return bool.
	(bitmap_clear_bit): Likewise.
	* bitmap.c (bitmap_set_bit): Return if the bit changed.  Only
	write to the bitmap if it would.
	(bitmap_clear_bit): Likewise.
	* tree-ssa-structalias.c (add_implicit_graph_edge): Use
	bitmap_set_bit return value.
	(add_pred_graph_edge): Likewise.
	(add_graph_edge): Likewise.
	(do_sd_constraint): Likewise.
	(do_ds_constraint): Likewise.

From-SVN: r137345
2008-07-02 08:07:41 +00:00
Xuepeng Guo 78209f30ad MAINTAINERS (Write After Approval): Add myself.
2008-07-02  Xuepeng Guo  <xuepeng.guo@intel.com>

	* MAINTAINERS (Write After Approval):  Add myself.

From-SVN: r137344
2008-07-02 07:18:59 +00:00
Ira Rosen 966308b352 costmodel-vect-iv-9.c: Add noinline attribute to main1().
* gcc.dg/vect/costmodel/spu/costmodel-vect-iv-9.c: Add noinline
	attribute to main1().
	* gcc.dg/vect/costmodel/spu/costmodel-vect-33.c: Increase the loop
	bound in order to make it worth to vectorize the loop.
	* gcc.dg/vect/costmodel/spu/costmodel-vect-76b.c: Likewise.

From-SVN: r137342
2008-07-02 07:04:18 +00:00
Kaveh R. Ghazi 7a6942ad82 alpha.c (alpha_need_linkage, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings.
* config/alpha/alpha.c (alpha_need_linkage, alpha_use_linkage):
	Fix -Wc++-compat and/or -Wcast-qual warnings.
	* config/i386/netware.c (gen_stdcall_or_fastcall_decoration,
	gen_regparm_prefix): Likewise.
	* vmsdbgout.c (write_modbeg, lookup_filename,
	vmsdbgout_source_line, vmsdbgout_init): Likewise.

From-SVN: r137341
2008-07-02 06:43:45 +00:00