1. 01 Jun, 2009 17 commits
    • attribs.c (register_attribute): Use CONST_CAST. · 67165eb3
      ./:	* attribs.c (register_attribute): Use CONST_CAST.
      	* collect2.c (main): Use CONST_CAST2.
      	(scan_prog_file): Likewise.
      	* gcc.c (process_command, main): Likewise.
      	* toplev.c (toplev_main): Likewise.
      
      	* c-typeck.c (handle_warn_cast_qual): New static function,
      	partially broken out of build_c_cast.
      	(build_c_cast): Call handle_warn_cast_qual.
      	* doc/invoke.texi (Warning Options): Document new effect of
      	-Wcast-qual.
      ./java:	* jcf-io.c (find_class): Use CONST_CAST.
      ./testsuite:	* gcc.dg/cast-qual-3.c: New testcase.
      	* g++.dg/warn/Wcast-qual2.C: New testcase.
      
      From-SVN: r148053
      Ian Lance Taylor committed
    • diagnostic.c (diagnostic_build_prefix): Always print columns. · e74fe492
      
      gcc/
      	* diagnostic.c (diagnostic_build_prefix): Always print columns.
      	(diagnostic_report_current_module): Print columns.
      	* common.opt (flag_show_column): Enable by default.
      gcc/testsuite/
      	* lib/gcc-dg.exp (dg-bogus): Override dg-bogus.
      	(process-message): Expect column numbers.
      	* gcc.dg/va-arg-2.c: Use line 0 to indicate no column.
      	* gcc.dg/pch/counter-2.c: Same.
      	* gcc.dg/pch/valid-2.c: Same.
      	* gcc.dg/pch/warn-1.c: Same.
      	* gcc.dg/pch/valid-1.c: Same.
      	* gcc.dg/cpp/include2a.c: Handle lack of columns.
      	* gcc.dg/cpp/syshdr.c: Same.
      	* gcc.dg/cpp/19940712-1.c: Same.
      	* gcc.dg/cpp/missing-header-1.c: Same.
      	* gcc.dg/cpp/unc4.c: Remove -fno-show-column.
      	* gcc.dg/cpp/tr-warn3.c: Same.
      	* gcc.dg/cpp/pr29612-2.c: Same.
      	* gcc.dg/cpp/tr-warn4.c: Same.
      	* gcc.dg/cpp/Wtrigraphs.c: Same.
      	* gcc.dg/cpp/poison.c: Same.
      	* gcc.dg/cpp/arith-3.c: Same.
      	* gcc.dg/cpp/sysmac2.c: Same.
      	* gcc.dg/cpp/cpp.exp: Same.
      	* gcc.dg/cpp/tr-warn5.c: Same.
      	* gcc.dg/cpp/include2.c: Same.
      	* gcc.dg/cpp/Wmissingdirs.c: Same.
      	* gcc.dg/cpp/Wmissingdirs.c: Same.
      	* gcc.dg/cpp/tr-warn6.c: Same.
      	* gcc.dg/cpp/Wtrigraphs-2.c: Same.
      	* gcc.dg/cpp/macspace1.c: Same.
      	* gcc.dg/cpp/escape-2.c: Same.
      	* gcc.dg/cpp/assert2.c: Same.
      	* gcc.dg/cpp/undef2.c: Same.
      	* gcc.dg/cpp/macspace2.c: Same.
      	* gcc.dg/cpp/tr-warn1.c: Same.
      	* gcc.dg/cpp/extratokens2.c: Same.
      	* gcc.dg/cpp/strify2.c: Same.
      	* gcc.dg/cpp/Wsignprom.c: Same.
      	* gcc.dg/cpp/redef2.c: Same.
      	* gcc.dg/cpp/trad/trad.exp: Same.
      	* gcc.dg/cpp/arith-1.c: Same.
      	* gcc.dg/cpp/extratokens.c: Same.
      	* gcc.dg/cpp/if-mpar.c: Same.
      gcc/cp/
      	* error.c (print_instantiation_partial_context): Print column
      	numbers.
      libcpp/
      	* include/line-map.h (LAST_SOURCE_COLUMN): New.
      
      From-SVN: r148052
      Aldy Hernandez committed
    • cpp-id-data.h: Add extern "C". · 4851089f
      	* include/cpp-id-data.h: Add extern "C".
      	* include/line-map.h: Likewise.
      	* include/mkdeps.h: Likewise.
      	* include/symtab.h: Likewise.
      	* internal.h: Likewise.
      
      From-SVN: r148051
      Ian Lance Taylor committed
    • utils.c (convert): When converting to the packable version of the type... · db868e1e
      	ada/
      	* gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting
      	to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT
      	on the result if at least one of the input fields couldn't be output
      	as a static constant any more.
      
      	testsuite/
      	* gnat.dg/nested_float_packed.ads: New test.
      
      
      Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
      
      From-SVN: r148049
      Olivier Hainque committed
    • Add missing blanks after dots in entry. · 62295314
      From-SVN: r148048
      Olivier Hainque committed
    • alias.c (find_base_term): Check for NULL term before returning. · 7eba2d1f
      2009-06-01  Luis Machado  <luisgpm@br.ibm.com>
      
      	* alias.c (find_base_term): Check for NULL term before returning.
      
      From-SVN: r148047
      Luis Machado committed
    • Revert due to PR40320: · ee88d9aa
      	
      	2009-06-01  Maxim Kuvyrkov  <maxim@codesourcery.com>
      	* calls.c (emit_library_call_value_1): Don't force_operand for move
      	and push insns.
      
      From-SVN: r148046
      Maxim Kuvyrkov committed
    • tree.h (CONSTRUCTOR_BITFIELD_P): True if NODE... · 324c9b02
      	* tree.h (CONSTRUCTOR_BITFIELD_P): True if NODE, a FIELD_DECL, is
      	to be processed as a bitfield for constructor output purposes.
      	* output.h (initializer_constant_valid_for_bitfield_p): Declare
      	new function.
      	* varasm.c (oc_local_state): New type, output_constructor
      	local state to support communication with helpers.
      	(oc_outer_state): New type, output_constructor outer state of
      	relevance in recursive calls.
      	(output_constructor_array_range): New output_constructor helper,
      	extracted code for an array range element.
      	(output_constructor_regular_field): New output_constructor helper,
      	extracted code for an element that is not a bitfield.
      	(output_constructor_bitfield): New output_constructor helper,
      	extracted code for a bitfield element.  Accept an OUTER state
      	argument for recursive processing.  Recurse on record or array
      	CONSTRUCTOR values, possibly past noop conversions.
      	(initializer_constant_valid_for_bitfield_p): New predicate. Whether
      	VALUE is a valid constant-valued expression for use in a static
      	bit-field initializer.
      	(output_constructor): Rework to use helpers. Accept and honor an
      	OUTER state argument for recursive calls. Return total size. Be
      	prepared for nested constructors initializing bitfields.
      	(output_constant): Feed OUTER in calls to output_constructor.
      
      	ada/
      	* gcc-interface/utils2.c (gnat_build_constructor): Factor
      	out code. Use initializer_constant_valid_for_bitfield_p and
      	CONSTRUCTOR_BITFIELD_P for bit-fields.
      
      	testsuite/
      	* gnat.dg/oconst[1-6].ad[bs]: New tests. Also support for ...
      	* gnat.dg/test_oconst.adb: New test.
      
      
      Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
      
      From-SVN: r148045
      Olivier Hainque committed
    • calls.c (emit_library_call_value_1): Don't force_operand for move and push insns. · 0980d7fe
      	* calls.c (emit_library_call_value_1): Don't force_operand for move
      	and push insns.
      
      From-SVN: r148039
      Maxim Kuvyrkov committed
    • * doc/invoke.texi (IA-64 Options): Fix typo. · 29661412
      From-SVN: r148037
      Nick Clifton committed
    • re PR tree-optimization/39129 (The meaning of 'BB' in "too many BBs in loop") · e9dbe7bb
      
      	PR tree-optimization/39129
      	* tree-vect-loop-manip.c (conservative_cost_threshold): Change the 
      	printed message.
      	(vect_do_peeling_for_loop_bound): Use 
      	LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT and
      	LOOP_REQUIRES_VERSIONING_FOR_ALIAS macros.
      	(vect_loop_versioning): Likewise.
      	(vect_create_cond_for_alias_checks): Fix indentation.
      	* tree-vectorizer.h (struct _loop_vec_info): Fix indentation of the 
      	macros.
      	(LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT): Define.
      	(LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Likewise.
      	* tree-vect-loop.c (vect_analyze_loop_form): Change "too many BBs" to 
      	"control flow in loop".
      	(vect_estimate_min_profitable_iters): Use 
      	LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT and
      	LOOP_REQUIRES_VERSIONING_FOR_ALIAS macros.
      	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
      	(vect_create_data_ref_ptr): Don't mention array dimension in printing.
      	* tree-vect-stmts.c (vectorizable_store): Replace the check that the 
      	statement belongs to a group of strided accesses with the exact code 
      	check.
      	(vectorizable_load): Likewise.
      	* tree-vect-slp.c (vect_analyze_slp_instance): Spell out "basic block".
      	(vect_slp_analyze_bb, vect_slp_transform_bb): Likewise.
      
      From-SVN: r148036
      Ira Rosen committed
    • re PR fortran/40309 (gfortran does not support static c/d-tors.) · a7ad6c2d
      2009-06-01  Tobias Burnus  <burnus@net-b.de>
      
             PR fortran/40309
             * trans-decl.c (gfc_sym_identifier): Use "MAIN__" for PROGRAM "main".
             (create_main_function): Set main_identifier_node.
      
      From-SVN: r148035
      Tobias Burnus committed
    • ansidecl.h: Add extern "C" when compiling with C++. · 75afccba
      	* ansidecl.h: Add extern "C" when compiling with C++.  Treat C++
      	the way we treat an ISO C compiler.  Don't define inline as a
      	macdro when compiling with C++.
      	* dyn-string.h: Add header guard DYN_STRING_H.  Add extern "C"
      	when compiling with C++.
      	* fibheap.h: Add extern "C" when compiling with C++.
      
      From-SVN: r148032
      Ian Lance Taylor committed
    • decContext.h: Add extern "C" if compiling with C++. · 6863c0f0
      	* decContext.h: Add extern "C" if compiling with C++.
      	* decDPD.h: Likewise.
      	* decNumber.h: Likewise.
      	* dpd/decimal32.h: Likewise.
      	* dpd/decimal64.h: Likewise.
      	* dpd/decimal128.h: Likewise.
      
      From-SVN: r148030
      Ian Lance Taylor committed
    • freebsd-stdint.h: New file. · 5ac69a80
      	* config/freebsd-stdint.h: New file.
      	* config.gcc (*-*-freebsd): Set use_gcc_stdint=wrap.
      	Add freebsd-stdint.h to tm_file.
      
      From-SVN: r148027
      Gerald Pfeifer committed
    • thumb2.md (thumb2_zero_extendhidi2): New insn and split. · 54b2b460
      	* arm/thumb2.md (thumb2_zero_extendhidi2): New insn and split.
      	(thumb2_extendhidi2): Likewise.
      
      From-SVN: r148026
      Richard Earnshaw committed
    • Daily bump. · 3240b4d6
      From-SVN: r148025
      GCC Administrator committed
  2. 31 May, 2009 11 commits
  3. 30 May, 2009 6 commits
    • Reformat. · e19fa259
      From-SVN: r148003
      H.J. Lu committed
    • mingw-tls.c: New file. · a1bda0d7
      2009-05-30  Kai Tietz  <kai.tietz@onevision.com>
      
              * config/i386/mingw-tls.c: New file.
              * config/i386/t-gthr-win32 (LIB2FUNCS_EXTRA): Add
              mingw-tls.c file.
              * gthr-win32.h (MINGW32_SUPPORTS_MT_EH): Define
              it for targets defining _WIN32 but not __CYGWIN__.
      
      From-SVN: r148000
      Kai Tietz committed
    • snprintf.c: Doc fix. · ec5c6f4a
      * snprintf.c: Doc fix.
      
      * vsnprintf.c: Doc fix.
      
      From-SVN: r147998
      Eli Zaretskii committed
    • Makefile.def: Add MPC support and dependencies. · acd26225
      	* Makefile.def: Add MPC support and dependencies.
      	* configure.ac: Likewise.  Reorganize GMP/MPFR checks.
      
      	* Makefile.in, configure: Regenerate.
      	
      gcc:
      	* configure.ac: Add MPC support.
      	
      	* config.in, configure: Regenerate.
      
      From-SVN: r147996
      Kaveh R. Ghazi committed
    • cfgcleanup.c (try_crossjump_to_edge): Only skip past NOTE_INSN_BASIC_BLOCK. · cd9c1ca8
      	* cfgcleanup.c (try_crossjump_to_edge): Only skip past
      	NOTE_INSN_BASIC_BLOCK.
      	* cfglayout.c (duplicate_insn_chain): Copy epilogue insn marks.
      	Duplicate NOTE_INSN_EPILOGUE_BEG notes.
      	* cfgrtl.c (can_delete_note_p): Allow NOTE_INSN_EPILOGUE_BEG
      	to be deleted.
      	* dwarf2out.c (struct cfa_loc): Change indirect field to bitfield,
      	add in_use field.
      	(add_cfi): Disable check redefining cfa away from drap.
      	(lookup_cfa_1): Add remember argument; handle remember/restore.
      	(lookup_cfa): Pass remember argument.
      	(cfa_remember): New.
      	(compute_barrier_args_size_1): Remove sibcall check.
      	(dwarf2out_frame_debug_def_cfa): New.
      	(dwarf2out_frame_debug_adjust_cfa): New.
      	(dwarf2out_frame_debug_cfa_offset): New.
      	(dwarf2out_frame_debug_cfa_register): New.
      	(dwarf2out_frame_debug_cfa_restore): New.
      	(dwarf2out_frame_debug): Handle REG_CFA_* notes.
      	(dwarf2out_begin_epilogue): New.
      	(dwarf2out_frame_debug_restore_state): New.
      	(dw_cfi_oprnd1_desc): Handle DW_CFA_remember_state,
      	DW_CFA_restore_state.
      	(output_cfi_directive): Likewise.
      	(convert_cfa_to_fb_loc_list): Likewise.
      	(dw_cfi_oprnd1_desc): Handle DW_CFA_restore.
      	* dwarf2out.h: Update.
      	* emit-rtl.c (try_split): Don't split RTX_FRAME_RELATED_P.
      	(copy_insn_1): Early out for null.
      	* final.c (final_scan_insn): Call dwarf2out_begin_epilogue
      	and dwarf2out_frame_debug_restore_state.
      	* function.c (prologue, epilogue, sibcall_epilogue): Remove.
      	(prologue_insn_hash, epilogue_insn_hash): New.
      	(free_after_compilation): Adjust freeing accordingly.
      	(record_insns): Create hash table if needed; push insns into
      	hash instead of array.
      	(maybe_copy_epilogue_insn): New.
      	(contains): Search hash table instead of array.
      	(sibcall_epilogue_contains): Remove.
      	(thread_prologue_and_epilogue_insns): Split eh_return insns
      	and mark them as epilogues.
      	(reposition_prologue_and_epilogue_notes): Rewrite epilogue
      	scanning in terms of basic blocks.
      	* insn-notes.def (CFA_RESTORE_STATE): New.
      	* jump.c (returnjump_p_1): Accept EH_RETURN.
      	(eh_returnjump_p_1, eh_returnjump_p): New.
      	* reg-notes.def (CFA_DEF_CFA, CFA_ADJUST_CFA, CFA_OFFSET,
      	CFA_REGISTER, CFA_RESTORE): New.
      	* rtl.def (EH_RETURN): New.
      	* rtl.h (eh_returnjump_p, maybe_copy_epilogue_insn): Declare.
      
      	* config/bfin/bfin.md (UNSPEC_VOLATILE_EH_RETURN): Remove.
      	(eh_return_internal): Use eh_return rtx; split w/ epilogue.
      
      	* config/i386/i386.c (gen_push): Update cfa state.
      	(pro_epilogue_adjust_stack): Add set_cfa argument.  When true,
      	add a CFA_ADJUST_CFA note.
      	(ix86_dwarf_handle_frame_unspec): Remove.
      	(ix86_expand_prologue): Update cfa state.
      	(ix86_emit_restore_reg_using_pop): New.
      	(ix86_emit_restore_regs_using_pop): New.
      	(ix86_emit_leave): New.
      	(ix86_emit_restore_regs_using_mov): Add CFA_RESTORE notes.
      	(ix86_expand_epilogue): Add notes for unwinding the epilogue.
      	* config/i386/i386.h (struct machine_cfa_state): New.
      	(ix86_cfa_state): New.
      	* config/i386/i386.md (UNSPEC_EH_RETURN): Remove.
      	(eh_return_internal): Merge from eh_return_<mode>,
      	use eh_return rtx, split w/ epilogue.
      
      From-SVN: r147995
      Richard Henderson committed
    • Daily bump. · 36bac386
      From-SVN: r147994
      GCC Administrator committed
  4. 29 May, 2009 6 commits
    • builtins.c (validate_gimple_arglist): Don't use va_arg with enum type. · 72b5577d
      ./:	* builtins.c (validate_gimple_arglist): Don't use va_arg with
      	enum type.
      	* calls.c (emit_library_call_value_1): Likewise.
      
      	* c-typeck.c (c_build_va_arg): New function.
      	* c-tree.h (c_build_va_arg): Declare.
      	* c-parser.c (c_parser_postfix_expression): Call c_build_va_arg
      	instead of build_va_arg.
      cp/:
      	* error.c (cp_printer): Don't use va_arg with enum type.
      testsuite/:
      	* gcc.dg/Wcxx-compat-11.c: New testcase.
      
      From-SVN: r147989
      Ian Lance Taylor committed
    • inclhack.def (solaris_int_const): New fix. · b0999b01
      	* inclhack.def (solaris_int_const): New fix.
      	(solaris_int_limits_1): Likewise.
      	(solaris_int_limits_2): Likewise.
      	* fixincl.x: Regenerate.
      	* tests/base/sys/int_const.h: New file.
      	* tests/base/sys/int_limits.h: Likewise.
      
      From-SVN: r147988
      Eric Botcazou committed
    • re PR fortran/40019 (LEADZ and TRAILZ give wrong results) · 0a05c536
      2009-05-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
      
              PR fortran/40019
              * trans-types.c (gfc_build_uint_type): Make nonstatic.
              * trans.h (gfor_fndecl_clz128, gfor_fndecl_ctz128): New
              * prototypes.
              * trans-types.h (gfc_build_uint_type): Add prototype.
              * trans-decl.c (gfc_build_intrinsic_function_decls): Build
              gfor_fndecl_clz128 and gfor_fndecl_ctz128.
              * trans-intrinsic.c (gfc_conv_intrinsic_leadz,
              gfc_conv_intrinsic_trailz): Call the right builtins or library
              functions, and cast arguments to unsigned types first.
              * simplify.c (gfc_simplify_leadz): Deal with negative arguments.
      
      2009-05-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
      
              PR fortran/40019
              * intrinsics/bit_intrinsics.c: New file.
              * gfortran.map (GFORTRAN_1.2): New list.
              * Makefile.am: Add intrinsics/bit_intrinsics.c.
              * Makefile.in: Regenerate.
      
      2009-05-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
      
              PR fortran/40019
              * gfortran.dg/leadz_trailz_1.f90: New test.
              * gfortran.dg/leadz_trailz_2.f90: New test.
      
      From-SVN: r147987
      Francois-Xavier Coudert committed
    • pex-win32.c (pex_win32_fdopenr): Set INHERIT to false. · bb870b58
      2009-05-29  Kai Tietz  <kai.tietz@onevision.com>
      
              * pex-win32.c (pex_win32_fdopenr): Set INHERIT to false.
      
      From-SVN: r147984
      Kai Tietz committed
    • tree-ssa-loop-ivopts.c (strip_offset_1): New case. · 7a2faca1
      	* tree-ssa-loop-ivopts.c (strip_offset_1) <MULT_EXPR>: New case.
      	(force_expr_to_var_cost) <NEGATE_EXPR>: Likewise.
      	(ptr_difference_cost): Use affine combinations to compute it.
      	(difference_cost): Likewise.
      	(get_computation_cost_at): Compute more accurate cost for addresses
      	if the ratio is a multiplier allowed in addresses.
      	For non-addresses, consider that an additional offset or symbol is
      	added only once.
      
      From-SVN: r147983
      Eric Botcazou committed