Commit Graph

88262 Commits

Author SHA1 Message Date
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
Danny Smith 2038497682 mingw32.h (TARGET_USE_JCR_SECTION): Undef to let defaults.h definition apply.
* config/i386/mingw32.h (TARGET_USE_JCR_SECTION): Undef to let
	defaults.h definition apply.

From-SVN: r137340
2008-07-02 06:38:33 +00:00
Jerry DeLisle 45432cd049 re PR fortran/36676 (Namelist Comments Problems)
2008-07-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/36676
	* gfortran.dg/namelist_51.f90: New test.

From-SVN: r137335
2008-07-02 04:01:57 +00:00
Jerry DeLisle bdd3085e66 re PR fortran/36676 (Namelist Comments Problems)
2008-07-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/36676
	* io/list_read.c (find_nml_name): Use eat_separator instead of eat_line.

From-SVN: r137334
2008-07-02 03:58:57 +00:00