Age | Commit message (Collapse) | Author | Files | Lines |
|
2008-07-04 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (lookup_vi_for_tree): Declare.
(do_sd_constraint): Handle a dereference of ESCAPED and CALLUSED
properly to compute the reachability set if we do field-sensitive PTA.
* invoke.texi (max-fields-for-field-sensitive): Document default.
* opts.c (decode_options): Set max-fields-for-field-sensitive to
100 for optimize >= 2.
* gcc.dg/tree-ssa/pta-callused.c: New testcase.
From-SVN: r137453
|
|
i?86-*-*.
2008-07-04 Kai Tietz <kai.tietz@onevision.com>
* config.gcc (extra_headers): Add cross-stdarg.h for target
x86_64-*-* and i?86-*-*.
* config/i386/cross-stdarg.h: New.
* builtins.c (std_fn_abi_va_list): New.
(std_canonical_va_list_type): New.
(stabilize_va_list): Replace va_list_type_node use by
mtarget.canonical_va_list_type.
(gimplify_va_arg_expr): Likewise.
(expand_builtin_va_copy): Replace va_list_type_node use by
mtarget.fn_abi_va_list.
* tree-sra.c (is_va_list_type): New helper.
(decl_can_be_decomposed_p): Replace
va_list_type_node use by is_va_list_type.
* tree-ssa-ccp.c (optimize_stdarg_builtin): Likewise.
* tree-stdarg.c (execute_optimize_stdarg): Likewise.
* c-common.c (c_common_nodes_and_builtins): Use TARGET_ENUM_VA_LIST.
* config/i386/i386-protos.h (ix86_get_valist_type): New.
(ix86_enum_va_list): New.
* config/i386/i386.c (sysv_va_list_type_node): New.
(ms_va_list_type_node): New.
(ix86_function_type_abi): Remove sorry.
(ix86_build_builtin_va_list_abi): New.
(ix86_build_builtin_va_list): Call ix86_build_builtin_va_list_abi
for 64-bit targets.
(ix86_va_start): Replace va_list_type_node by sysv_va_list_type_node.
(ix86_init_builtins_va_builtins_abi): New.
(ix86_init_builtins): Use ix86_init_builtins_va_builtins_abi
for 64-bit targets.
(ix86_handle_abi_attribute): New.
(attribute_spec): Add sysv_abi and ms_abi.
(ix86_fn_abi_va_list): New.
(ix86_canonical_va_list_type): New.
(ix86_enum_va_list): New.
(TARGET_FN_ABI_VA_LIST): New.
(TARGET_CANONICAL_VA_LIST_TYPE): New.
* config/i386/i386.h (TARGET_ENUM_VA_LIST): New.
* doc/tm.texi (TARGET_FN_ABI_VA_LIST): New.
(TARGET_CANONICAL_VA_LIST_TYPE): New.
(TARGET_ENUM_VA_LIST): New.
* expr.h (std_fn_abi_va_list): New.
(std_canonical_va_list_type): New.
* target-def.h (TARGET_FN_ABI_VA_LIST): New.
(TARGET_CANONICAL_VA_LIST_TYPE): New.
(TARGET_INITIALIZER): Add TARGET_FN_ABI_VA_LIST and
TARGET_CANONICAL_VA_LIST_TYPE.
* target.h (struct gcc_target): Add fn_abi_va_list hook
and canonical_va_list_type hook.
2008-07-04 Kai Tietz <kai.tietz@onevision.com>
* gcc.dg/callabi/callabi.h: New.
* gcc.dg/callabi/vaarg-1.c: New.
* gcc.dg/callabi/vaarg-2.c: New.
* gcc.dg/callabi/vaarg-3.c: New.
* gcc.dg/callabi/func-1.c: New.
From-SVN: r137452
|
|
* gcc.target/m68k/interrupt-2.c: New file.
* gcc.dg/tree-ssa/20040204-1.c: Don't XFAIL for m68k*-*-*.
From-SVN: r137451
|
|
-Wcast-qual warnings.
* ggc-zone.c (lookup_page_table_if_allocated,
set_page_table_entry, zone_find_object_size, alloc_small_page,
alloc_large_page, ggc_free, gt_ggc_m_S, ggc_marked_p, init_ggc,
new_ggc_zone, init_ggc_pch, ggc_pch_this_base, ggc_pch_read): Fix
-Wc++-compat and/or -Wcast-qual warnings.
From-SVN: r137450
|
|
PR target/36634
* config/rs6000/rs6000.md (call, call_value): Don't arrange for
pic_offset_table_rtx to be marked as used here.
(call_nonlocal_sysv, call_value_nonlocal_sysv): Add split for
TARGET_SECURE_PLT to "use" pic_offset_table_rtx.
(call_nonlocal_sysv_secure, call_value_nonlocal_sysv_secure): New insn.
(sibcall_nonlocal_sysv, sibcall_value_nonlocal_sysv): Assert
!TARGET_SECURE_PLT.
From-SVN: r137447
|
|
* alloc-pool.c (hash_descriptor, eq_descriptor,
alloc_pool_descriptor): Fix -Wc++-compat warnings.
* bitmap.c (hash_descriptor, eq_descriptor, bitmap_descriptor):
Likewise.
* ggc-common.c (hash_descriptor, eq_descriptor, hash_ptr, eq_ptr,
loc_descriptor, ggc_prune_ptr, ggc_free_overhead,
final_cmp_statistic, cmp_statistic, dump_ggc_loc_statistics):
Likewise.
* varray.c (hash_descriptor, eq_descriptor, varray_descriptor):
Likewise.
From-SVN: r137446
|
|
From-SVN: r137444
|
|
2008-07-03 H.J. Lu <hongjiu.lu@intel.com>
* gcc.dg/compat/struct-by-value-17a_x.c: Remove duplicated code.
* gcc.dg/compat/struct-by-value-17a_y.c: Likewise.
From-SVN: r137439
|
|
* 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
|
|
From-SVN: r137432
|
|
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
|
|
(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
|
|
From-SVN: r137425
|
|
* 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 H.J. Lu <hongjiu.lu@intel.com>
* gcc.dg/compat/struct-by-value-17a_main.c: Remove duplicated
code.
From-SVN: r137417
|
|
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
|
|
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 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-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
|
|
* 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
|
|
From-SVN: r137402
|
|
* 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
|
|
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
|
|
as pointer.
From-SVN: r137395
|
|
* 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
|
|
* 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
|
|
Remove 'svn:executable' property from gfortran.dg/proc_ptr_[1-6].f90
From-SVN: r137391
|
|
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
|
|
* gcc.target/arm/neon/polytypes.c: Use dg-message separately from
dg-error to match separate messages.
From-SVN: r137381
|
|
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
|
|
ASM_INPUTs.
gcc/
* resource.c (mark_referenced_resources): Look inside
UNSPEC_VOLATILEs and ASM_INPUTs.
From-SVN: r137375
|
|
* 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
|
|
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
|
|
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
|
|
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
|
|
* gcc.dg/nrv3.c (S): Increase size of padding for SPU.
* g++.dg/opt/temp1.C (struct T): Likewise.
From-SVN: r137363
|
|
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
|
|
* 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
|
|
* 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 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
|
|
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-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 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 Martin Jambor <mjambor@suse.cz>
* tree-switch-conversion.c: Included timevar.h which I forgot before.
From-SVN: r137351
|
|
From-SVN: r137350
|
|
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 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
|
|
From-SVN: r137346
|
|
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
|
|
* 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
|