1. 29 Sep, 2009 9 commits
    • decl.c (gnat_to_gnu_entity): Rewrite the handling of constrained discriminated record subtypes. · 95c1c4bb
      	* decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Rewrite the handling
      	of constrained discriminated record subtypes.
      	(components_to_record): Declare the type of the variants and of the
      	qualified union.
      	(build_subst_list): Move around.
      	(compute_field_positions): Rename into...
      	(build_position_list): ...this.  Return a TREE_VEC.
      	(annotate_rep): Adjust for above renaming.
      	(build_variant_list): New static function.
      	(create_field_decl_from): Likewise.
      	(get_rep_part): Likewise.
      	(get_variant_part): Likewise.
      	(create_variant_part_from): Likewise.
      	(copy_and_substitute_in_size): Likewise.
      
      From-SVN: r152272
      Eric Botcazou committed
    • guality.exp (gdb-test): New proc for use in dg-final. · 1dd61ee5
      	* gcc.dg/guality/guality.exp (gdb-test): New proc for use in dg-final.
      	* gcc.dg/guality/pr41353-1.c: New test.
      
      From-SVN: r152271
      Jakub Jelinek committed
    • function.c (current_function_name): If there is no current function just return "<none>". · c7ac4fb5
              * function.c (current_function_name): If there is no current
              function just return "<none>".
      
      From-SVN: r152269
      Nick Clifton committed
    • re PR fortran/39626 (Correctly implement details of Fortran 2008 BLOCK construct) · 9abe5e56
      2009-09-29  Daniel Kraft  <d@domob.eu>
      
      	PR fortran/39626
      	* gfortran.h (enum gfc_statement): Add ST_BLOCK and ST_END_BLOCK.
      	(struct gfc_namespace): Convert flags to bit-fields and add flag
      	`construct_entities' for use with BLOCK constructs.
      	(enum gfc_exec_code): Add EXEC_BLOCK.
      	(struct gfc_code): Add namespace field to union for EXEC_BLOCK.
      	* match.h (gfc_match_block): New prototype.
      	* parse.h (enum gfc_compile_state): Add COMP_BLOCK.
      	* trans.h (gfc_process_block_locals): New prototype.
      	(gfc_trans_deferred_vars): Made public, new prototype.
      	* trans-stmt.h (gfc_trans_block_construct): New prototype.
      	* decl.c (gfc_match_end): Handle END BLOCK correctly.
      	(gfc_match_intent): Error if inside of BLOCK.
      	(gfc_match_optional), (gfc_match_value): Ditto.
      	* match.c (gfc_match_block): New routine.
      	* parse.c (decode_statement): Handle BLOCK statement.
      	(case_exec_markers): Add ST_BLOCK.
      	(case_end): Add ST_END_BLOCK.
      	(gfc_ascii_statement): Handle ST_BLOCK and ST_END_BLOCK.
      	(parse_spec): Check for statements not allowed inside of BLOCK.
      	(parse_block_construct): New routine.
      	(parse_executable): Parse BLOCKs.
      	(parse_progunit): Disallow CONTAINS in BLOCK constructs.
      	* resolve.c (is_illegal_recursion): Find real container procedure and
      	don't get confused by BLOCK constructs.
      	(resolve_block_construct): New routine.
      	(gfc_resolve_blocks), (resolve_code): Handle EXEC_BLOCK.
      	* st.c (gfc_free_statement): Handle EXEC_BLOCK statements.
      	* trans-decl.c (saved_local_decls): New static variable.
      	(add_decl_as_local): New routine.
      	(gfc_finish_var_decl): Add variable as local if inside BLOCK.
      	(gfc_trans_deferred_vars): Make public.
      	(gfc_process_block_locals): New routine.
      	* trans-stmt.c (gfc_trans_block_construct): New routine.
      	* trans.c (gfc_trans_code): Handle EXEC_BLOCK statements.
      
      2009-09-29  Daniel Kraft  <d@domob.eu>
      
      	PR fortran/39626
      	* gfortran.dg/block_1.f08: New test.
      	* gfortran.dg/block_2.f08: New test.
      	* gfortran.dg/block_3.f90: New test.
      	* gfortran.dg/block_4.f08: New test.
      	* gfortran.dg/block_5.f08: New test.
      	* gfortran.dg/block_6.f08: New test.
      	* gfortran.dg/block_7.f08: New test.
      	* gfortran.dg/block_8.f08: New test.
      
      From-SVN: r152266
      Daniel Kraft committed
    • re PR libfortran/35862 ([F2003] Implement new rounding modes for run time) · 9b13eb84
      2009-09-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/35862
      	* gfortran.dg/round_1.f03: New test.
      	* gfortran.dg/f2003_io_3.f03: Update test.
      
      From-SVN: r152264
      Jerry DeLisle committed
    • re PR libfortran/35862 ([F2003] Implement new rounding modes for run time) · 379924dd
      2009-09-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/35862
      	* io.h (gfc_unit): Add round_status.
      	(format_token): Add enumerators for rounding format specifiers.
      	* transfer.c (round_opt): New options table.
      	(formatted_transfer_scalar_read): Add set round_status for each rounding
      	format token. (formatted_transfer_scalar_write): Likewise.
      	* format.c (format_lex): Tokenize the rounding format specifiers.
      	(parse_format_list): Parse the rounding format specifiers.
      	* write_float.def (outout_float): Modify rounding code to use new
      	variable rchar to set the appropriate rounding. Fix some whitespace.
      	* unit.c (get_internal_unit): Initialize rounding mode for internal
      	units. (init_units): Likewise.
      
      From-SVN: r152263
      Jerry DeLisle committed
    • re PR libfortran/35862 ([F2003] Implement new rounding modes for run time) · f2a71504
      2009-09-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/35862
      	* io.c (format_token): Add enumerators for rounding format specifiers.
      	(format_lex): Tokenize the rounding format specifiers.
      	(gfc_match_open): Enable rounding modes in OPEN statement.
      
      From-SVN: r152262
      Jerry DeLisle committed
    • Daily bump. · cb1049f9
      From-SVN: r152261
      GCC Administrator committed
    • eh_terminate.cc: Fixes for -fno-exceptions. · bbcfe54a
      2009-09-28  Benjamin Kosnik  <bkoz@redhat.com>
      
      	*  libsupc++/eh_terminate.cc: Fixes for -fno-exceptions.
      	*  libsupc++/vec.cc: Same.
      	*  libsupc++/vterminate.cc: Same.
      	*  libsupc++/new_opnt.cc: Same.
      
      From-SVN: r152258
      Benjamin Kosnik committed
  2. 28 Sep, 2009 19 commits
    • tree-pass.h (register_pass_info): New structure. · b80b0fd9
      	* tree-pass.h (register_pass_info): New structure.	
      	(pass_positioning_ops): Move enum from gcc-plugin.h.
      	(register_pass): New function.
      	* gcc-plugin.h (plugin_pass): Delete structure.
      	(pass_positioning_ops): Delete enum.
      	* plugin.c (regsiter_pass): Delete function.
      	(position_pass): Delete function.
      	(added_pass_nodes): Delete variable.
      	(prev_added_pass_nodes): Delete variable.
      	(pass_list_node): Delete structure.
      	* passes.c (make_pass_instance): New function.
      	(next_pass_1): Change to call make_pass_instance.
      	(pass_list_node): Move structure from gcc-plugin.h.
      	(added_pass_nodes): Move variable from plugin.c.
      	(prev_added_pass_nodes): Move variable from plugin.c.
      	(position_pass): New function.
      	(register_pass): New function.
      
      From-SVN: r152257
      Sriraman Tallam committed
    • win64.S (_ffi_call_win64 stack): Remove for gnu assembly version use of ___chkstk. · ef6ed66d
      2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
      
              * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
              assembly version use of ___chkstk.
      
      From-SVN: r152256
      Kai Tietz committed
    • Add PR reference to ChangeLog entry. · 8244fa39
      From-SVN: r152254
      Olivier Hainque committed
    • ifcvt.c (noce_try_abs): Recognize pattern and call expand_one_cmpl_abs_nojump. · 65026047
      ./:	* ifcvt.c (noce_try_abs): Recognize pattern and call
      	expand_one_cmpl_abs_nojump.
      	* optabs.c (expand_one_cmpl_abs_nojump): New function.
      	* optabs.h (expand_one_cmpl_abs_nojump): Declare.
      testsuite/:
      	* gcc.target/i386/ifcvt-onecmpl-abs-1.c: New file.
      	* gcc.c-torture/execute/ifcvt-onecmpl-abs-1.c: New file.
      
      From-SVN: r152253
      Easwaran Raman committed
    • re PR middle-end/40500 (Revision 148512 failed to build binutils) · 13ebf17b
      	PR middle-end/40500
      	* c-opts.c (c_common_handle_option): Don't set
      	warn_jump_misses_init for -Wall.
      	* doc/invoke.texi (Warning Options): Update documentation.
      
      From-SVN: r152252
      Ian Lance Taylor committed
    • Fix dependency of out_object_file on gt header for out_file. · 2bc98066
      gcc/:
      	* Makefile.in ($(out_object_file)): Depend on
      	gt-$(basename $(notdir $(out_file))).h.
      
      From-SVN: r152249
      Ralf Wildenhues committed
    • dfp.exp: Run tests from c-c++-common/dfp. · 8387984e
      	* g++.dg/dfp/dfp.exp: Run tests from c-c++-common/dfp.
      	* c-c++-common/dfp/func-vararg-alternate-d32.c: XFAIL for C++.
      	* c-c++-common/dfp/func-vararg-dfp.c: Ditto.
      	* c-c++-common/dfp/func-vararg-mixed.c: Ditto.
      	* c-c++-common/dfp/func-vararg-mixed-2.c: Ditto.
      
      From-SVN: r152247
      Janis Johnson committed
    • * g++.dg/dfp/dfp.exp: Fix typo. · 425a180d
      From-SVN: r152246
      Janis Johnson committed
    • target-supports.exp (check-effective-target-dfp-nocache): Fix typo that breaks the check. · efc7a2a5
      	* lib/target-supports.exp (check-effective-target-dfp-nocache):
      	Fix typo that breaks the check.
      
      From-SVN: r152245
      Janis Johnson committed
    • ada/ · 2d3a1837
              * gcc-interface/targtyps.c
              * (get_target_default_allocator_alignment):
              Account for observable alignments out of default allocators.
      
              testsuite/
              * gnat.dg (tagged_alloc_free.adb): New testcase.
      
      From-SVN: r152243
      Olivier Hainque committed
    • mangle.c (write_builtin_type): Support decimal float types. · d366d023
      	* mangle.c (write_builtin_type): Support decimal float types.
      	* g++.dg/dfp: New directory.
      	* g++.dg/dg.exp: Prune tests in dfp directory.
      	* g++.dg/dfp/dfp/exp: New.
      	* g++.dg/dfp/mangle-mode.C: New test.
      
      From-SVN: r152242
      Janis Johnson committed
    • except.h (struct eh_region_d): Add use_cxa_end_cleanup. · 384c400a
      	* except.h (struct eh_region_d): Add use_cxa_end_cleanup.
      	* except.c (gen_eh_region): Set it.
      	(duplicate_eh_regions_1): Copy it.
      	* tree-eh.c (lower_resx): Use it to determine which function
      	to call to resume.
      
      	* langhooks.h (struct lang_hooks): Add eh_use_cxa_end_cleanup.
      	* langhooks-def.h (LANG_HOOKS_EH_USE_CXA_END_CLEANUP): New.
      
      	* builtins.def (BUILT_IN_CXA_END_CLEANUP): New.
      	* tree.c (build_common_builtin_nodes): Remove parameter.  Build
      	BUILT_IN_CXA_END_CLEANUP if necessary.
      	* tree.h (build_common_builtin_nodes): Update decl.
      
      	* c-common.c (c_define_builtins): Update call to
      	build_common_builtin_nodes.
      
      gcc/ada/
      	* gcc-interface/utils.c (gnat_install_builtins): Update call to
      	build_common_builtin_nodes.
      
      gcc/cp/
      	* cp-objcp-common.h (LANG_HOOKS_EH_USE_CXA_END_CLEANUP): New.
      
      gcc/fortran/
      	* f95-lang.c (gfc_init_builtin_functions): Update call to
      	build_common_builtin_nodes.
      
      gcc/java/
      	* builtins.c (initialize_builtins): Update call to
      	build_common_builtin_nodes.
      	* lang.c (LANG_HOOKS_EH_USE_CXA_END_CLEANUP): New.
      
      From-SVN: r152241
      Richard Henderson committed
    • spu.c (get_branch_target): Return NULL for ASM_OPERANDS patterns. · aa633255
      2009-09-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>
              
              * spu.c (get_branch_target): Return NULL for ASM_OPERANDS patterns.
      
      From-SVN: r152239
      Andrew Pinski committed
    • builtins.c (interclass_mathfn_icode): New helper. · 44e10129
      	* builtins.c (interclass_mathfn_icode): New helper.
      	(expand_builtin_interclass_mathfn): Use it here, and split folding
      	into ...
      	(fold_builtin_interclass_mathfn): ... this new folder.
      	(build_call_nofold_loc): New static helper.
      	(build_call_nofold): New wrapper macro for above.
      	(expand_builtin_int_roundingfn): Use it instead of build_call_expr.
      	(expand_builtin_pow): Ditto.
      	(expand_builtin_memset_args): Ditto.
      	(expand_builtin_printf): Ditto.
      	(expand_builtin_fprintf): Ditto.
      	(expand_builtin_sprintf): Ditto.
      	(expand_builtin_memory_chk): Ditto.
      	(expand_builtin_mempcpy_args): Ditto and don't call folders.
      	(expand_builtin_stpcpy): Ditto.
      	(expand_builtin_strcmp): Ditto.
      	(expand_builtin_strncmp): Ditto.
      	(expand_builtin_strcpy): Remove FNDECL and MODE arguments.
      	(expand_builtin_strcpy_args): Don't call folders.
      	(expand_builtin_memcmp): Ditto.
      	(expand_builtin_strncpy): Ditto, and use target.
      	(expand_builtin_memcpy): Ditto.
      	(expand_builtin_strstr, expand_builtin_strchr, expand_builtin_strrchr,
      	expand_builtin_strpbrk, expand_builtin_memmove,
      	expand_builtin_memmove_args, expand_builtin_bcopy,
      	expand_builtin_memchr, expand_builtin_strcat, expand_builtin_strncat,
      	expand_builtin_strspn, expand_builtin_strcspn,
      	expand_builtin_fputs): Remove these.
      	(expand_builtin): Don't call the above, change calls to other
      	expanders that changed prototype.
      	(fold_builtin_stpcpy): New folder split out from expand_builtin_stpcpy.
      	(fold_builtin_1 <ISFINITE, ISINF, ISNORMAL>): Call
      	fold_builtin_interclass_mathfn.
      	(fold_builtin_2 <STPCPY>): Call fold_builtin_stpcpy.
      	(fold_builtin_strcat): Add folding split from expand_builtin_strcat.
      
      	* fold-const.c (fold_binary_loc <NE_EXPR>): Add !exp != 0 -> !exp.
      	* passes.c (init_optimization_passes): Move pass_fold_builtins
      	after last phiopt pass.
      	* tree-inline.c (fold_marked_statements): When folding builtins
      	iterate over all instruction potentially generated.
      	* tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Declare
      	earlier.
      	(fold_gimple_call): Use it to always fold calls (into potentially
      	multiple instructions).
      	* tree-ssa-dom.c (optimize_stmt): Resolve __builtin_constant_p
      	calls into zero at this time.
      	* tree-ssa-propagate.c (substitute_and_fold): Ignore multiple 
      	statements generated by builtin folding.
      
      testsuite/
      	* gcc.dg/builtins-44.c: Use __builtin_isinf_sign when checking
      	for sign of -Inf.
      
      From-SVN: r152236
      Michael Matz committed
    • m32r.c (m32r_is_insn): Return false for debugging insns. · d813aaba
              * config/m32r/m32r.c (m32r_is_insn): Return false for debugging
              insns.
      
      From-SVN: r152235
      Nick Clifton committed
    • for_each_selectors.h: Remove obsolete comment. · b112ce96
      2009-09-28  Johannes Singler  <singler@ira.uka.de>
      
              * include/parallel/for_each_selectors.h:  Remove obsolete comment.
      
      From-SVN: r152234
      Johannes Singler committed
    • Correct off-by-one error in changelog date. · 1d7d659d
      From-SVN: r152233
      Duncan Sands committed
    • Add support for using ggc cache tables from plugins. · 32c9b4e9
      Approved by Ian Lance Taylor.
      
      From-SVN: r152232
      Duncan Sands committed
    • Daily bump. · bd77e02d
      From-SVN: r152230
      GCC Administrator committed
  3. 27 Sep, 2009 12 commits
    • tree-ssa-ccp.c (optimize_stack_restore): Relax the conditions under which we… · ff9d1adc
      tree-ssa-ccp.c (optimize_stack_restore): Relax the conditions under which we remove __builtin_stack_restore.
      
      * tree-ssa-ccp.c (optimize_stack_restore): Relax the conditions under
              which we remove __builtin_stack_restore.
      
      From-SVN: r152227
      Richard Henderson committed
    • loop-iv.c (iv_analyze_op): Use function_invariant_p, not CONSTANT_P, to test for GRD_INVARIANT. · cdf1bf8b
      	* loop-iv.c (iv_analyze_op): Use function_invariant_p, not CONSTANT_P,
      	to test for GRD_INVARIANT.
      	(simple_rhs_p): Anything that's function_invariant_p is fine.
      
      From-SVN: r152226
      Bernd Schmidt committed
    • Remove some lines emacs decided to include. · ee5fe537
      From-SVN: r152225
      Rafael Espindola committed
    • Fix "merge" problem in the previous patch. · ea2ca633
      2009-09-27  Rafael Avila de Espindola  <espindola@google.com>
      
      	* gengtype.c (main): Use plunge_files instead of plugin_output.
      
      From-SVN: r152224
      Rafael Espindola committed
    • gengtype.c (write_root, [...]): Add a emit_pch argument. · 99be7084
      2009-09-27  Basile Starynkevitch  <basile@starynkevitch.net>
      	    Rafael Avila de Espindola  <espindola@google.com>
      
      	* gengtype.c (write_root, write_roots): Add a emit_pch argument.
      	Don't print pch related info if it is false.
      	(main): Don't print pch info in plugin mode.
      
      
      Co-Authored-By: Rafael Avila de Espindola <espindola@google.com>
      
      From-SVN: r152223
      Basile Starynkevitch committed
    • dwarf2out.c (enum dw_val_class): Replace dw_val_class_long_long with dw_val_class_const_double. · 4c0ce3c9
      	* dwarf2out.c (enum dw_val_class): Replace dw_val_class_long_long
      	with dw_val_class_const_double.
      	(struct dw_val_struct): Replace val_long_long with val_double and
      	adjust for above change.
      	(output_loc_operands): Likewise.
      	(add_AT_long_long): Rename into...
      	(add_AT_double): ...this.
      	(print_die): Replace dw_val_class_long_long with
      	dw_val_class_const_double and adjust.
      	(attr_checksum): Likewise.
      	(same_dw_val_p): Likewise.
      	(size_of_die): Likewise.
      	(value_format): Likewise.
      	(output_die): Likewise.
      	(loc_descriptor) <CONST_DOUBLE>: Likewise.
      	(add_const_value_attribute) <CONST_DOUBLE>: Call add_AT_double
      	instead of add_AT_long_long.
      	(add_bound_info) <INTEGER_CST>: Generate the bound as an unsigned
      	value with the precision of its type.
      
      From-SVN: r152222
      Eric Botcazou committed
    • re PR c/41476 (__typeof__ expands to const type for function types) · afbd0665
              PR c/41476
      	* c-typeck.c (build_conditional_expr): Use the readonly and
      	volatile flags of the operand types, not of the operands itself.
      
      testsuite/:
      	* gcc.dg/cond-constqual-1.c: New test.
      
      From-SVN: r152220
      Andreas Schwab committed
    • collect2.c (main): Look for -brtl before adding libraries. · 88febe35
      From-SVN: r152219
      Peter O'Gorman committed
    • config.gcc: Update OpenBSD targets. · aa58f943
      	* config.gcc: Update OpenBSD targets.
      	* config/openbsd-stdint.h: New file.
      	* config/openbsd-libpthread.h: New file.
      	* config/openbsd.h: Update and break out LIB_SPEC definition.
      	* config/alpha/openbsd.h: Overhaul to reflect ELF migration.
      	* config/i386/openbsdelf.h: Correct types.
      	* config/m68k/openbsd.h: Likewise.
      	* config/mips/openbsd.h: Likewise.
      	* config/vax/openbsd.h: Likewise.
      
      From-SVN: r152218
      Jonathan Gray committed
    • fold-const.c (maybe_lvalue_p): Return false for M(IN|AX)_EXPR. · ffaf6f25
      	* fold-const.c (maybe_lvalue_p): Return false for M(IN|AX)_EXPR.
      	(extract_muldiv_1) <MINUS_EXPR>: Swap operands if necessary.
      	* stor-layout.c (layout_type) <ARRAY_TYPE>: Do not take the maximum
      	of the length and zero.
      
      From-SVN: r152217
      Eric Botcazou committed
    • Fix dependencies in gcc/Makefile.in. · 464778c0
      gcc/:
      	* Makefile.in (TOPLEV_H): Use $(INPUT_H) not input.h.
      	(FLAGS_H): Add options.h $(REAL_H).
      	(SEL_SCHED_IR_H): Add $(BITMAP_H) vecprim.h $(CFGLOOP_H).
      	(TREE_VECTORIZER_H): New.
      	(EBITMAP_H): Renamed from EBIMAP_H.
      	(c-decl.o, c-objc-common.o, c-pretty-print.o, attribs.o, c-omp.o)
      	(gtype-desc.o, ggc-common.o, ggc-page.o, ggc-zone.o, langhooks.o)
      	(tree.o, tree-ssa-structalias.o, tree-ssa-ter.o, tree-ssanames.o)
      	(tree-phinodes.o, tree-ssa-loop.o, tree-ssa-math-opts.o)
      	(gimple-low.o, omp-low.o, sese.o, graphite-blocking.o)
      	(graphite-clast-to-gimple.o, graphite-dependences.o)
      	(graphite-interchange.o, graphite-poly.o, graphite-scop-detection.o)
      	(graphite-sese-to-poly.o, tree-vect-loop.o, tree-vect-loop-manip.o)
      	(tree-vect-patterns.o, tree-vect-slp.o, tree-vect-stmts.o)
      	(tree-vect-data-refs.o, tree-vectorizer.o, gimple.o, tree-mudflap.o)
      	(targhooks.o, stmt.o, emit-rtl.o, ipa.o, matrix-reorg.o, ipa-inline.o)
      	(gcse.o, tree-ssa-ccp.o, df-byte-scan.o, vec.o, caller-save.o)
      	(ira-build.o, ira-costs.o, ira-color.o, ira-emit.o, ira.o)
      	(haifa-sched.o, sched-rgn.o, sel-sched.o, sel-sched-dump.o)
      	(sel-sched-ir.o, final.o, $(out_object_file)): Dependencies
      	updated and fixed as per above changes and per
      	check_makefile_deps.sh output.
      
      From-SVN: r152216
      Ralf Wildenhues committed
    • Fix library dependencies for -Wl,--as-needed. · c829a888
      gcc/:
      	PR bootstrap/40928
      	* configure.ac: Use $LIBS for '-ldl', not $LDFLAGS.
      	* configure: Regenerate.
      
      libjava/:
      	PR libgcj/38298
      	* Makefile.am (libgcj_tools_la_LIBADD): Add '-lm'.
      	* Makefile.in: Regenerate.
      
      From-SVN: r152215
      Ralf Wildenhues committed