gcc.git
15 years agoclass.c (get_vtable_decl): Replace finish_decl with cp_finish_decl.
Aldy Hernandez [Thu, 18 Jun 2009 18:09:12 +0000 (18:09 +0000)]
class.c (get_vtable_decl): Replace finish_decl with cp_finish_decl.

        * class.c (get_vtable_decl): Replace finish_decl with cp_finish_decl.
        * decl.c (finish_decl): Remove.
        (declare_global_var): Replace finish_decl with cp_finish_decl.
        (start_method): Same.
        * rtti.c (emit_tinfo_decl): Same.
        * pt.c (tsubst_expr): Same.
        (instantiate_decl): Same.
        * decl2.c (grokbitfield): Same.
        * name-lookup.c (pushdecl_top_level_1): Same.
        * cp-tree.h: Remove finish_decl.

From-SVN: r148666

15 years agosee removal
Sergei Dyshel [Thu, 18 Jun 2009 16:11:18 +0000 (16:11 +0000)]
see removal

From-SVN: r148665

15 years agosee removal
Sergei Dyshel [Thu, 18 Jun 2009 16:08:00 +0000 (16:08 +0000)]
see removal

From-SVN: r148664

15 years agotree-sra.c: Include statistics.h
Martin Jambor [Thu, 18 Jun 2009 15:38:36 +0000 (17:38 +0200)]
tree-sra.c: Include statistics.h

2009-06-18  Martin Jambor  <mjambor@suse.cz>

* tree-sra.c: Include statistics.h
(sra_stats): New variable.
(sra_initialize): Clear sra_stats.
(create_access_replacement): Increment sra_stats.replacements.
(get_access_replacement): Do not return twice.
(analyze_all_variable_accesses): Increment statistics counter by the
number of scalarized aggregates.
(generate_subtree_copies): Increment sra_stats.subtree_copies.
(sra_modify_expr): Increment sra_stats.exprs.
(load_assign_lhs_subreplacements): Increment sra_stats.subreplacements.
(sra_modify_assign): Increment sra_stats.exprs,
sra_stats.separate_lhs_rhs_handling and sra_stats.deleted.
(perform_intra_sra): Update statistics counters.
* Makefile.in (tree-sra.o): Add statistics.h to dependencies.

From-SVN: r148663

15 years agoexpr.c (num_div_op): Take explicit location.
Manuel López-Ibáñez [Thu, 18 Jun 2009 15:10:23 +0000 (15:10 +0000)]
expr.c (num_div_op): Take explicit location.

2009-06-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

libcpp/
* expr.c (num_div_op): Take explicit location.
testsuite/
* gcc.dg/cpp/arith-3.c: Add column info.

From-SVN: r148662

15 years agosystem-aix64.ads: New file.
Olivier Hainque [Thu, 18 Jun 2009 14:13:20 +0000 (14:13 +0000)]
system-aix64.ads: New file.

* system-aix64.ads: New file.
* gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
64bit system.ads for ppc64 multilib variants.

From-SVN: r148659

15 years agoarm.c (TARGET_SCALAR_MODE_SUPPORTED_P): Redefine.
Sandra Loosemore [Thu, 18 Jun 2009 12:33:27 +0000 (08:33 -0400)]
arm.c (TARGET_SCALAR_MODE_SUPPORTED_P): Redefine.

2009-06-18  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/arm/arm.c (TARGET_SCALAR_MODE_SUPPORTED_P): Redefine.
(arm_scalar_mode_supported_p): New function.

gcc/testsuite/
* gcc.target/arm/fp16-compile-none-2.c: New.
* gcc.target/arm/fp16-compile-ieee-12.c: New.
* gcc.target/arm/fp16-compile-alt-12.c: New.

From-SVN: r148657

15 years agofp16-compile-alt-1.c: New.
Sandra Loosemore [Thu, 18 Jun 2009 12:30:19 +0000 (08:30 -0400)]
fp16-compile-alt-1.c: New.

2009-06-18  Sandra Loosemore  <sandra@codesourcery.com>

gcc/testsuite/
* gcc.target/arm/fp16-compile-alt-1.c: New.
* gcc.target/arm/fp16-compile-alt-2.c: New.
* gcc.target/arm/fp16-compile-alt-3.c: New.
* gcc.target/arm/fp16-compile-alt-4.c: New.
* gcc.target/arm/fp16-compile-alt-5.c: New.
* gcc.target/arm/fp16-compile-alt-6.c: New.
* gcc.target/arm/fp16-compile-alt-7.c: New.
* gcc.target/arm/fp16-compile-alt-8.c: New.
* gcc.target/arm/fp16-compile-alt-9.c: New.
* gcc.target/arm/fp16-compile-alt-10.c: New.
* gcc.target/arm/fp16-compile-alt-11.c: New.
* gcc.target/arm/fp16-compile-ieee-1.c: New.
* gcc.target/arm/fp16-compile-ieee-2.c: New.
* gcc.target/arm/fp16-compile-ieee-3.c: New.
* gcc.target/arm/fp16-compile-ieee-4.c: New.
* gcc.target/arm/fp16-compile-ieee-5.c: New.
* gcc.target/arm/fp16-compile-ieee-6.c: New.
* gcc.target/arm/fp16-compile-ieee-7.c: New.
* gcc.target/arm/fp16-compile-ieee-8.c: New.
* gcc.target/arm/fp16-compile-ieee-9.c: New.
* gcc.target/arm/fp16-compile-ieee-10.c: New.
* gcc.target/arm/fp16-compile-ieee-11.c: New.
* gcc.target/arm/fp16-compile-none-1.c: New.
* gcc.target/arm/fp16-compile-exprtype.c: New.
* gcc.target/arm/fp16-compile-vcvt.c: New.
* gcc.target/arm/fp16-builtins-1.c: New.
* gcc.target/arm/fp16-rounding-alt-1.c: New.
* gcc.target/arm/fp16-rounding-ieee-1.c: New.
* gcc.target/arm/fp16-param-1.c: New.
* gcc.target/arm/fp16-return-1.c: New.
* gcc.target/arm/fp16-unprototyped-1.c: New.
* gcc.target/arm/fp16-unprototyped-2.c: New.
* gcc.target/arm/fp16-variadic-1.c: New.
* gcc.dg/torture/arm-fp16-compile-assign.c: New.
* gcc.dg/torture/arm-fp16-compile-convert.c: New.
* gcc.dg/torture/arm-fp16-int-convert-alt.c: New.
* gcc.dg/torture/arm-fp16-int-convert-ieee.c: New.
* gcc.dg/torture/arm-fp16-ops.h: New.
* gcc.dg/torture/arm-fp16-ops-1.c: New.
* gcc.dg/torture/arm-fp16-ops-2.c: New.
* gcc.dg/torture/arm-fp16-ops-3.c: New.
* gcc.dg/torture/arm-fp16-ops-4.c: New.
* gcc.dg/torture/arm-fp16-ops-5.c: New.
* gcc.dg/torture/arm-fp16-ops-6.c: New.
* gcc.dg/torture/arm-fp16-ops-7.c: New.
* gcc.dg/torture/arm-fp16-ops-8.c: New.
* g++.dg/ext/arm-fp16/fp16-overload-1.C: New.
* g++.dg/ext/arm-fp16/fp16-return-1.C: New.
* g++.dg/ext/arm-fp16/fp16-param-1.C: New.
* g++.dg/ext/arm-fp16/fp16-mangle-1.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops.h: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-1.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-2.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-3.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-4.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-5.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-7.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-8.C: New.

From-SVN: r148656

15 years agosfp-machine.h (_FP_NANFRAC_H, [...]): Define.
Paul Brook [Thu, 18 Jun 2009 12:26:37 +0000 (12:26 +0000)]
sfp-machine.h (_FP_NANFRAC_H, [...]): Define.

2009-06-18  Paul Brook  <paul@codesourcery.com>
    Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/arm/sfp-machine.h (_FP_NANFRAC_H, _FP_NANSIGN_H): Define.
(__extendhfsf2, __truncsfhf2): Define.
* config/arm/fp16.c: New file.
* config/arm/t-bpabi (LIB2FUNCS_STATIC_EXTRA): Add fp16.c.
* config/arm/t-symbian (LIB2FUNCS_STATIC_EXTRA):  Add fp16.c.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r148655

15 years agoextend.texi (Half-Precision): New section.
Sandra Loosemore [Thu, 18 Jun 2009 12:24:10 +0000 (08:24 -0400)]
extend.texi (Half-Precision): New section.

2009-06-18  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/extend.texi (Half-Precision): New section.
* doc/invoke.texi (Option Summary): List -mfp16-format.
(ARM Options): List neon-fp16 as -mfpu value.  Document -mfp16-format.
* config/arm/arm.opt (mfp16-format=): New.
* config/arm/arm.c: Include intl.h.
(TARGET_INVALID_PARAMETER_TYPE): Redefine.
(TARGET_INVALID_RETURN_TYPE): Redefine.
(TARGET_PROMOTED_TYPE): Redefine.
(TARGET_CONVERT_TO_TYPE): Redefine.
(arm_fp16_format): Define.
(all_fpus): Add entry for neon-fp16.
(fp_model_for_fpu): Likewise.
(struct fp16_format): Declare.
(all_fp16_formats): Define.
(arm_init_libfuncs): Add entries for HFmode conversions and arithmetic
functions.
(arm_override_options): Set arm_fp16_format. Call sorry for fp16
and no ldrh.
(arm_legitimate_index_p): Treat HFmode like HImode.
(thumb1_legitimate_address_p): Make it recognize HFmode constants.
(coproc_secondary_reload_class): Special-case HFmode.
(arm_print_operand): Add 'z' specifier for vld1.16/vst1.16.
(arm_hard_regno_mode_ok): Allow HFmode values in VFP registers.
(arm_init_fp16_builtins): New.
(arm_init_builtins): Call it.
(arm_invalid_parameter_type): New.
(arm_invalid_return_type): New.
(arm_promoted_type): New.
(arm_convert_to_type).
(arm_file_start): Deal with neon-fp16 as fpu_name.  Emit tag for fp16
format.
(arm_emit_fp16_const): New function.
(arm_mangle_type): Mangle __fp16 as "Dh".
* config/arm/arm.h (TARGET_VFPD32): Make it know about
FPUTYPE_NEON_FP16.
(TARGET_NEON_FP16): New.
(TARGET_NEON): Make it know about FPUTYPE_NEON_FP16.
(enum fputype): Add FPUTYPE_NEON_FP16.
(enum arm_fp16_format_type): Declare.
(arm_fp16_format): Declare.
(LARGEST_EXPONENT_IS_NORMAL): Define.
* config/arm/arm-protos.h (arm_emit_fp16_const): Declare.
* config/arm/arm-modes.def (HFmode): Define.
* config/arm/vfp.md: (*movhf_vfp): New.
(extendhfsf2): New.
(truncsfhf2): New.
* config/arm/arm.md: (fpu): Add neon_fp16.
(floatsihf2, floatdihf2): New.
(fix_trunchfsi2, fix_trunchfdi2): New.
(truncdfhf2): New.
(extendhfdf2): New.
(movhf): New.
(*arm32_movhf): New.
(*thumb1_movhf): New.
(consttable_2): Add check for HFmode constants.
(consttable_4): Handle HFmode constants.

From-SVN: r148654

15 years agoconvert.c (convert_to_integer): Convert (int)logb() into ilogb().
Uros Bizjak [Thu, 18 Jun 2009 11:35:38 +0000 (13:35 +0200)]
convert.c (convert_to_integer): Convert (int)logb() into ilogb().

* convert.c (convert_to_integer): Convert (int)logb() into ilogb().

testsuite/ChangeLog:

* gcc.dg/builtins-65.c: New test.

From-SVN: r148653

15 years agore PR fortran/40451 ([F03] procedure pointer assignment rejected)
Janus Weil [Thu, 18 Jun 2009 08:09:40 +0000 (10:09 +0200)]
re PR fortran/40451 ([F03] procedure pointer assignment rejected)

2009-06-18  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40451
* resolve.c (resolve_contained_fntype): Prevent implicit typing for
procedures with explicit interface.
* symbol.c (gfc_check_function_type): Ditto.

2009-06-18  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40451
* gfortran.dg/proc_ptr_result_4.f90: New.

From-SVN: r148652

15 years agoChangeLog: Various fixes.
Uros Bizjak [Thu, 18 Jun 2009 07:58:17 +0000 (09:58 +0200)]
ChangeLog: Various fixes.

* ChangeLog: Various fixes.
* testsuite/ChangeLog: Ditto.

From-SVN: r148651

15 years agocollect2.c (main): Use CONST_CAST2 to perform char ** to const char ** conversion...
Olivier Hainque [Thu, 18 Jun 2009 07:45:09 +0000 (07:45 +0000)]
collect2.c (main): Use CONST_CAST2 to perform char ** to const char ** conversion in AIX specific...

* collect2.c (main): Use CONST_CAST2 to perform char ** to
const char ** conversion in AIX specific section.

From-SVN: r148649

15 years agocheck_construct_destroy.h: New.
Benjamin Kosnik [Thu, 18 Jun 2009 01:40:44 +0000 (01:40 +0000)]
check_construct_destroy.h: New.

2009-06-17  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/23_containers/list/check_construct_destroy.h: New.
Move test logic here.
* testsuite/23_containers/list/moveable.h: Same.
* testsuite/23_containers/list/modifiers/insert/25288.h: Same.
* testsuite/23_containers/list/modifiers/1.h: Same.
* testsuite/23_containers/list/modifiers/2.h: Same.
* testsuite/23_containers/list/modifiers/3.h: Same.
* testsuite/23_containers/list/modifiers/swap/1.h: Same.
* testsuite/23_containers/list/modifiers/swap/2.h: Same.
* testsuite/23_containers/list/modifiers/swap/3.h: Same.
* testsuite/23_containers/list/operations/1.h: Same.
* testsuite/23_containers/list/operations/2.h: Same.
* testsuite/23_containers/list/operations/3.h: Same.
* testsuite/23_containers/list/operations/4.h: Same.
* testsuite/23_containers/list/operations/5.h: Same.
* testsuite/23_containers/list/capacity/1.h: Same.
* testsuite/23_containers/list/init-list.h: Same.
* testsuite/23_containers/list/cons/1.h: Same.
* testsuite/23_containers/list/cons/2.h: Same.
* testsuite/23_containers/list/cons/3.h: Same.
* testsuite/23_containers/list/cons/4.h: Same.
* testsuite/23_containers/list/cons/5.h: Same.
* testsuite/23_containers/list/cons/6.h: Same.
* testsuite/23_containers/list/cons/7.h: Same.
* testsuite/23_containers/list/cons/8.h: Same.
* testsuite/23_containers/list/cons/9.h: Same.
* testsuite/23_containers/list/cons/clear_allocator.h: Same.
* testsuite/23_containers/list/modifiers/insert/25288.cc: Include test
header.
* testsuite/23_containers/list/modifiers/1.cc: Same.
* testsuite/23_containers/list/modifiers/2.cc: Same.
* testsuite/23_containers/list/modifiers/3.cc: Same.
* testsuite/23_containers/list/modifiers/swap/1.cc: Same.
* testsuite/23_containers/list/modifiers/swap/2.cc: Same.
* testsuite/23_containers/list/modifiers/swap/3.cc: Same.
* testsuite/23_containers/list/operations/1.cc: Same.
* testsuite/23_containers/list/operations/2.cc: Same.
* testsuite/23_containers/list/operations/3.cc: Same.
* testsuite/23_containers/list/operations/4.cc: Same.
* testsuite/23_containers/list/operations/5.cc: Same.
* testsuite/23_containers/list/capacity/1.cc: Same.
* testsuite/23_containers/list/init-list.cc: Same.
* testsuite/23_containers/list/cons/1.cc: Same.
* testsuite/23_containers/list/cons/2.cc: Same.
* testsuite/23_containers/list/cons/3.cc: Same.
* testsuite/23_containers/list/cons/4.cc: Same.
* testsuite/23_containers/list/cons/5.cc: Same.
* testsuite/23_containers/list/cons/6.cc: Same.
* testsuite/23_containers/list/cons/7.cc: Same.
* testsuite/23_containers/list/cons/8.cc: Same.
* testsuite/23_containers/list/cons/9.cc: Same.
* testsuite/23_containers/list/cons/clear_allocator.cc: Same.
* testsuite/23_containers/list/check_construct_destroy.cc: Same.
* testsuite/23_containers/list/moveable.cc: Same.

From-SVN: r148644

15 years agoi386.c (ix86_special_builtin_type): Remove UINT64_FTYPE_PINT.
H.J. Lu [Thu, 18 Jun 2009 01:06:55 +0000 (01:06 +0000)]
i386.c (ix86_special_builtin_type): Remove UINT64_FTYPE_PINT.

2009-06-17  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_special_builtin_type): Remove
UINT64_FTYPE_PINT.  Add UINT64_FTYPE_PUNSIGNED.
(bdesc_special_args): Updated.
(ix86_init_mmx_sse_builtins): Likewise.
(ix86_expand_special_args_builtin): Likewise.

From-SVN: r148643

15 years agotree-pretty-print.c (maybe_dump_asm_name): New.
Richard Henderson [Thu, 18 Jun 2009 00:30:48 +0000 (17:30 -0700)]
tree-pretty-print.c (maybe_dump_asm_name): New.

        * tree-pretty-print.c (maybe_dump_asm_name): New.
        (dump_decl_name): Use it.
        (PRINT_FUNCTION_NAME): Merge into...
        (dump_function_name): ... here.  Use maybe_dump_asm_name.

From-SVN: r148642

15 years agoQuick fix to last ChangeLog entry.
Cary Coutant [Thu, 18 Jun 2009 00:20:31 +0000 (17:20 -0700)]
Quick fix to last ChangeLog entry.

From-SVN: r148641

15 years agoDaily bump.
GCC Administrator [Thu, 18 Jun 2009 00:16:57 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r148640

15 years agodbxout.c (dbxout_source_line): Add is_stmt parameter.
Cary Coutant [Wed, 17 Jun 2009 23:54:40 +0000 (23:54 +0000)]
dbxout.c (dbxout_source_line): Add is_stmt parameter.

* dbxout.c (dbxout_source_line): Add is_stmt parameter.
Change caller.
* debug.c (struct gcc_debug_hooks): Change placeholder for
source_line hook.
(debug_nothing_int_charstar_int): Replaced by...
(debug_nothing_int_charstar_int_bool): ...this.
* debug.h (struct gcc_debug_hooks): Add is_stmt parameter to
source_line prototype.
(debug_nothing_int_charstar_int): Replaced by...
(debug_nothing_int_charstar_int_bool): ...this.
* defaults.h (SUPPORTS_DISCRIMINATOR): New constant.
* dwarf2out.c (dwarf2out_source_line): Add is_stmt parameter.
Output is_stmt operand when necessary.
* final.c (last_is_stmt): New variable.
(final_start_function): Initialize last_is_stmt.
(final_scan_insn): Pass is_stmt to source_line debug hook.
(notice_source_line): Add is_stmt parameter.
* sdbout.c (sdbout_source_line): Add is_stmt parameter.
* vmsdbgout.c (vmsdbgout_source_line): Add is_stmt parameter.
Change callers.
* xcoffout.c (xcoffout_source_line): Add is_stmt parameter.
* xcoffout.h (xcoffout_source_line): Add is_stmt parameter.

From-SVN: r148635

15 years agoexpr.c (struct move_by_pieces_d): Rename from move_by_pieces.
Ian Lance Taylor [Wed, 17 Jun 2009 22:48:45 +0000 (22:48 +0000)]
expr.c (struct move_by_pieces_d): Rename from move_by_pieces.

* expr.c (struct move_by_pieces_d): Rename from move_by_pieces.
Change all uses.
(struct store_by_pieces_d): Rename from store_by_pieces.  Change
call uses.

From-SVN: r148633

15 years agotree.h (STRIP_NOPS, [...]): Use tree_strip_nop_conversions...
Adam Nemet [Wed, 17 Jun 2009 22:11:47 +0000 (22:11 +0000)]
tree.h (STRIP_NOPS, [...]): Use tree_strip_nop_conversions...

* tree.h (STRIP_NOPS, STRIP_SIGN_NOPS,
STRIP_USELESS_TYPE_CONVERSION): Use tree_strip_nop_conversions,
tree_strip_sign_nop_conversions and
tree_ssa_strip_useless_type_conversions rather than stripping
the operations here.
(tree_strip_nop_conversions, tree_strip_sign_nop_conversions):
Declare them.
* gimple.h (tree_ssa_strip_useless_type_conversions): Declare it.
* tree-ssa.c (tree_ssa_strip_useless_type_conversions): New function.
* tree.c (tree_nop_conversion, tree_sign_nop_conversion,
tree_strip_nop_conversions, tree_strip_sign_nop_conversions): New
functions.

testsuite/
* gcc.c-torture/execute/bitfld-5.c: New test.

From-SVN: r148631

15 years agoCreate new constraint "d" for PowerPC FPRs with 64-bit values.
Michael Eager [Wed, 17 Jun 2009 21:51:28 +0000 (21:51 +0000)]
Create new constraint "d" for PowerPC FPRs with 64-bit values.

Replace uses of "f" constraint with "d" as needed.

From-SVN: r148630

15 years agoprofile.c (total_num_never_executed): Don't define.
Ian Lance Taylor [Wed, 17 Jun 2009 20:23:57 +0000 (20:23 +0000)]
profile.c (total_num_never_executed): Don't define.

* profile.c (total_num_never_executed): Don't define.
(compute_branch_probabilities): Don't count or print
num_never_executed.
(init_branch_prob): Don't set total_num_never_executed.
(end_branch_prob): Don't print total_num_never_executed.

From-SVN: r148628

15 years ago* include/cpplib.h (progname): Don't declare.
Ian Lance Taylor [Wed, 17 Jun 2009 20:22:02 +0000 (20:22 +0000)]
* include/cpplib.h (progname): Don't declare.

From-SVN: r148627

15 years agohook.in: Do not fail when there is no current objfile.
Tom Tromey [Wed, 17 Jun 2009 20:06:27 +0000 (20:06 +0000)]
hook.in: Do not fail when there is no current objfile.

* python/hook.in: Do not fail when there is no current objfile.
Use os.path.normpath.

From-SVN: r148626

15 years agojump.c (cleanup_barriers): Handle case of no insns before a barrier.
David Daney [Wed, 17 Jun 2009 19:27:35 +0000 (19:27 +0000)]
jump.c (cleanup_barriers): Handle case of no insns before a barrier.

2009-06-17  David Daney  <ddaney@caviumnetworks.com>

* jump.c (cleanup_barriers): Handle case of no insns before a
barrier.

2009-06-17  David Daney  <ddaney@caviumnetworks.com>

* gcc.dg/builtin-unreachable-3.c: New test.

From-SVN: r148624

15 years agobuiltin-unreachable.c: New test.
David Daney [Wed, 17 Jun 2009 19:14:56 +0000 (19:14 +0000)]
builtin-unreachable.c: New test.

2009-06-17  David Daney  <ddaney@caviumnetworks.com>

* gcc.target/i386/builtin-unreachable.c: New test.

From-SVN: r148622

15 years agodfp.md (nabsdd2_fpr): Correct mode.
David Edelsohn [Wed, 17 Jun 2009 18:18:34 +0000 (18:18 +0000)]
dfp.md (nabsdd2_fpr): Correct mode.

        * config/rs6000/dfp.md (nabsdd2_fpr): Correct mode.
        (nabstd2_fpr): Same.

From-SVN: r148621

15 years agoexpr.c (expand_assignment): Change complex type check.
Steve Ellcey [Wed, 17 Jun 2009 15:37:20 +0000 (15:37 +0000)]
expr.c (expand_assignment): Change complex type check.

2009-06-17  Steve Ellcey  <sje@cup.hp.com>

* expr.c (expand_assignment): Change complex type check.

From-SVN: r148614

15 years agoplugins.texi (Building GCC plugins): Added new section.
Basile Starynkevitch [Wed, 17 Jun 2009 13:36:47 +0000 (13:36 +0000)]
plugins.texi (Building GCC plugins): Added new section.

2009-06-17  Basile Starynkevitch  <basile@starynkevitch.net>

* gcc/doc/plugins.texi (Building GCC plugins): Added new section.

From-SVN: r148612

15 years agoc-pch.c (get_ident): Don't set size of templ array.
Ian Lance Taylor [Wed, 17 Jun 2009 13:21:23 +0000 (13:21 +0000)]
c-pch.c (get_ident): Don't set size of templ array.

./: * c-pch.c (get_ident): Don't set size of templ array.
(pch_init): Don't set size of partial_pch array.

* c-typeck.c (digest_init): If -Wc++-compat, warn about using a
string constant to intialize an array whose size is the length of
the string.
testsuite/:
* gcc.dg/Wcxx-compat-14.c: New testcase.

From-SVN: r148611

15 years ago* gcc.dg/func-ptr-conv-1.c: Update column info.
Aldy Hernandez [Wed, 17 Jun 2009 12:59:39 +0000 (12:59 +0000)]
* gcc.dg/func-ptr-conv-1.c: Update column info.

From-SVN: r148609

15 years ago* decl.c (build_struct): Rewrite loop over constructor elements.
Ian Lance Taylor [Wed, 17 Jun 2009 12:53:01 +0000 (12:53 +0000)]
* decl.c (build_struct): Rewrite loop over constructor elements.

From-SVN: r148608

15 years agore PR middle-end/40404 (Comparison involving unsigned int:17 bitfield seems wrong)
Richard Guenther [Wed, 17 Jun 2009 12:30:54 +0000 (12:30 +0000)]
re PR middle-end/40404 (Comparison involving unsigned int:17 bitfield seems wrong)

2009-06-17  Richard Guenther  <rguenther@suse.de>

PR middle-end/40404
* gcc.c-torture/execute/pr40404.c: New testcase.

From-SVN: r148606

15 years agore PR c++/40389 (optimizer bug (possibly))
Richard Guenther [Wed, 17 Jun 2009 10:29:22 +0000 (10:29 +0000)]
re PR c++/40389 (optimizer bug (possibly))

2009-06-17  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/40389
* tree-ssa-structalias.c (handle_rhs_call): Restrict NRV case
to addressable types.
* gimple.c (walk_stmt_load_store_addr_ops): Likewise.

From-SVN: r148597

15 years agore PR middle-end/40460 (Enormous memory usage during compilation with -O2 or -O3...
Richard Guenther [Wed, 17 Jun 2009 10:26:24 +0000 (10:26 +0000)]
re PR middle-end/40460 (Enormous memory usage during compilation with -O2 or -O3 optimizations.)

2009-06-17  Richard Guenther  <rguenther@suse.de>

PR middle-end/40460
* tree-chrec.h (build_polynomial_chrec): If we cannot determine
if there is no evolution of left in the loop bail out.
* tree-chrec.c (chrec_fold_multiply_poly_poly): CSE one
chrec_fold_multiply.

* g++.dg/torture/pr40460.C: New testcase.

From-SVN: r148593

15 years agoRelax constraints on Machine_Attribute argument types:
Robert Dewar [Wed, 17 Jun 2009 08:58:35 +0000 (08:58 +0000)]
Relax constraints on Machine_Attribute argument types:

        * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
        missing type.
        (Analyze_Attribute, case Machine_Attribute): Allow any type for
        arg 3.
        * gcc-interface/decl.c (prepend_attributes): Accept static
        expressions of any type as attribute arguments, not only string
        literals.
        * gnat_rm.texi (pragma Machine_Attribute section): Adjust to
        reflect the relaxation of the restriction on the Info argument type.

Co-Authored-By: Olivier Hainque <hainque@adacore.com>
From-SVN: r148589

15 years agore PR target/39254 (gcc.c-torture/execute/va-arg-trap-1.c ICEs on powerpc-apple-darwin9)
J"orn Rennecke [Wed, 17 Jun 2009 04:27:29 +0000 (04:27 +0000)]
re PR target/39254 (gcc.c-torture/execute/va-arg-trap-1.c ICEs on powerpc-apple-darwin9)

        PR target/39254
        * config/rs6000/rs6000.c (rs6000_emit_move): Don't emit a USE
        for the symbol ref of a constant that is the source of a move
        - nor for any other not-obvious-label-ref constants.

Co-Authored-By: Janis Johnson <janis187@us.ibm.com>
From-SVN: r148568

15 years ago[multiple changes]
Olatunji Ruwase [Wed, 17 Jun 2009 02:18:55 +0000 (02:18 +0000)]
[multiple changes]

2009-06-16  Olatunji Ruwase  <tjruwase@google.com>

* plugin.c(position_pass): Skip newly inserted pass during list
traversal to avoid repeated insertion.

2009-06-05  Olatunji Ruwase  <tjruwase@google.com>

* gcc.dg/plugin/one_time_plugin.c: New test.
* gcc.dg/plugin/one_time-test-1.c: New test.
* gcc.dg/plugin/plugin.exp: Added one_time_plugin.c test.

From-SVN: r148566

15 years agoDaily bump.
GCC Administrator [Wed, 17 Jun 2009 00:16:46 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r148565

15 years agovec.h (VEC_stack_alloc): Define different version if GATHER_STATISTICS is defined...
Ian Lance Taylor [Wed, 17 Jun 2009 00:10:23 +0000 (00:10 +0000)]
vec.h (VEC_stack_alloc): Define different version if GATHER_STATISTICS is defined...

* vec.h (VEC_stack_alloc): Define different version if
GATHER_STATISTICS is defined, to accept and ignore MEM_STAT.
(DEF_VEC_ALLOC_FUNC_P_STACK): Remove MEM_STAT_DECL.
(DEF_VEC_ALLOC_FUNC_O_STACK): Likewise.
(DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.

From-SVN: r148562

15 years agoexception_ptr.h (exception_ptr::swap(exception_ptr&&)): Remove.
Jonathan Wakely [Tue, 16 Jun 2009 21:24:41 +0000 (21:24 +0000)]
exception_ptr.h (exception_ptr::swap(exception_ptr&&)): Remove.

2009-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>

* libsupc++/exception_ptr.h (exception_ptr::swap(exception_ptr&&)):
Remove.
(exception_ptr::operator=(exception_ptr&&)): Cast source to
rvalue-reference so that move constructor is called.
* testsuite/18_support/exception_ptr/move.cc: New.

From-SVN: r148555

15 years agoconfig.gcc (extra_headers): Add ia32intrin.h for x86.
H.J. Lu [Tue, 16 Jun 2009 21:17:31 +0000 (21:17 +0000)]
config.gcc (extra_headers): Add ia32intrin.h for x86.

2009-06-16  H.J. Lu  <hongjiu.lu@intel.com>

* config.gcc (extra_headers): Add ia32intrin.h for x86.

* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_BSRSI,
IX86_BUILTIN_BSRDI.  IX86_BUILTIN_RDPMC, IX86_BUILTIN_RDTSC.
IX86_BUILTIN_RDTSCP.  IX86_BUILTIN_ROLQI, IX86_BUILTIN_ROLHI,
IX86_BUILTIN_RORQI and IX86_BUILTIN_RORHI.
(ix86_special_builtin_type): Add UINT64_FTYPE_VOID,
UINT64_FTYPE_PINT, INT_FTYPE_INT, UINT64_FTYPE_INT,
INT64_FTYPE_INT64, UINT16_FTYPE_UINT16_INT and
UINT8_FTYPE_UINT8_INT
(bdesc_special_args): Add __builtin_ia32_rdtsc and
__builtin_ia32_rdtscp.
(bdesc_args): Add __builtin_ia32_bsrsi, __builtin_ia32_bsrdi,
__builtin_ia32_rolqi, __builtin_ia32_rolhi, __builtin_ia32_rorqi
and __builtin_ia32_rorhi,
(ix86_init_mmx_sse_builtins): Handle UINT64_FTYPE_VOID,
UINT64_FTYPE_PINT, INT_FTYPE_INT, UINT64_FTYPE_INT,
INT64_FTYPE_INT64, UINT16_FTYPE_UINT16_INT and
UINT8_FTYPE_UINT8_INT.
(ix86_expand_args_builtin): Likewise.
(ix86_expand_special_args_builtin): Likewise.

* config/i386/i386.md (UNSPECV_RDTSCP): New.
(UNSPECV_RDTSC): Likewise.
(UNSPECV_RDPMC): Likewise.
(*bsr): Removed to ...
(bsr): This
(*bsr_rex64): Removed to ...
(bsr_rex64): This.
(rdpmc): New.
(*rdpmc): Likewise.
(*rdpmc_rex64): Likewise.
(rdtsc): Likewise.
(*rdtsc): Likewise.
(*rdtsc_rex64): Likewise.
(rdtscp): Likewise.
(*rdtscp): Likewise.
(*rdtscp_rex64): Likewise.

* config/i386/ia32intrin.h: New.

* config/i386/x86intrin.h: Include <ia32intrin.h>.

From-SVN: r148554

15 years agothread (~thread(), [...]): Call terminate if joinable.
Jonathan Wakely [Tue, 16 Jun 2009 20:34:43 +0000 (20:34 +0000)]
thread (~thread(), [...]): Call terminate if joinable.

2009-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>

* include/std/thread (~thread(), operator=(thread&&)): Call terminate
if joinable.

From-SVN: r148552

15 years agoira-build.c (copy_info_to_removed_store_destinations): Initialize parent_a.
Ian Lance Taylor [Tue, 16 Jun 2009 20:25:30 +0000 (20:25 +0000)]
ira-build.c (copy_info_to_removed_store_destinations): Initialize parent_a.

* ira-build.c (copy_info_to_removed_store_destinations):
Initialize parent_a.

From-SVN: r148551

15 years ago* c-decl.c (grokdeclarator): Change size_varies to bool.
Ian Lance Taylor [Tue, 16 Jun 2009 20:20:21 +0000 (20:20 +0000)]
* c-decl.c (grokdeclarator): Change size_varies to bool.

From-SVN: r148550

15 years agosel-sched.c: Make forward declarations of move_op_hooks and fur_hooks explicitly...
Ian Lance Taylor [Tue, 16 Jun 2009 19:09:35 +0000 (19:09 +0000)]
sel-sched.c: Make forward declarations of move_op_hooks and fur_hooks explicitly extern.

* sel-sched.c: Make forward declarations of move_op_hooks and
fur_hooks explicitly extern.

From-SVN: r148549

15 years agodf-problems.c (df_byte_lr_alloc): Don't set problem_data to itself.
Ian Lance Taylor [Tue, 16 Jun 2009 19:01:18 +0000 (19:01 +0000)]
df-problems.c (df_byte_lr_alloc): Don't set problem_data to itself.

* df-problems.c (df_byte_lr_alloc): Don't set problem_data to
itself.
* vec.c (vec_gc_o_reserve_1): Don't set alloc to itself.

From-SVN: r148548

15 years agoresource.c (mark_referenced_resources): Change include_delayed_effects parameter...
Ian Lance Taylor [Tue, 16 Jun 2009 18:55:20 +0000 (18:55 +0000)]
resource.c (mark_referenced_resources): Change include_delayed_effects parameter to bool.

* resource.c (mark_referenced_resources): Change
include_delayed_effects parameter to bool.  Change all callers.
(mark_end_of_function_resources): Likewise.
* reorg.c (insn_references_resource_p): Likewise.
(insn_sets_resource_p): Likewise.
* resource.h (mark_referenced_resources): Update declaration.
(mark_end_of_function_resources): Update declaration.

From-SVN: r148547

15 years agoaix.h (LIBSTDCXX_STATIC): Remove -lstdc++.
David Edelsohn [Tue, 16 Jun 2009 18:51:54 +0000 (18:51 +0000)]
aix.h (LIBSTDCXX_STATIC): Remove -lstdc++.

        * config/rs6000/aix.h (LIBSTDCXX_STATIC): Remove -lstdc++.
cp/
        * g++-spec.c (LIBSTDCXX_STATIC): Default to NULL.
        (lang_specific_driver): Always allocate extra argument.
        Add LIBSTDCXX_STATIC to arglist if defined and linking
        statically.

From-SVN: r148546

15 years agoinstall.texi (*-*-aix): Update explanation of XLC bootstrap.
David Edelsohn [Tue, 16 Jun 2009 18:46:47 +0000 (18:46 +0000)]
install.texi (*-*-aix): Update explanation of XLC bootstrap.

        * doc/install.texi (*-*-aix): Update explanation of XLC bootstrap.
        GCC can bootstrap on AIX with GNU Binutils 2.20.

From-SVN: r148545

15 years agoMake-lang.in (cp/class.o): Depend upon gt-cp-class.h.
Ian Lance Taylor [Tue, 16 Jun 2009 17:56:59 +0000 (17:56 +0000)]
Make-lang.in (cp/class.o): Depend upon gt-cp-class.h.

* Make-lang.in (cp/class.o): Depend upon gt-cp-class.h.
(cp/semantics.o): Depend upon gt-cp-semantics.h.

From-SVN: r148544

15 years agoffi.c: Avoid clobbering cr3 and cr4, which are supposed to be callee-saved.
Wim Lewis [Tue, 16 Jun 2009 17:55:39 +0000 (17:55 +0000)]
ffi.c: Avoid clobbering cr3 and cr4, which are supposed to be callee-saved.

2009-06-16  Wim Lewis  <wiml@hhhh.org>

* src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
supposed to be callee-saved.
* src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
return buffer for odd-size structs.

From-SVN: r148543

15 years agore PR libffi/40444 (libffi badly broken with -m64 by some revision between 148383...
Andreas Tobler [Tue, 16 Jun 2009 17:28:29 +0000 (17:28 +0000)]
re PR libffi/40444 (libffi badly broken with -m64 by some revision between 148383 and 148472.)

2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>

PR libffi/40444
* testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
allow_stack_execute for Darwin.

From-SVN: r148542

15 years ago* Makefile.in (tree-vect-stmts.o): Depend upon $(TOPLEV_H).
Ian Lance Taylor [Tue, 16 Jun 2009 16:59:03 +0000 (16:59 +0000)]
* Makefile.in (tree-vect-stmts.o): Depend upon $(TOPLEV_H).

From-SVN: r148541

15 years agotoplev.h (floor_log2): If GCC_VERSION >= 3004, declare as static inline, not extern...
Ian Lance Taylor [Tue, 16 Jun 2009 16:55:41 +0000 (16:55 +0000)]
toplev.h (floor_log2): If GCC_VERSION >= 3004, declare as static inline, not extern inline.

* toplev.h (floor_log2): If GCC_VERSION >= 3004, declare as static
inline, not extern inline.
(exact_log2): Likewise.
* toplev.c (floor_log2): Only define if GCC_VERSION < 3004. Don't
test CLZ_HWI.
(exact_log2): Likewise, but don't test CTZ_HWI.

From-SVN: r148540

15 years agobitmap.c (bitmap_clear): Don't declare as inline.
Ian Lance Taylor [Tue, 16 Jun 2009 16:46:31 +0000 (16:46 +0000)]
bitmap.c (bitmap_clear): Don't declare as inline.

* bitmap.c (bitmap_clear): Don't declare as inline.
* gimple.c (gimplify_assign): Likewise.
* tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
* haifa-sched.c (insn_cost): Don't declare with HAIFA_INLINE.
(sched_scan_info): Remove duplicate definition.

From-SVN: r148539

15 years agoconfigure.ac (TARGETDIR): Add missing blank lines.
Andrew Haley [Tue, 16 Jun 2009 16:14:54 +0000 (16:14 +0000)]
configure.ac (TARGETDIR): Add missing blank lines.

2009-06-16  Andrew Haley  <aph@redhat.com>

* configure.ac (TARGETDIR): Add missing blank lines.
* configure: Regenerate.

From-SVN: r148538

15 years agoc-common.c (skip_evaluation): Don't define.
Ian Lance Taylor [Tue, 16 Jun 2009 14:24:40 +0000 (14:24 +0000)]
c-common.c (skip_evaluation): Don't define.

./: * c-common.c (skip_evaluation): Don't define.
(c_inhibit_evaluation_warnings): Define global variable.
(overflow_warning): Check c_inhibit_evaluation_warnings rather
than skip_evaluation.
(convert_and_check, warn_for_div_by_zero): Likewise.
* c-common.h (skip_evaluation): Don't declare.
(c_inhibit_evaluation_warnings): Declare.
* c-parser.c (c_parser_typeof_specifier): Set
c_inhibit_evaluation_warnings rather than skip_evaluation.
(c_parser_conditional_expression): Likewise.
(c_parser_binary_expression): Likewise.
(c_parser_sizeof_expression): Likewise.
(c_parser_alignof_expression): Likewise.
* c-typeck.c (build_indirect_ref): Check
c_inhibit_evaluation_warnings rather than skip_evaluation.
(build_conditional_expr, build_binary_op): Likewise.
cp/:
* parser.c (cp_unevaluated_operand): Define global variable.
(cp_parser_question_colon_clause): Increment
c_inhibit_evaluation_warnings when evaluating an expression which
will never be executed.
(cp_parser_decltype): Increment cp_unevaluated_operand and
c_inhibit_evaluation_warnings, not skip_evaluation.
(cp_parser_sizeof_operand): Likewise.
(cp_parser_enclosed_template_argument_list): Save
cp_unevaluated_operand and c_inhibit_evaluation_warnings, not
skip_evaluation.
* cp-tree.h (struct saved_scope): Remove skip_evaluation field.
Add unevaluated_operand and inhibit_evaluation_warnings fields.
(cp_unevaluated_operand): Declare.
* name-lookup.c (push_to_top_level): Save cp_unevaluated_operand
and c_inhibit_evaluation_warnings rather than skip_evaluation.
(pop_from_top_level): Restore cp_unevaluated_operand and
c_inhibit_evaluation_warnings rather than skip_evaluation.
* class.c (build_base_path): Check cp_unevaluated_operand rather
than skip_evaluation.
* typeck.c (build_class_member_access_expr): Likewise.
(cp_build_binary_op): Don't warn about bad shift counts if
c_inhibit_evaluation_warnings is non-zero.
* pt.c (coerce_template_parms): Save state of
cp_unevaluated_operand and c_inhibit_evaluation_warnings, not
skip_evaluation.
(tsubst_aggr_type): Likewise.
(tsubst_pack_expansion): Check cp_unevaluated_operand rather than
skip_evaluation.
(tsubst_copy): Likewise.
(tsubst): Set cp_unevaluated_operand and
c_inhibit_evaluation_warnings, not skip_evaluation.
(tsubst_copy_and_build): Likewise.
* call.c (convert_arg_to_ellipsis): Check cp_unevaluated_operand
rather than skip_evaluation.
* decl2.c (mark_used): Likewise.
* semantics.c (finish_non_static_data_member): Likewise.
* cvt.c (cp_convert_and_check): Check
c_inhibit_evaluation_warnings rather than skip_evaluation.
* mangle.c (write_type): Set cp_unevaluated_operand rather than
skip_evaluation.
testsuite/:
* g++.dg/warn/skip-1.C: New testcase.

From-SVN: r148535

15 years agotree-ssa-alias.c (is_escape_site): Remove.
Richard Guenther [Tue, 16 Jun 2009 14:12:44 +0000 (14:12 +0000)]
tree-ssa-alias.c (is_escape_site): Remove.

2009-06-16  Richard Guenther  <rguenther@suse.de>

* tree-ssa-alias.c (is_escape_site): Remove.
* tree-ssa-alias.h (enum escape_type): Remove.
(is_escape_site): Likewise.
* tree-ssa-structalias.c (find_func_aliases): Handle escapes
via casts and asms without deferring to is_escape_site.

From-SVN: r148534

15 years agore PR middle-end/40446 (ICE in gen_lowpart_general)
Jakub Jelinek [Tue, 16 Jun 2009 13:48:07 +0000 (15:48 +0200)]
re PR middle-end/40446 (ICE in gen_lowpart_general)

PR middle-end/40446
* expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: Don't
use gen_lowpart if op0 has complex mode.

* g++.dg/other/pr40446.C: New test.

From-SVN: r148533

15 years agoRegenerate classfiles in rev 148530 with correct ecj version
Matthias Klose [Tue, 16 Jun 2009 13:36:37 +0000 (13:36 +0000)]
Regenerate classfiles in rev 148530 with correct ecj version

From-SVN: r148532

15 years agoMain.java (getGjdocVersion): Use gnu.classpath.Configuration.CLASSPATH_VERSION as...
Matthias Klose [Tue, 16 Jun 2009 13:22:43 +0000 (13:22 +0000)]
Main.java (getGjdocVersion): Use gnu.classpath.Configuration.CLASSPATH_VERSION as version number.

2009-06-16  Matthias Klose  <doko@ubuntu.com>

        * tools/gnu/classpath/tools/gjdoc/Main.java (getGjdocVersion): Use
        gnu.classpath.Configuration.CLASSPATH_VERSION as version number.
        * tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java
        (getDocletVersion): Likewise.
        * tools/classes/gnu/classpath/tools/gjdoc/Main*.class: Regenerate.
        * tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet*.class:
        Regenerate.

From-SVN: r148530

15 years agore PR fortran/10197 (direct acces files not unformatted by default)
Nick Clifton [Tue, 16 Jun 2009 12:43:58 +0000 (12:43 +0000)]
re PR fortran/10197 (direct acces files not unformatted by default)

        PR 10197
        * testsuite/test-demangle.c: Rename getline to get_line to avoid
        conflicts with system function of the same name.

From-SVN: r148526

15 years agotree-ssa-structalias.c (do_ds_constraint): Stores in global variables add them to...
Richard Guenther [Tue, 16 Jun 2009 12:31:49 +0000 (12:31 +0000)]
tree-ssa-structalias.c (do_ds_constraint): Stores in global variables add them to ESCAPED.

2009-06-16  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (do_ds_constraint): Stores in global
variables add them to ESCAPED.
(find_func_aliases): Do not make all indirectly stored values
escaped.

* gcc.dg/tree-ssa/pta-escape-1.c: New testcase.
* gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
* gcc.dg/tree-ssa/pta-escape-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-27.c: Likewise.

From-SVN: r148525

15 years agowinnt.c (i386_pe_encode_section_info): Update call to make_decl_one_only.
Rafael Avila de Espindola [Tue, 16 Jun 2009 10:59:59 +0000 (10:59 +0000)]
winnt.c (i386_pe_encode_section_info): Update call to make_decl_one_only.

2009-06-16  Rafael Avila de Espindola  <espindola@google.com>

* config/i386/winnt.c (i386_pe_encode_section_info): Update call to
make_decl_one_only.

From-SVN: r148523

15 years agore PR tree-optimization/40432 (verify_stmts failed with -O2: non-register as LHS...
Martin Jambor [Tue, 16 Jun 2009 10:16:40 +0000 (12:16 +0200)]
re PR tree-optimization/40432 (verify_stmts failed with -O2: non-register as LHS of unary operation)

2009-06-16  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/40432
* tree-sra.c (sra_modify_assign): When creating VIEW_CONVERT_EXPR,
check whether we need to force gimple register operand.

* testsuite/gcc.c-torture/compile/pr40432.c: New file.

From-SVN: r148522

15 years agocls_align_sint64.c, [...]: Fix printf format specifiers.
Andrew Haley [Tue, 16 Jun 2009 10:15:31 +0000 (10:15 +0000)]
cls_align_sint64.c, [...]: Fix printf format specifiers.

2009-06-16  Andrew Haley  <aph@redhat.com>

        * testsuite/libffi.call/cls_align_sint64.c,
        testsuite/libffi.call/cls_align_uint64.c,
        testsuite/libffi.call/cls_longdouble_va.c,
        testsuite/libffi.call/cls_ulonglong.c,
        testsuite/libffi.call/return_ll1.c,
        testsuite/libffi.call/stret_medium2.c: Fix printf format
        specifiers.
        * testsuite/libffi.call/ffitest.h,
        testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.

From-SVN: r148521

15 years agore PR tree-optimization/40413 (Internal error in connection with optimization and...
Martin Jambor [Tue, 16 Jun 2009 10:11:55 +0000 (12:11 +0200)]
re PR tree-optimization/40413 (Internal error in connection with optimization and allocatable objects)

2009-06-16  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/40413
* tree-sra.c (load_assign_lhs_subreplacements): Pass offset to
build_ref_for_offset.
(propagate_subacesses_accross_link): Fix a typo in a comment.

* testsuite/gfortran.fortran-torture/compile/pr40413.f90: New file.

From-SVN: r148520

15 years agore PR fortran/36947 (Attributes not fully checked comparing actual vs dummy procedure)
Janus Weil [Tue, 16 Jun 2009 09:06:13 +0000 (11:06 +0200)]
re PR fortran/36947 (Attributes not fully checked comparing actual vs dummy procedure)

2009-06-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/36947
PR fortran/40039
* expr.c (gfc_check_pointer_assign): Call 'gfc_compare_interfaces' with
error message.
* gfortran.h (gfc_compare_interfaces): Additional argument.
* interface.c (operator_correspondence): Removed.
(gfc_compare_interfaces): Additional argument to return error message.
Directly use the code from 'operator_correspondence' instead of calling
the function. Check for OPTIONAL. Some rearrangements.
(check_interface1): Call 'gfc_compare_interfaces' without error message.
(compare_parameter): Call 'gfc_compare_interfaces' with error message.
* resolve.c (check_generic_tbp_ambiguity): Call 'gfc_compare_interfaces'
without error message.

2009-06-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/36947
PR fortran/40039
* gfortran.dg/dummy_procedure_1.f90: Extended test case.
* gfortran.dg/interface_20.f90: Modified error messages.
* gfortran.dg/interface_21.f90: Ditto.
* gfortran.dg/interface_26.f90: Ditto.
* gfortran.dg/interface_27.f90: Ditto.
* gfortran.dg/interface_28.f90: Extended test case.
* gfortran.dg/interface_29.f90: New.
* gfortran.dg/proc_decl_7.f90: Modified error messages.
* gfortran.dg/proc_decl_8.f90: Ditto.
* gfortran.dg/proc_ptr_11.f90: Ditto.
* gfortran.dg/proc_ptr_15.f90: Ditto.

From-SVN: r148519

15 years agotree-parloops.c (loop_parallel_p): Call vect_is_simple_reduction with additional...
Ira Rosen [Tue, 16 Jun 2009 07:21:12 +0000 (07:21 +0000)]
tree-parloops.c (loop_parallel_p): Call vect_is_simple_reduction with additional parameter.

* tree-parloops.c (loop_parallel_p): Call vect_is_simple_reduction
with additional parameter.
* tree-vectorizer.h (enum vect_def_type): Add new value
vect_nested_cycle.
(enum vect_relevant): Add comments.
(vect_is_simple_reduction): Add new argument.
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Add comments.
Detect nested cycles.
(vect_is_simple_reduction): Update documentation, add an argument to
distinguish inner-loop reduction from nested cycle, detect nested
cycles, fix printings and indentation, don't swap operands in case
of nested cycle.
(get_initial_def_for_reduction): Handle subtraction.
(vect_create_epilog_for_reduction): Add new argument to specify
reduction variable.
(vect_finalize_reduction): Handle subtraction, fix comments.
(vectorizable_reduction): Handle nested cycles. In case of nested cycle
keep track of the reduction variable position. Call
vect_is_simple_reduction with additional parameter. Use original
statement code in reduction epilogue for nested cycle. Call
vect_create_epilog_for_reduction with additional parameter.
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Assert inner-loop
vectorization.
(vect_recog_widen_sum_pattern): Likewise.
* tree-vect-stmts.c (process_use): Distinguish between nested cycles
and reductions.
(vect_mark_stmts_to_be_vectorized): Likewise.
(vect_get_vec_def_for_operand): Handle nested cycles.

From-SVN: r148518

15 years agore PR fortran/40383 (incorrect bounds checking with optional character arguments)
Tobias Burnus [Tue, 16 Jun 2009 06:57:09 +0000 (08:57 +0200)]
re PR fortran/40383 (incorrect bounds checking with optional character arguments)

2009-06-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40383
        * trans-decl.c (create_function_arglist): Copy formal charlist
        * to
        have a proper passed_length for -fcheck=bounds.

2009-06-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40383
        * gfortran.dg/bounds_check_strlen_8.f90: New test.

From-SVN: r148517

15 years agoinvoke.texi (Debugging Options): Fix option index entries for -fdump-statistics...
Ralf Wildenhues [Tue, 16 Jun 2009 06:41:44 +0000 (06:41 +0000)]
invoke.texi (Debugging Options): Fix option index entries for -fdump-statistics...

gcc/
* doc/invoke.texi (Debugging Options): Fix option index entries
for -fdump-statistics, -frandom-seed add entries for
-fdump-tree-original, -fdump-tree-optimized, -frandom-seed.
(FRV Options): Fix entries for -mTLS, -mtls.
(HPPA Options): Fix entries for -mgnu-ld, -mhp-ld.
(i386 and x86-64 Options): Fix entry for -mno-red-zone.
(M68hc1x Options): Fix @itemx for -mnominmax.
(MCore Options): Fix entry for -mno-lsim.
(MMIX Options): Fix entry for -mabi=mmixware.
(PDP-11 Options): Fix entry for -mbcopy-builtin.

From-SVN: r148516

15 years agoplugins.texi (Interacting with the GCC Garbage Collector): Mention the plugin mode...
Basile Starynkevitch [Tue, 16 Jun 2009 05:56:39 +0000 (05:56 +0000)]
plugins.texi (Interacting with the GCC Garbage Collector): Mention the plugin mode of gengtype.

2009-06-16  Basile Starynkevitch  <basile@starynkevitch.net>

* gcc/doc/plugins.texi (Interacting with the GCC Garbage Collector):
Mention the plugin mode of gengtype.
* gcc/doc/gty.texi (Source Files Containing Type Information):
Likewise.
* gcc/gengtype.c: Updated copyright.
(plugin_files, nb_plugin_files) Added new static variables.
(measure_input_list) Care about plugin_files.
(write_rtx_next): Added early return in plugin mode.
(create_file): Updated copyright year in generated file. Added
asserts.
(oprintf): Added early return if NULL outf.
(get_output_file_with_visibility): Care of plugin_files.
(get_output_file_name): May return null.
(write_local): Added early return.
(put_mangled_filename): Ditto.
(finish_root_table): Added check for base_files.
(write_roots): Care about null when plugins.
(main): Added plugin mode.

From-SVN: r148515

15 years agodf-problems.c (df_simulate_one_insn_forwards): Fix braces in switch.
Ian Lance Taylor [Tue, 16 Jun 2009 05:12:15 +0000 (05:12 +0000)]
df-problems.c (df_simulate_one_insn_forwards): Fix braces in switch.

./: * df-problems.c (df_simulate_one_insn_forwards): Fix braces in
switch.
* gcov.c (read_count_file): Add braces around variables declared
before label.

* c.opt (Wjump-misses-init): New warning.
* c-opts.c (c_common_handle_option): Set warn_jump_misses_init for
-Wall and -Wc++-compat if not already set.
(c_common_post_options): Clear warn_jump_misses_init if it was not
set.
* c-decl.c (struct c_binding): Change type field to a union with
new label field.  Make it the first field in the struct.  Update
references to type to use u.type instead.
(struct c_spot_bindings): Define.
(struct c_goto_bindings): Define.
(c_goto_bindings_p): Define, along with VECs.
(struct c_label_vars): Define.
(struct c_scope): Add has_label_bindings field.
(bind_label, set_spot_bindings): New static functions.
(decl_jump_unsafe, update_spot_bindings): New static functions.
(update_label_decls): New static function.
(pop_scope): Call update_label_decls.  Don't call c_end_vm_scope.
Update binding u.label field to shadowed field.
(c_binding_start_stmt_expr): New function.
(c_binding_end_stmt_expr): New function.
(pushdecl): Don't call c_begin_vm_scope.
(make_label): Add defining and p_label_vars parameters.  Change
all callers.
(lookup_label): Correct test for whether a label has not yet been
defined.  Call bind_label rather than bind.
(warn_about_goto): New static function.
(lookup_label_for_goto): New function.
(declare_label): Call bind_label rather than bind.
(check_earlier_gotos): New static function.
(define_label): Don't give errors about jumping into statement
expressions or scopes of variably modified types.  Call
set_spot_bindings and check_earlier_gotos.  Call bind_label
instead of bind.  Don't set label_context_stack_se or
label_context_stack_vm.
(c_get_switch_bindings): New function.
(c_release_switch_bindings): New function.
(c_check_switch_jump_warnings): New function.
(start_function): Don't set label_context_stack_se or
label_context_stack_vm.
(finish_function): Likewise.
* c-typeck.c (label_context_stack_se): Don't define.
(label_context_stack_vm): Don't define.
(c_finish_goto_label): Call lookup_label_for_goto rather than
lookup_label.  Don't give errors about jumping into a statement
expression or the scope of a variably modified type.  Don't set
label_context_stack_se or label_context_stack_vm.
(struct c_switch): Remove blocked_stmt_expr and blocked_vm
fields.  Add bindings field.
(c_start_case): Don't set deleted fields.  Set bindings field.
(do_case): Rework order of tests.  Don't check blocked_stmt_expr
or blocked_vm.  Call c_check_switch_jump_warnings.
(c_finish_case): Don't test blocked_stmt_expr field.  Call
c_release_switch_bindings.
(c_begin_stmt_expr): Don't increment blocked_stmt_expr in
c_switch_stack.  Don't walk label_context_stack_se labels.  Don't
set label_context_stack_se.  Call c_bindings_start_stmt_expr.
(c_finish_stmt_expr): Don't decrement blocked_stmt_expr in
c_switch_stack.  Don't walk label_context_stack_se labels.  Don't
set label_context_stack_se.  Call c_bindings_end_stmt_expr.
(c_begin_vm_scope, c_end_vm_scope): Don't define.
* c-tree.h (C_DECL_UNJUMPABLE_STMT_EXPR): Don't define.
(C_DECL_UNDEFINABLE_STMT_EXPR): Don't define.
(C_DECL_UNJUMPABLE_VM): Don't define.
(C_DECL_UNDEFINABLE_VM): Don't define.
(struct c_label_list): Don't define.
(struct c_label_context_se): Don't define.
(struct c_label_context_vm): Don't define.
(struct c_spot_bindings): Declare.
(c_bindings_start_stmt_expr): Declare.
(c_bindings_end_stmt_expr): Declare.
(lookup_label_for_goto): Declare.
(c_get_switch_bindings, c_release_switch_bindings): Declare.
(c_check_switch_jump_warnings): Declare.
(label_context_stack_se, label_context_stack_vm): Don't declare.
(c_finish_goto_label): Update declaration.
(c_begin_vm_scope, c_end_vm_scope): Don't declare.
* doc/invoke.texi (Option Summary): Mention -Wjump-misses-init.
(Warning Options): Document -Wjump-misses-init.
cp/:
* parser.c (cp_parser_direct_declarator): Add braces around
variables declared before label.
objc/:
* objc-act.c (objc_start_function): Don't set
label_context_stack_se or label_context_stack_vm.
testsuite/:
* gcc.dg/Wjump-misses-init-1.c: New testcase.
* gcc.dg/Wjump-misses-init-2.c: New testcase.
* gcc.dg/c99-vla-jump-5.c: Adjust expected error messages.
Recognize new notes.
* gcc.dg/stmt-expr-label-2.c: Likewise.
* gcc.dg/c99-vla-jump-1.c: Recognize new notes.  Fix column
numbers.
* gcc.dg/c99-vla-jump-2.c: Recognize new notes.
* gcc.dg/c99-vla-jump-3.c: Recognize new notes.
* gcc.dg/c99-vla-jump-4.c: Likewise.
* gcc.dg/stmt-expr-label-1.c: Likewise.
* gcc.dg/stmt-expr-label-3.c: Likewise.
* gcc.dg/vla-8.c: Likewise.  Move error message to different
line.

From-SVN: r148512

15 years agobuiltin-math-6.c: Robustify and fix clog cases.
Kaveh R. Ghazi [Tue, 16 Jun 2009 04:30:46 +0000 (04:30 +0000)]
builtin-math-6.c: Robustify and fix clog cases.

* gcc.dg/torture/builtin-math-6.c: Robustify and fix clog cases.

From-SVN: r148511

15 years agoDaily bump.
GCC Administrator [Tue, 16 Jun 2009 00:16:33 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r148510

15 years agoprinters.py (StdMapPrinter.__init__): Don't set self.iter.
Tom Tromey [Mon, 15 Jun 2009 20:54:22 +0000 (20:54 +0000)]
printers.py (StdMapPrinter.__init__): Don't set self.iter.

* python/libstdcxx/v6/printers.py (StdMapPrinter.__init__): Don't
set self.iter.
(StdMapPrinter.to_string): Make a new iterator.
(StdMapPrinter.children): Likewise.
(StdSetPrinter.__init__): Don't set self.iter.
(StdSetPrinter.to_string): Make a new iterator.
(StdSetPrinter.children): Likewise.

From-SVN: r148506

15 years agotree-object-size.c (addr_object_size): Fix a pasto in the last change.
Jakub Jelinek [Mon, 15 Jun 2009 18:48:00 +0000 (20:48 +0200)]
tree-object-size.c (addr_object_size): Fix a pasto in the last change.

* tree-object-size.c (addr_object_size): Fix a pasto in the last
change.

* gcc.dg/builtin-object-size-7.c: New test.

From-SVN: r148503

15 years agoerr_bad_typedef.c: xfail everywhere.
Andrew Haley [Mon, 15 Jun 2009 17:14:53 +0000 (17:14 +0000)]
err_bad_typedef.c: xfail everywhere.

2009-06-15  Andrew Haley  <aph@redhat.com>

* testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
* testsuite/libffi.call/err_bad_abi.c: Likewise.

From-SVN: r148499

15 years agoFix bad checkin.
Andrew Haley [Mon, 15 Jun 2009 17:14:29 +0000 (17:14 +0000)]
Fix bad checkin.

From-SVN: r148498

15 years agore PR testsuite/40426 (Revision 148408 caused many DWARF tests faulures)
Jakub Jelinek [Mon, 15 Jun 2009 17:08:02 +0000 (19:08 +0200)]
re PR testsuite/40426 (Revision 148408 caused many DWARF tests faulures)

PR testsuite/40426
* lib/gcc-dg.exp (gcc-dg-debug-runtest): For type -gdwarf-2 and
level != "" use separate -gdwarf-2 -g${level} options instead of
-gdwarf-2${level}.
* lib/gfortran-dg.exp (gfortran-dg-debug-runtest): Likewise.
* gfortran.dg/debug/pr37738.f: Also skip if -gdwarf-2 -g1.
* gfortran.dg/debug/pr35154-dwarf2.f: Likewise.

From-SVN: r148497

15 years agocgraph.c (cgraph_make_node_local): Use DECL_COMDAT_GROUP.
Rafael Avila de Espindola [Mon, 15 Jun 2009 14:52:41 +0000 (14:52 +0000)]
cgraph.c (cgraph_make_node_local): Use DECL_COMDAT_GROUP.

2009-06-15  Rafael Avila de Espindola  <espindola@google.com>

* cgraph.c (cgraph_make_node_local): Use DECL_COMDAT_GROUP.

From-SVN: r148494

15 years agoexcept.c (init_eh): Use BUILTINS_LOCATION when calling build_decl.
Aldy Hernandez [Mon, 15 Jun 2009 14:27:18 +0000 (14:27 +0000)]
except.c (init_eh): Use BUILTINS_LOCATION when calling build_decl.

        * except.c (init_eh): Use BUILTINS_LOCATION when calling build_decl.
        * tree-eh.c (lower_try_finally_switch): Initialize tf_loc.

From-SVN: r148493

15 years agocgraphunit.c (cgraph_function_versioning,save_inline_function_body): Use DECL_COMDAT_...
Rafael Avila de Espindola [Mon, 15 Jun 2009 14:25:50 +0000 (14:25 +0000)]
cgraphunit.c (cgraph_function_versioning,save_inline_function_body): Use DECL_COMDAT_GROUP instead of DECL_ONE_ONLY.

2009-06-15  Rafael Avila de Espindola  <espindola@google.com>

* cgraphunit.c (cgraph_function_versioning,save_inline_function_body):
Use DECL_COMDAT_GROUP instead of DECL_ONE_ONLY.
* cgraph.c (cgraph_create_virtual_clone): Use DECL_COMDAT_GROUP.
* config/i386/i386.c (ix86_file_end): Compute DECL_COMDAT_GROUP.
* dwarf2asm.c(dw2_force_const_mem): Update call to make_decl_one_only.
* langhooks-def.h (lhd_comdat_group, LANG_HOOKS_COMDAT_GROUP): Remove.
(LANG_HOOKS_DECLS): Remove LANG_HOOKS_COMDAT_GROUP.
* langhooks.c (lhd_comdat_group): Remove.
* langhooks.h (lang_hooks_for_decls): Remove comdat_group.
* tree.h (DECL_COMDAT_GROUP): New.
(DECL_ONE_ONLY): Use DECL_COMDAT_GROUP.
(tree_decl_with_vis): Add comdat_group. Remove one_only.
(make_decl_one_only): Change signature.
* varasm.c (get_emutls_init_templ_addr, emutls_decl): Update call to
make_decl_one_only.
(make_decl_one_only): Change signature.
(default_elf_asm_named_section): Use DECL_COMDAT_GROUP.

2009-06-15  Rafael Avila de Espindola  <espindola@google.com>

* cp-objcp-common.h (LANG_HOOKS_COMDAT_GROUP): Remove.
* cp-tree.h (cxx_comdat_group): Change signature.
* decl.c (duplicate_decls): Use DECL_COMDAT_GROUP.
(cxx_comdat_group): Change signature.
* decl2.c (comdat_linkage, maybe_make_one_only): Update call to
make_decl_one_only.
(constrain_visibility, get_guard): Use DECL_COMDAT_GROUP.
* method.c (use_thunk): Update call to make_decl_one_only.
* optimize.c (maybe_clone_body): Use DECL_COMDAT_GROUP

2009-06-15  Rafael Avila de Espindola  <espindola@google.com>

* g++.dg/abi/mangle11.C: Update warning line.
* g++.dg/abi/mangle12.C: Update warning line.
* g++.dg/abi/mangle17.C: Update warning line.
* g++.dg/abi/mangle20-2.C: Update warning line.

From-SVN: r148492

15 years agoconfigure.ac: Define is_elf for QNX Neutrino targets.
Ryan Mansfield [Mon, 15 Jun 2009 14:09:43 +0000 (14:09 +0000)]
configure.ac: Define is_elf for QNX Neutrino targets.

* configure.ac: Define is_elf for QNX Neutrino targets.
* configure: Regenerate.

From-SVN: r148491

15 years agooptimize-bswap-1.c: Split into these two:
Andreas Krebbel [Mon, 15 Jun 2009 10:29:47 +0000 (10:29 +0000)]
optimize-bswap-1.c: Split into these two:

2009-06-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gcc.dg/optimize-bswap-1.c: Split into these two:
* gcc.dg/optimize-bswapsi-1.c: New testcase.
* gcc.dg/optimize-bswapdi-1.c: New testcase.

From-SVN: r148487

15 years agore PR middle-end/40439 (Bootstrap broken on FreeBSD in tree.c)
Richard Guenther [Mon, 15 Jun 2009 10:05:29 +0000 (10:05 +0000)]
re PR middle-end/40439 (Bootstrap broken on FreeBSD in tree.c)

2009-06-15  Richard Guenther  <rguenther@suse.de>

PR middle-end/40439
* tree.c (widest_int_cst_value): Fix bootstrap on 32bit HWI hosts.

From-SVN: r148486

15 years agotree-ssa-math-opts.c: Remove extra divide.
Andreas Krebbel [Mon, 15 Jun 2009 09:28:38 +0000 (09:28 +0000)]
tree-ssa-math-opts.c: Remove extra divide.

2009-06-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* tree-ssa-math-opts.c: Remove extra divide.

From-SVN: r148485

15 years agos390.md ("bswap<mode>2"): Only available on z900.
Andreas Krebbel [Mon, 15 Jun 2009 09:24:41 +0000 (09:24 +0000)]
s390.md ("bswap<mode>2"): Only available on z900.

2009-06-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.md ("bswap<mode>2"): Only available on z900.

From-SVN: r148483

15 years agoDaily bump.
GCC Administrator [Mon, 15 Jun 2009 00:16:58 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r148480

15 years agofmain.c (main): Don't PREFIX set_args.
Francois-Xavier Coudert [Sun, 14 Jun 2009 16:52:49 +0000 (16:52 +0000)]
fmain.c (main): Don't PREFIX set_args.

        * fmain.c (main): Don't PREFIX set_args.
        * libgfortran.h (set_args): Use iexport_proto.
        * runtime/main.c (set_args): Use iexport.

From-SVN: r148472

15 years agopasses.c: Add bswap pass.
Andreas Krebbel [Sun, 14 Jun 2009 14:45:32 +0000 (14:45 +0000)]
passes.c: Add bswap pass.

2009-06-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* passes.c: Add bswap pass.
* tree-pass.h: Add pass_optimize_bswap declaration.
* tree-ssa-math-opts.c: Include diagnostics.h for print_gimple_stmt.
Include rtl.h, expr.h and optabs.h for optab_handler check.
(struct symbolic_number, pass_optimize_bswap): New definition.
(do_shift_rotate, verify_symbolic_number_p): New functions.
(find_bswap_1, find_bswap, execute_optimize_bswap): New functions.
(gate_optimize_bswap): New function.
* tree.c (widest_int_cst_value): New function.
* tree.h (widest_int_cst_value): Prototype added.

2009-06-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gcc.dg/optimize-bswap-1.c: New testcase.

From-SVN: r148471

15 years agoDaily bump.
GCC Administrator [Sun, 14 Jun 2009 00:16:40 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r148466

15 years agocfgcleanup.c (old_insns_match_p): Remove code to substitute REG_EQUAL/REG_EQUIV notes.
Steven Bosscher [Sat, 13 Jun 2009 23:15:48 +0000 (23:15 +0000)]
cfgcleanup.c (old_insns_match_p): Remove code to substitute REG_EQUAL/REG_EQUIV notes.

* cfgcleanup.c (old_insns_match_p): Remove code to substitute
REG_EQUAL/REG_EQUIV notes.

From-SVN: r148463

15 years agore PR c++/40389 (optimizer bug (possibly))
Richard Guenther [Sat, 13 Jun 2009 22:58:13 +0000 (22:58 +0000)]
re PR c++/40389 (optimizer bug (possibly))

2009-06-14  Richard Guenther  <rguenther@suse.de>

PR middle-end/40389
* gimple.c (walk_stmt_load_store_addr_ops): The LHS of a call
has its address taken if NRV was applied and it is addressable.
* tree-ssa-structalias.c (get_constraint_for_address_of): New
function split out from ...
(get_constraint_for_1): ... here.
(handle_rhs_call): Use it to mark the return slot escaped if
it is addressable and NRV was applied.

* g++.dg/torture/pr40389.C: New testcase.

From-SVN: r148462

15 years agors6000-protos.h (altivec_resolve_overloaded_builtin): Change first argument type...
Aldy Hernandez [Sat, 13 Jun 2009 21:27:56 +0000 (21:27 +0000)]
rs6000-protos.h (altivec_resolve_overloaded_builtin): Change first argument type to location_t.

        * config/rs6000/rs6000-protos.h (altivec_resolve_overloaded_builtin):
        Change first argument type to location_t.
        * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Same.
        Do not set input_location.
        Use loc instead of input_location throughout.
objcp/
        * objcp-decl.h (start_struct): Add location argument.
        (finish_struct): Same.
        (finish_decl): New.

From-SVN: r148461

15 years agoFix nits
Eric Botcazou [Sat, 13 Jun 2009 19:18:57 +0000 (19:18 +0000)]
Fix nits

From-SVN: r148460

15 years agoutils.c (record_builtin_type): Pass location argument to build_decl.
Aldy Hernandez [Sat, 13 Jun 2009 17:12:50 +0000 (17:12 +0000)]
utils.c (record_builtin_type): Pass location argument to build_decl.

        * gcc-interface/utils.c (record_builtin_type): Pass location
        argument to build_decl.
        (create_type_stub_decl): Same.
        (create_type_decl): Same.
        (create_var_decl_1): Same.
        (create_field_decl): Same.
        (create_param_decl): Same.
        (create_label_decl): Same.
        (build_decl): Same.
        (create_subprog_decl): Same.
        * gcc-interface/decl.c (gnat_to_gnu_entity): Same.
        * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location
        argument to create_artificial_label.
        (Case_Statement_to_gnu): Same.
        (Loop_Statement_to_gnu): Same.
        (Subprogram_Body_to_gnu): Same.
        (gnat_gimplify_stmt): Same.

From-SVN: r148459