aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2007-11-20Daily bump.GCC Administrator1-1/+1
From-SVN: r130301
2007-11-19note PR 28834Jason Merrill1-1/+1
From-SVN: r130298
2007-11-19PR debug/29436, c/32326Jason Merrill7-43/+44
PR debug/29436, c/32326 * tree.c (build_type_attribute_qual_variant): Refuse to make a distinct copy of a struct/enum type. Use build_distinct_type_copy. * doc/extend.texi (Type Attributes): Don't encourage people to add attributes to struct/enum types in a typedef. Fix transparent_union example. * tree-inline.c (remap_type_1): Remove code that's redundant with remap_type. (build_duplicate_type): Set id.copy_decl. * c-common.c (handle_transparent_union_attribute): Simplify logic. From-SVN: r130297
2007-11-19rs6000.c (invalid_e500_subreg, [...]): Handle DDmode and TDmode similarly to ↵Peter Bergner5-39/+131
DFmode and TFmode. * config/rs6000/rs6000.c (invalid_e500_subreg, rs6000_legitimate_offset_address_p, legitimate_lo_sum_address_p, rs6000_legitimize_address, rs6000_legitimize_reload_address, rs6000_legitimate_address, function_arg_advance, spe_build_register_parallel, rs6000_spe_function_arg, rs6000_split_multireg_move, spe_func_has_64bit_regs_p, emit_frame_save, gen_frame_mem_offset, rs6000_function_value, rs6000_libcall_value, rs6000_dwarf_register_span): Handle DDmode and TDmode similarly to DFmode and TFmode. * config/rs6000/rs6000.h (LOCAL_ALIGNMENT, MEMBER_TYPE_FORCES_BLK, DATA_ALIGNMENT, CLASS_MAX_NREGS, CANNOT_CHANGE_MODE_CLASS): Likewise. * gcc.dg/dfp/ddmode-ice.c: New test. From-SVN: r130296
2007-11-19Add missing entry.Eric Botcazou1-0/+7
From-SVN: r130295
2007-11-19re PR ada/34098 (xgcc: Internal error: Segmentation fault (program gnat1))Eric Botcazou7-80/+33
PR ada/34098 ada/ * misc.c (gnat_adjust_rli): Delete. (gnat_init): Do not initialize the translation code here. Do not call set_lang_adjust_rli. * trans.c (init_code_table): Make static. (gnat_init_stmt_group): Delete. (gigi): Initialize the translation code entirely here. Emit debug info for the common types here instead of... * utils.c (gnat_init_decl_processing): ...here. * gigi.h (init_code_table): Delete. (gnat_init_stmt_group): Likewise. * stor-layout.c (lang_adjust_rli): Delete. (set_lang_adjust_rli): Likewise. (layout_type): Do not call lang_adjust_rli hook. * tree.h (set_lang_adjust_rli): Delete. From-SVN: r130294
2007-11-19re PR tree-optimization/34036 (ICE with control flow in the middle of basic ↵Eric Botcazou2-1/+7
block for -fnon-call-exceptions) PR tree-optimization/34036 * gcc.dg/tree-ssa/pr23109.c: Pass -ftrapping-math and expect warning. From-SVN: r130293
2007-11-19bfin.c (must_save_p): New function, mostly broken out of n_dregs_to_save and ↵Bernd Schmidt2-96/+185
n_pregs_to_save. * config/bfin/bfin.c (must_save_p): New function, mostly broken out of n_dregs_to_save and n_pregs_to_save. (n_pregs_to_save, n_dregs_to_save): Use it. New argument CONSECUTIVE; all callers changed. (expand_prologue_reg_save, expand_epilogue_reg_restore): Enhance to be able to save single D/P registers that aren't saved by the push/pop multiple insns. From-SVN: r130292
2007-11-19re PR tree-optimization/34099 (optimizer problem)Richard Biener1-0/+5
2007-11-19 Richard Guenther <rguenther@suse.de> PR tree-optimization/34099 * tree-ssa-ccp.c (likely_value): Exclude all but PLUS_EXPR, MINUS_EXPR and POINTER_PLUS_EXPR from handling as UNDEFINED if only one operand is undefined. * gcc.c-torture/execute/pr34099-2.c: New testcase. From-SVN: r130290
2007-11-19re PR tree-optimization/34099 (optimizer problem)Richard Guenther3-22/+57
2007-11-19 Richard Guenther <rguenther@suse.de> PR tree-optimization/34099 * tree-ssa-ccp.c (likely_value): Exclude all but PLUS_EXPR, MINUS_EXPR and POINTER_PLUS_EXPR from handling as UNDEFINED if only one operand is undefined. * gcc.c-torture/execute/pr34099-2.c: New testcase. From-SVN: r130289
2007-11-19re PR fortran/34079 (Bind(C): Character argument/return value problems)Tobias Burnus5-9/+188
2007-11-19 Tobias Burnus <burnus@net-b.de> PR fortran/34079 * decl.c (gfc_match_entry): Support BIND(C). (gfc_match_subroutine): Fix comment typo. 2007-11-19 Tobias Burnus <burnus@net-b.de> PR fortran/34079 * gfortran.dg/bind_c_usage_10_c.c: New. * gfortran.dg/bind_c_usage_10.f03: New. From-SVN: r130288
2007-11-19re PR tree-optimization/34036 (ICE with control flow in the middle of basic ↵Eric Botcazou2-5/+5
block for -fnon-call-exceptions) PR tree-optimization/34036 * doc/invoke.texi (Optimize Options): Refactor documentation of -ffast-math. From-SVN: r130287
2007-11-19re PR tree-optimization/34036 (ICE with control flow in the middle of basic ↵Eric Botcazou8-11/+74
block for -fnon-call-exceptions) PR tree-optimization/34036 * opts.c (set_fast_math_flags): Do not set flags in common with set_unsafe_math_optimizations_flags, invoke it directly. (set_unsafe_math_optimizations_flags): Unset flag_trapping_math and flag_signed_zeros. * toplev.c (process_options): Force flag_associative_math to 0 and warn, if it is set and either flag_trapping_math or flag_signed_zeros is set too. * doc/invoke.texi (Optimize Options): Document the new behavior of -funsafe-math-optimizations, that -fassociative-math requires both -fno-signed-zeros and -fno-trapping-math and make it clear that -fno-trapping-math requires -fno-signaling-nans. From-SVN: r130286
2007-11-19Daily bump.GCC Administrator1-1/+1
From-SVN: r130283
2007-11-18re PR c++/30988 (Incorrect "no return statement" warning with __attribute__ ↵Jakub Jelinek7-0/+85
((noreturn)) and __FUNCTION__) PR c++/30988 semantics.c (finish_call_expr): Set current_function_returns_abnormally if fn is noreturn FUNCTION_DECL or OVERLOAD with all noreturn functions. * g++.dg/warn/noreturn-4.C: New test. * g++.dg/warn/noreturn-5.C: New test. * g++.dg/warn/noreturn-6.C: New test. * g++.dg/warn/noreturn-7.C: New test. From-SVN: r130280
2007-11-18re PR fortran/32770 ([Meta-bug] -fdefault-integer-8 issues)Thomas Koenig8-18/+36
2007-11-18 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/32770 * gfortran.fortran-torture/execute/equiv_5.f: Set kind on integers so tests works with -fdefault-integer-8. * gfortran.fortran-torture/execute/elemental.f90: Use default integers so test passes with -fdefault-integer-8. * gfortran.fortran-torture/execute/der_io.f90: Increase buffer length so test passes with -fdefault-integer-8. * gfortran.dg/bounds_check_8.f90: Likewise. * gfortran.dg/arrayio_derived_1.f90: LIkewise. * gfortran.dg/equiv_7.f90: Set kind so test passes with -fdefault-integer-8. * gfortran.dg/g77/20030326-1.f: Set kind explicitly to provoke overflow. From-SVN: r130279
2007-11-18Add PR reference to previous entry.Jerry DeLisle1-0/+1
From-SVN: r130278
2007-11-18re PR fortran/33317 (CSHIFT/EOSHIFT: Rejects optional dummy for DIM=)Jerry DeLisle3-1/+33
2007-11-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/33317 * gfortran.dg/optional_dim_2.f90: New test. PR fortran/34139 * gfortran.dg/subref_array_pointer_2.f90: Update test condition. From-SVN: r130277
2007-11-18trans-expr.c (gfc_conv_missing_dummy): Set the type of the dummy argument to ↵Jerry DeLisle6-29/+38
default integer if flagged to do so. 2007-11-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> * trans-expr.c (gfc_conv_missing_dummy): Set the type of the dummy argument to default integer if flagged to do so. Fix typo in comment. * resolve.c (gfc_resolve_dim_arg): Whitespace cleanup. * iresolve.c (gfc_resolve_cshift): Do not convert type, mark attribute for converting the DIM type appropriately in trans-expr.c. (gfc_resolve_eoshift): Likewise. * check.c (dim_check): Remove pre-existing dead code. (gfc_check_cshift): Enable dim_check to allow DIM as an optional. (gfc_check_eoshift): Likewise. * trans_intrinsic.c (gfc_conv_intrinsic_function_args): Fix whitespace. From-SVN: r130276
2007-11-18re PR rtl-optimization/34132 (ICE: internal consistency failure (invalid rtl ↵Jakub Jelinek4-1/+28
sharing found in the insn)) PR rtl-optimization/34132 * gcse.c (try_replace_reg): Avoid rtx sharing between REG_EQUAL note and insn. * gcc.c-torture/compile/20071118-1.c: New test. From-SVN: r130275
2007-11-18re PR middle-end/33335 (FAIL: ↵Jakub Jelinek3-407/+447
26_numerics/complex/inserters_extractors/wchar_t/1.cc) PR middle-end/33335 * optabs.h (optab_table): Change type to struct optab from optab. (convert_optab_table): Similarly. Adjust all _optab macros to expand to addresses of optab_table resp. convert_optab_table elements rather than the values of the elements. * optabs.c (optab_table): Change typype to struct optab from optab. If compiled by recent GCC, initialize all the insn_code fields in the array using designated range initializers. (convert_optab_table): Similarly. (convert_optab_libfunc, optab_libfunc, set_optab_libfunc, set_conv_libfunc): Into libfunc_entry's optab field store index within optab_table resp. convert_optab_table array instead of difference between two separately malloced addresses. (new_optab): Add op argument, don't return anything. Initialize just the insn_code field in handlers array and only when needed. (init_optab, init_optabv): Add op argument, don't return anything. Adjust new_optab caller. (new_convert_optab): Removed. (init_convert_optab): Add op argument, don't return anything, don't call new_convert_optab. If needed, initialize insn_code field in handlers array. (init_optabs): Adjust init_optab, init_optabv and init_convert_optab callers. (debug_optab_libfuncs): Adjust uses of optab_table and convert_optab_table arrays. From-SVN: r130274
2007-11-18re PR fortran/31608 (wrong types in character array/scalar binop)Paul Thomas5-11/+53
2007-11-18 Paul Thomas <pault@gcc.gnu.org> PR fortran/31608 * trans-array.c (gfc_conv_expr_descriptor): Remove exception for indirect references in the call to gfc_trans_scalar_assign. * trans-expr.c (gfc_conv_string_parameter): Instead of asserting that the expression is not an indirect reference, cast it to a pointer type of the length given by se->string_length. 2007-11-18 Paul Thomas <pault@gcc.gnu.org> PR fortran/31608 * gfortran.dg/char_cast_2.f90: New test based on achar_4.f90. From-SVN: r130271
2007-11-18re PR fortran/34137 (Module function with ENTRY rejected)Tobias Burnus6-4/+158
2007-11-18 Tobias Burnus <burnus@net-b.de> PR fortran/34137 * primary.c (match_variable): Reject non-result entry symbols. * resolve.c (resolve_contained_fntype): Do not check entry * master functions. 2007-11-18 Tobias Burnus <burnus@net-b.de> PR fortran/34137 * gfortran.dg/entry_14.f90: New. * gfortran.dg/entry_15.f90: New. From-SVN: r130270
2007-11-18re PR tree-optimization/34127 (ICE: tree-ssa-operands.c:1688)Richard Guenther4-2/+23
2007-11-18 Richard Guenther <rguenther@suse.de> PR tree-optimization/34127 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars): Make code match up the comments, require compatibility of the pointed-to types. * gcc.c-torture/compile/pr34127.c: New testcase. From-SVN: r130269
2007-11-18altivec-23.c: Do not use a typedef name as a type specifier...Ben Elliston2-3/+8
* gcc.target/powerpc/altivec-23.c: Do not use a typedef name as a type specifier, as they are not permitted according to the AltiVec Programming Interface Manual. From-SVN: r130268
2007-11-18constants.c (build_constants_constructor): Use POINTER_SIZE insead of ↵David Daney2-5/+11
BITS_PER_WORD in big-endian work around. 2007-11-16 David Daney <ddaney@avtrex.com> Andrew Haley <aph@redhat.com> * constants.c (build_constants_constructor): Use POINTER_SIZE insead of BITS_PER_WORD in big-endian work around. From-SVN: r130267
2007-11-18Daily bump.GCC Administrator1-1/+1
From-SVN: r130265
2007-11-17* trans-types.c (gfc_init_types): Use wider buffer.Francois-Xavier Coudert2-1/+5
From-SVN: r130262
2007-11-17trans-types.c (gfc_init_types): Use Fortran-90-style type names, with kinds.Francois-Xavier Coudert2-5/+10
* trans-types.c (gfc_init_types): Use Fortran-90-style type names, with kinds. From-SVN: r130261
2007-11-17re PR fortran/34133 (Bind(c,name="") should be rejected for dummies; F2008: ↵Tobias Burnus5-5/+79
allow bind(c) for internal procs) 2007-11-17 Tobias Burnus <burnus@net-b.de> PR fortran/34133 * decl.c (gfc_match_suffix,gfc_match_subroutine): Disallow bind(c) attribute for internal procedures. 2007-11-17 Tobias Burnus <burnus@net-b.de> PR fortran/34133 * gfortran.dg/bind_c_usage_9.f03: New. * gfortran.dg/interface_abstract_1.f90: Fix testcase. From-SVN: r130260
2007-11-17re PR fortran/25252 (ICE on invalid code)Francois-Xavier Coudert6-3/+123
PR fortran/25252 * interface.c (gfc_current_interface_head, gfc_set_current_interface_head): New functions. * decl.c (gfc_match_modproc): Move check for syntax error earlier. On syntax error, restore previous state of the interface. * gfortran.h (gfc_current_interface_head, gfc_set_current_interface_head): New prototypes. * gfortran.dg/interface_22.f90: New test. From-SVN: r130259
2007-11-17re PR middle-end/34130 (the builtin abs() gives wrong result when used in ↵Richard Guenther4-0/+26
some expression) 2007-11-17 Richard Guenther <rguenther@suse.de> PR middle-end/34130 * fold-const.c (extract_muldiv_1): Do not move negative constants inside ABS_EXPR. * gcc.c-torture/execute/pr34130.c: New testcase. From-SVN: r130258
2007-11-17re PR fortran/30285 (gfortran excessive memory usage with COMMON blocks in ↵Francois-Xavier Coudert2-24/+100
modules) PR fortran/30285 * module.c (struct written_common, written_commons): New structure. (compare_written_commons, free_written_common, write_common_0): New functions. (write_common): Call recursive function write_common_0. From-SVN: r130257
2007-11-17Daily bump.GCC Administrator1-1/+1
From-SVN: r130252
2007-11-17re PR fortran/34108 (ICE: Segmentation fault occurs by "write(*,0)" statement)Francois-Xavier Coudert4-2/+26
PR fortran/34108 * io.c (check_format_string): Only check character expressions. (match_dt_format): Return MATCH_ERROR if that is what gfc_match_st_label said. * gfortran.dg/fmt_label_1.f90: New test. From-SVN: r130249
2007-11-16re PR fortran/33957 (gfortran rejects valid initialization expression)Francois-Xavier Coudert4-5/+18
PR fortran/33957 * gfortran.dg/initialization_15.f90 : New test. * expr.c (check_inquiry): Don't call gfc_error now. From-SVN: r130246
2007-11-16re PR debug/33739 (Failure of gfortran.dg/literal_character_constant_1_*.F ↵Francois-Xavier Coudert2-50/+13
with -m64 -g on Darwin) PR fortran/33739 PR fortran/34084 * scanner.c (start_source_file, end_source_file, exit_remaining_files, gfc_advance_line): Revert rev. 130016. From-SVN: r130244
2007-11-16collect2.c (dump_file): If a demangled symbol is followed by a space...Ian Lance Taylor2-2/+17
* collect2.c (dump_file): If a demangled symbol is followed by a space, make sure we output at least one space. From-SVN: r130243
2007-11-16re PR middle-end/34030 (ICE in in compare_values_warnv, at tree-vrp.c:701)Richard Guenther4-18/+37
2007-11-16 Richard Guenther <rguenther@suse.de> PR middle-end/34030 * fold-const.c (fold_binary): Use correct types for folding 1 << X & Y to Y >> X & 1. * gcc.c-torture/compile/pr34030.c: New testcase. From-SVN: r130238
2007-11-16re PR fortran/34008 (ICE in gfc_trans_call, at fortran/trans-stmt.c:389 on ↵Paul Thomas4-6/+73
elemental assignment) 2007-11-16 Paul Thomas <pault@gcc.gnu.org> PR fortran/34008 * trans-stmt.c (gfc_conv_elemental_dependencies): Add check for INTENT_INOUT as well as INTENT_OUT. (gfc_trans_call): Remove redundant gcc_asserts in dependency check. 2007-11-16 Paul Thomas <pault@gcc.gnu.org> PR fortran/34008 * gfortran.dg/interface_assignment_3.f90. From-SVN: r130232
2007-11-16re PR tree-optimization/33870 (miscompiles sqlite)Richard Guenther9-174/+179
2007-11-16 Richard Guenther <rguenther@suse.de> PR tree-optimization/33870 * tree.h (struct tree_memory_tag): Add base_for_components flag. (struct tree_struct_field_tag): Remove nesting_level field. (SFT_NESTING_LEVEL): Remove. (SFT_BASE_FOR_COMPONENTS_P): Add. * tree-flow.h (struct fieldoff): Remove nesting_level field. Add base_for_components flag. (push_fields_onto_fieldstack): Remove nesting_level parameter. * tree-ssa-alias.c (create_sft): Likewise. Add base_for_components parameter. (create_overlap_variables_for): Deal with it. * tree-dfa.c (dump_subvars_for): Likewise. (dump_variable): Likewise. * tree-ssa-structalias.c (push_fields_onto_fieldstack): Likewise. Set base_for_components for first elements of sub-structures. (create_variable_info_for): Handle base_for_components. (set_uids_in_ptset): Always set SFT_UNPARTITIONABLE_P for pointed-to SFTs if SFT_BASE_FOR_COMPONENTS_P is set. * tree-ssa-operands.c (ref_nesting_level): Remove. (add_vars_for_offset): Remove full_ref parameter, always add the offset of the pointed-to SFT. (add_virtual_operand): Adjust for changed signature of add_vars_for_offset. * gcc.dg/torture/pr33870.c: New testcase. From-SVN: r130231
2007-11-16* de.po: Update.Joseph Myers2-163/+166
From-SVN: r130230
2007-11-16re PR fortran/33986 (ICE on allocatable function result)Paul Thomas4-6/+34
2007-11-16 Paul Thomas <pault@gcc.gnu.org> PR fortran/33986 * trans-array.c (gfc_conv_array_parameter ): Allow allocatable function results. 2007-11-16 Paul Thomas <pault@gcc.gnu.org> PR fortran/33986 * gfortran.dg/allocatable_function_3.f90. From-SVN: r130228
2007-11-16Inlined floatunssidf2 and floatunsdidf2Sa Liu1-0/+5
From-SVN: r130226
2007-11-16Inlined floatunssidf2 and floatunsdidf2Sa Liu1-25/+132
From-SVN: r130225
2007-11-16re PR tree-optimization/34113 (ICE in get_addr_dereference_operands, at ↵Richard Guenther4-2/+24
tree-ssa-operands.c:1746) 2007-11-16 Richard Guenther <rguenther@suse.de> PR tree-optimization/34113 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars): Use correct conversion direction for checking type compatibility. * gcc.c-torture/compile/pr34113.c: New testcase. From-SVN: r130223
2007-11-16re PR tree-optimization/34099 (optimizer problem)Richard Guenther5-3/+114
2007-11-16 Richard Guenther <rguenther@suse.de> PR tree-optimization/34099 * tree-ssa-ccp.c (likely_value): Use a whitelist for operators that produce UNDEFINED result if at least one of its operands is UNDEFINED. By default the result is only UNDEFINED if all operands are UNDEFINED. * g++.dg/torture/pr3499.C: New testcase. * gcc.c-torture/execute/pr34099.c: Likewise. From-SVN: r130222
2007-11-16utils2.c (build_call_alloc_dealloc): Move the code retrieving an allocator ↵Olivier Hainque5-34/+64
return value from a super-aligned address... 2007-11-16 Olivier Hainque <hainque@adacore.com> ada/ * utils2.c (build_call_alloc_dealloc) <if gnu_obj>: Move the code retrieving an allocator return value from a super-aligned address from here to ... * trans.c (gnat_to_gnu) <case N_Free_Statement>: ... here, and don't expect a super-aligned address for a fat or thin pointer. testsuite/ * gnat.dg/release_unc_maxalign.adb: New test. From-SVN: r130221
2007-11-16re PR c++/34100 (ICE with vector attribute)Jakub Jelinek4-1/+25
PR c++/34100 * pt.c (apply_late_template_attributes): Do nothing if decl's type is error_mark_node. * g++.dg/template/crash73.C: New test. From-SVN: r130220
2007-11-16re PR driver/30460 (asm_debug is not initialized in gcc.c when using a ↵Jakub Jelinek2-4/+10
"default" specs file) PR driver/30460 * gcc.c (init_spec): Don't initialize asm_debug here... (main): ... but here. From-SVN: r130219