aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-05-08re PR c/36892 (Support __attribute__((deprecated("text string"))))H.J. Lu17-49/+377
gcc/ 2009-05-08 H.J. Lu <hongjiu.lu@intel.com> Andrew Morrow <acm@google.com> PR c/36892 * c-common.c (c_common_attribute_table): Permit deprecated attribute to take an optional argument. (handle_deprecated_attribute): If the optional argument to __attribute__((deprecated)) is not a string ignore the attribute and emit a warning. * c-decl.c (grokdeclarator): Updated warn_deprecated_use call. * c-typeck.c (build_component_ref): Likewise. (build_external_ref): Likewise. * toplev.c (warn_deprecated_use): Add an attribute argument. Emit the message associated with __attribute__((deprecated)). * toplev.h (warn_deprecated_use): Updated. * doc/extend.texi: Document new optional parameter to __attribute__((deprecated)) gcc/cp/ 2009-05-08 H.J. Lu <hongjiu.lu@intel.com> PR c/36892 * call.c (build_call_a): Updated warn_deprecated_use call. (build_over_call): Likewise. * decl.c (grokdeclarator): Likewise. (grokparms): Likewise. * semantics.c (finish_id_expression): Likewise. * typeck.c (build_class_member_access_expr): Likewise. (finish_class_member_access_expr): Likewise. gcc/testsuite/ 2009-05-08 H.J. Lu <hongjiu.lu@intel.com> PR c/36892 * g++.dg/warn/deprecated-6.C: New. * gcc.dg/deprecated-4.c: Likewise. * gcc.dg/deprecated-5.c: Likewise. * gcc.dg/deprecated-6.c: Likewise. From-SVN: r147293
2009-05-08Fix bug in movdf_softfloat32.Michael Eager2-1/+6
From-SVN: r147290
2009-05-08no-vfa-vect-37.c: Replace __aligned__(16) with ↵H.J. Lu87-187/+277
__aligned__(__BIGGEST_ALIGNMENT__). 2009-05-08 H.J. Lu <hongjiu.lu@intel.com> * gcc.dg/vect/no-vfa-vect-37.c: Replace __aligned__(16) with __aligned__(__BIGGEST_ALIGNMENT__). * gcc.dg/vect/no-vfa-vect-43.c: Likewise. * gcc.dg/vect/no-vfa-vect-49.c: Likewise. * gcc.dg/vect/no-vfa-vect-53.c: Likewise. * gcc.dg/vect/no-vfa-vect-57.c: Likewise. * gcc.dg/vect/no-vfa-vect-61.c: Likewise. * gcc.dg/vect/no-vfa-vect-79.c: Likewise. * gcc.dg/vect/Os-vect-95.c: Likewise. * gcc.dg/vect/pr20122.c: Likewise. * gcc.dg/vect/pr36493.c: Likewise. * gcc.dg/vect/pr37385.c: Likewise. * gcc.dg/vect/slp-7.c: Likewise. * gcc.dg/vect/slp-9.c: Likewise. * gcc.dg/vect/slp-widen-mult-s16.c: Likewise. * gcc.dg/vect/slp-widen-mult-u8.c: Likewise. * gcc.dg/vect/vect-35.c: Likewise. * gcc.dg/vect/vect-40.c: Likewise. * gcc.dg/vect/vect-42.c: Likewise. * gcc.dg/vect/vect-44.c: Likewise. * gcc.dg/vect/vect-46.c: Likewise. * gcc.dg/vect/vect-48.c: Likewise. * gcc.dg/vect/vect-52.c: Likewise. * gcc.dg/vect/vect-54.c: Likewise. * gcc.dg/vect/vect-56.c: Likewise. * gcc.dg/vect/vect-58.c: Likewise. * gcc.dg/vect/vect-60.c: Likewise. * gcc.dg/vect/vect-74.c: Likewise. * gcc.dg/vect/vect-75.c: Likewise. * gcc.dg/vect/vect-76.c: Likewise. * gcc.dg/vect/vect-77-alignchecks.c: Likewise. * gcc.dg/vect/vect-77.c: Likewise. * gcc.dg/vect/vect-77-global.c: Likewise. * gcc.dg/vect/vect-78-alignchecks.c: Likewise. * gcc.dg/vect/vect-78.c: Likewise. * gcc.dg/vect/vect-78-global.c: Likewise. * gcc.dg/vect/vect-80.c: Likewise. * gcc.dg/vect/vect-85.c: Likewise. * gcc.dg/vect/vect-87.c: Likewise. * gcc.dg/vect/vect-88.c: Likewise. * gcc.dg/vect/vect-92.c: Likewise. * gcc.dg/vect/vect-93.c: Likewise. * gcc.dg/vect/vect-95.c: Likewise. * gcc.dg/vect/vect-97.c: Likewise. * gcc.dg/vect/vect-complex-1.c: Likewise. * gcc.dg/vect/vect-complex-4.c: Likewise. * gcc.dg/vect/vect-complex-5.c: Likewise. * gcc.dg/vect/vect-multitypes-10.c: Likewise. * gcc.dg/vect/vect-multitypes-11.c: Likewise. * gcc.dg/vect/vect-multitypes-12.c: Likewise. * gcc.dg/vect/vect-multitypes-13.c: Likewise. * gcc.dg/vect/vect-multitypes-14.c: Likewise. * gcc.dg/vect/vect-multitypes-15.c: Likewise. * gcc.dg/vect/vect-multitypes-16.c: Likewise. * gcc.dg/vect/vect-multitypes-17.c: Likewise. * gcc.dg/vect/vect-multitypes-3.c: Likewise. * gcc.dg/vect/vect-multitypes-6.c: Likewise. * gcc.dg/vect/vect-multitypes-7.c: Likewise. * gcc.dg/vect/vect-multitypes-8.c: Likewise. * gcc.dg/vect/vect-multitypes-9.c: Likewise. * gcc.dg/vect/vect-outer-1a.c: Likewise. * gcc.dg/vect/vect-outer-1.c: Likewise. * gcc.dg/vect/vect-outer-2a.c: Likewise. * gcc.dg/vect/vect-outer-2b.c: Likewise. * gcc.dg/vect/vect-outer-2.c: Likewise. * gcc.dg/vect/vect-outer-2c.c: Likewise. * gcc.dg/vect/vect-outer-2d.c: Likewise. * gcc.dg/vect/vect-outer-3a.c: Likewise. * gcc.dg/vect/vect-outer-3b.c: Likewise. * gcc.dg/vect/vect-outer-3.c: Likewise. * gcc.dg/vect/vect-outer-3c.c: Likewise. * gcc.dg/vect/vect-outer-5.c: Likewise. * gcc.dg/vect/vect-outer-6.c: Likewise. * gcc.dg/vect/vect-reduc-dot-s16a.c: Likewise. * gcc.dg/vect/vect-reduc-dot-s16b.c: Likewise. * gcc.dg/vect/vect-reduc-dot-s8a.c: Likewise. * gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise. * gcc.dg/vect/vect-reduc-dot-s8c.c: Likewise. * gcc.dg/vect/vect-reduc-dot-u16a.c: Likewise. * gcc.dg/vect/vect-reduc-dot-u16b.c: Likewise. * gcc.dg/vect/vect-reduc-dot-u8a.c: Likewise. * gcc.dg/vect/vect-reduc-dot-u8b.c: Likewise. * gcc.dg/vect/vect-widen-mult-s16.c: Likewise. * gcc.dg/vect/vect-widen-mult-s8.c: Likewise. * gcc.dg/vect/vect-widen-mult-u16.c: Likewise. * gcc.dg/vect/vect-widen-mult-u8.c: Likewise. * gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Likewise. From-SVN: r147286
2009-05-08re PR tree-optimization/40062 (high memory usage and compile time in SCEV ↵Richard Guenther2-5/+9
cprop with -O3) 2009-05-08 Richard Guenther <rguenther@suse.de> PR tree-optimization/40062 * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi): Avoid exponential behavior. From-SVN: r147283
2009-05-08re PR rtl-optimization/33928 (30% performance slowdown in floating-point ↵Paolo Bonzini6-65/+205
code caused by r118475) 2009-05-08 Paolo Bonzini <bonzini@gnu.org> PR rtl-optimization/33928 PR 26854 * fwprop.c (use_def_ref, get_def_for_use, bitmap_only_bit_bitween, process_uses, build_single_def_use_links): New. (update_df): Update use_def_ref. (forward_propagate_into): Use get_def_for_use instead of use-def chains. (fwprop_init): Call build_single_def_use_links and let it initialize dataflow. (fwprop_done): Free use_def_ref. (fwprop_addr): Eliminate duplicate call to df_set_flags. * df-problems.c (df_rd_simulate_artificial_defs_at_top, df_rd_simulate_one_insn): New. (df_rd_bb_local_compute_process_def): Update head comment. (df_chain_create_bb): Use the new RD simulation functions. * df.h (df_rd_simulate_artificial_defs_at_top, df_rd_simulate_one_insn): New. * opts.c (decode_options): Enable fwprop at -O1. * doc/invoke.texi (-fforward-propagate): Document this. From-SVN: r147282
2009-05-08re PR c/24581 (Complex arithmetic on special cases is incorrect.)Joseph Myers12-2/+547
PR c/24581 * c-typeck.c (build_binary_op): Handle arithmetic between one real and one complex operand specially. * tree-complex.c (some_nonzerop): Do not identify a real value as zero if flag_signed_zeros. testsuite: * gcc.dg/torture/complex-sign.h: New header. * gcc.dg/torture/complex-sign-add.c, gcc.dg/torture/complex-sign-mixed-add.c, gcc.dg/torture/complex-sign-mixed-div.c, gcc.dg/torture/complex-sign-mixed-mul.c, gcc.dg/torture/complex-sign-mixed-sub.c, gcc.dg/torture/complex-sign-mul.c, gcc.dg/torture/complex-sign-sub.c: New tests. From-SVN: r147281
2009-05-08re PR fortran/39876 (module procedure name that collides with the GNU intrinsic)Janus Weil4-7/+62
2009-05-08 Janus Weil <janus@gcc.gnu.org> PR fortran/39876 * intrinsic.c (gfc_is_intrinsic): Do not add the EXTERNAL attribute if the symbol is a module procedure. 2009-05-08 Janus Weil <janus@gcc.gnu.org> PR fortran/39876 * gfortran.dg/intrinsic_3.f90: New. From-SVN: r147279
2009-05-08re PR rtl-optimization/33928 (30% performance slowdown in floating-point ↵Paolo Bonzini2-1/+6
code caused by r118475) 2009-05-08 Paolo Bonzini <bonzini@gnu.org> PR rtl-optimization/33928 * loop-invariant.c (record_use): Fix && vs. || mishap. From-SVN: r147274
2009-05-08re PR rtl-optimization/33928 (30% performance slowdown in floating-point ↵Paolo Bonzini2-11/+38
code caused by r118475) 2009-05-08 Paolo Bonzini <bonzini@gnu.org> PR rtl-optimization/33928 * loop-invariant.c (struct use): Add addr_use_p. (struct def): Add n_addr_uses. (struct invariant): Add cheap_address. (create_new_invariant): Set cheap_address. (record_use): Accept df_ref. Set addr_use_p and update n_addr_uses. (record_uses): Pass df_ref to record_use. (get_inv_cost): Do not add inv->cost to comp_cost for cheap addresses used only as such. From-SVN: r147270
2009-05-08invoke.texi: Add do/recursion to the -fcheck= summary.Tobias Burnus2-1/+5
2009-05-08 Tobias Burnus <burnus@net-b.de> * invoke.texi: Add do/recursion to the -fcheck= summary. From-SVN: r147268
2009-05-08sh.c: Do not include c-pragma.h.Kaz Kojima2-1/+4
* config/sh/sh.c: Do not include c-pragma.h. From-SVN: r147267
2009-05-07spu.c: Remove include of c-common.h.Andrew Pinski2-1/+4
2009-05-07 Andrew Pinski <andrew_pinski@playstation.sony.com> * config/spu/spu.c: Remove include of c-common.h. From-SVN: r147266
2009-05-08throw_allocator.h: Remove redundante include.Paolo Carlini2-1/+4
2009-05-07 Paolo Carlini <paolo.carlini@oracle.com> * include/ext/throw_allocator.h: Remove redundante include. From-SVN: r147265
2009-05-08throw_allocator.h (throw_allocator_base): Avoid out of line member functions ↵Paolo Carlini6-207/+233
definitions. 2009-05-07 Paolo Carlini <paolo.carlini@oracle.com> * include/ext/throw_allocator.h (throw_allocator_base): Avoid out of line member functions definitions. (throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label): Remove, use static locals instead. (throw_allocator_base::do_check_allocated, print_to_string): Declare. * src/throw_allocator.cc: New. * src/Makefile.am: Add. * config/abi/pre/gnu.ver: Add exports. * src/Makefile.in: Regenerate. From-SVN: r147264
2009-05-08Daily bump.GCC Administrator1-1/+1
From-SVN: r147263
2009-05-07re PR c/39037 (FLOAT_CONST_DECIMAL64 pragma not supported)Janis Johnson24-15/+923
gcc/ PR c/39037 * c-common.h (mark_valid_location_for_stdc_pragma, valid_location_for_stdc_pragma_p, set_float_const_decimal64, clear_float_const_decimal64, float_const_decimal64_p): New. * c.opt (Wunsuffixed-float-constants): New. * c-lex.c (interpret_float): Use pragma FLOAT_CONST_DECIMAL64 for unsuffixed float constant, handle new warning. * c-cppbuiltin.c (c_cpp_builtins): Use cast for double constants. * c-decl.c (c_scope): New flag float_const_decimal64. (set_float_const_decimal64, clear_float_const_decimal64, float_const_decimal64_p): New. (push_scope): Set new flag. * c-parser.c (c_parser_translation_unit): Mark when it's valid to use STDC pragmas. (c_parser_external_declaration): Ditto. (c_parser_compound_statement_nostart): Ditto. * c-pragma.c (valid_location_for_stdc_pragma, mark_valid_location_for_stdc_pragma, valid_location_for_stdc_pragma_p, handle_stdc_pragma, handle_pragma_float_const_decimal64): New. (init_pragma): Register new pragma FLOAT_CONST_DECIMAL64. * cp/semantics.c (valid_location_for_stdc_pragma_p, set_float_const_decimal64, clear_float_const_decimal64, float_const_decimal64_p): New dummy functions. * doc/extend.texi (Decimal Float): Remove statement that the pragma, and suffix for double constants, are not supported. * doc/invoke.texi (Warning Options): List new option. (-Wunsuffixed-float-constants): New. gcc/testsuite PR c/39037 * gcc.dg/Wunsuffixed-float-constants-1.c: New test. * gcc.dg/cpp/pragma-float-const-decimal64-1.c: New test. * gcc.dg/dfp/float-constant-double.c: New test. * gcc.dg/dfp/pragma-float-const-decimal64-1.c: New test. * gcc.dg/dfp/pragma-float-const-decimal64-2.c: New test. * gcc.dg/dfp/pragma-float-const-decimal64-3.c: New test. * gcc.dg/dfp/pragma-float-const-decimal64-4.c: New test. * gcc.dg/dfp/pragma-float-const-decimal64-5.c: New test. * gcc.dg/dfp/pragma-float-const-decimal64-6.c: New test. * gcc.dg/dfp/pragma-float-const-decimal64-7.c: New test. * gcc.dg/dfp/pragma-float-const-decimal64-8.c: New test. * g++.dg/cpp/pragma-float-const-decimal64-1.C: New test. From-SVN: r147259
2009-05-07re PR fortran/38830 (Document lack of "Variable Format Expression" support)Francois-Xavier Coudert2-1/+52
PR fortran/38830 * gfortran.texi: Document that we don't support variable FORMAT expressions. From-SVN: r147258
2009-05-07re PR fortran/39576 (gcc/fortran/error.c's error.c missing "break")Francois-Xavier Coudert2-0/+6
PR fortran/39576 * error.c (error_print): Add missing break statement. From-SVN: r147257
2009-05-07re PR fortran/36382 (Support $ as first character in symbol names and in ↵Francois-Xavier Coudert2-0/+7
IMPLICT) PR fortran/36382 * invoke.texi: Document that -fdollar-ok does not allow $ to be used in IMPLICIT statement. From-SVN: r147256
2009-05-07re PR libfortran/22423 (Warnings when building libgfortran)François-Xavier Coudert3-47/+56
PR fortran/22423 * io/transfer.c (read_block_direct): Avoid warning. * runtime/string.c (compare0): Avoid warning. From-SVN: r147254
2009-05-07* config/i386/i386.c: Do not include c-common.h.Steven Bosscher2-1/+4
From-SVN: r147250
2009-05-07invoke.texi (Debugging Options): Document change of debugging dump location.Mark Heffernan3-25/+61
2009-05-07 Mark Heffernan <meheff@google.com> * doc/invoke.texi (Debugging Options): Document change of debugging dump location. * opts.c (decode_options): Make dump_base_name relative to aux_base_name directory. From-SVN: r147249
2009-05-07picochip.h (NO_DOLLAR_IN_LABEL): Added.Hariharan Sandanagobalane3-2/+6
* config/picochip/picochip.h (NO_DOLLAR_IN_LABEL): Added. * config/picochip/libgccExtras/divmod15.asm : Removed redefiniton. From-SVN: r147248
2009-05-07Makefile.in (install-plugin): Simplify a bit.Rafael Avila de Espindola2-2/+6
2009-05-07 Rafael Avila de Espindola <espindola@google.com> * Makefile.in (install-plugin): Simplify a bit. From-SVN: r147244
2009-05-07Makefile.in (OBJS-common): Add regcprop.o.Paolo Bonzini5-980/+1035
2009-05-07 Paolo Bonzini <bonzini@gnu.org> * Makefile.in (OBJS-common): Add regcprop.o. (regcprop.o): New. * timevar.def (TV_CPROP_REGISTERS): New. * regrename.c (regrename_optimize): Return 0. (rest_of_handle_regrename): Delete. (pass_rename_registers): Point to regrename_optimize. (struct value_data_entry, struct value_data, kill_value_one_regno, kill_value_regno, kill_value, set_value_regno, init_value_data, kill_clobbered_value, kill_set_value, kill_autoinc_value, copy_value, mode_change_ok, maybe_mode_change, find_oldest_value_reg, replace_oldest_value_reg, replace_oldest_value_addr, replace_oldest_value_mem, copyprop_hardreg_forward_1, debug_value_data, validate_value_data): Move... * regcprop.c: ... here. (rest_of_handle_cprop): Delete. (pass_cprop_hardreg): Point to copyprop_hardreg_forward. From-SVN: r147243
2009-05-07re PR middle-end/40057 (Incorrect right shift by 31 with long long)Jakub Jelinek4-4/+55
PR middle-end/40057 * dojump.c (prefer_and_bit_test): Use immed_double_const instead of GEN_INT for 1 << bitnum. (do_jump) <case BIT_AND_EXPR>: Use build_int_cst_wide_type instead of build_int_cst_type. * gcc.c-torture/execute/pr40057.c: New test. From-SVN: r147241
2009-05-07configure.ac: Bump libtool_VERSION to 6:12:0.Paolo Carlini3-2/+7
2009-05-07 Paolo Carlini <paolo.carlini@oracle.com> * configure.ac: Bump libtool_VERSION to 6:12:0. * configure: Regenerate. From-SVN: r147228
2009-05-07* gcc-interface/Make-lang.in: Update dependenciesArnaud Charlet2-80/+89
From-SVN: r147227
2009-05-07[multiple changes]Paolo Bonzini4-9/+25
2009-05-07 Paolo Bonzini <bonzini@gnu.org> * config.guess: Sync with src. config: 2009-05-07 Paolo Bonzini Sync from src: 2009-02-02 Doug Evans <dje@google.com> * tcl.m4 (SC_PATH_TCLCONFIG): Don't exit 0 if tclconfig fails. (SC_PATH_TKCONFIG): Don't exit 0 if tkconfig fails. (SC_LOAD_TCLCONFIG): Quote all uses of TCL_BIN_DIR, it may contain "# no Tcl configs found". (SC_LOAD_TKCONFIG): Similarily for TK_BIN_DIR. From-SVN: r147225
2009-05-07md.texi (Standard Pattern Names For Generation): Remove wrong description of ↵Uros Bizjak2-4/+7
"nand" functionality. * doc/md.texi (Standard Pattern Names For Generation) [sync_nand]: Remove wrong description of "nand" functionality. From-SVN: r147222
2009-05-07ChangeLog: Whitespace fixes.Uros Bizjak2-40/+38
* ChangeLog: Whitespace fixes. * testsuite/ChangeLog: Ditto. From-SVN: r147220
2009-05-07re PR libstdc++/40038 (symbols ceill@GLIBCXX_3.4.3 not exported)Matthias Klose2-0/+13
2009-05-07 Matthias Klose <doko@ubuntu.com> PR libstdc++/40038 * src/math_stubs_long_double.cc: Add ceill. From-SVN: r147217
2009-05-07configure.ac ($with_ppl): Default to no if not supplied.Dave Korn3-2/+12
* configure.ac ($with_ppl): Default to no if not supplied. ($with_cloog): Likewise. configure: Regenerate. From-SVN: r147216
2009-05-06Correct changelog from last checkin, cut-n-paste from wrong patch file.Jim Wilson1-1/+1
* gcc.c-torture/compile/const-high-part.c: New test. From-SVN: r147214
2009-05-06* gcc.target/mips/const-high-part.c: New test.James E. Wilson2-0/+23
From-SVN: r147213
2009-05-07Daily bump.GCC Administrator1-1/+1
From-SVN: r147212
2009-05-06gimple.def (GIMPLE_ASSIGN): Fix incorrect information in the comment.Richard Guenther2-6/+14
* gimple.def (GIMPLE_ASSIGN): Fix incorrect information in the comment. Add that if LHS is not a gimple register, then RHS1 has to be a single object (GIMPLE_SINGLE_RHS). Co-Authored-By: Adam Nemet <anemet@caviumnetworks.com> From-SVN: r147209
2009-05-06re PR testsuite/40050 (plugin tests don't work with multilib)H.J. Lu2-2/+15
2009-05-06 H.J. Lu <hongjiu.lu@intel.com> PR testsuite/40050 * lib/plugin-support.exp (plugin-test-execute): Use HOSTCC to build plugin. From-SVN: r147208
2009-05-06s-linux.ads, [...]: Define sa_handler_pos.Laurent GUERBY8-12/+351
2009-05-06 Laurent GUERBY <laurent@guerby.net> * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads: Define sa_handler_pos. * s-osinte-linux.ads: Use it. * s-linux-mipsel.ads: New. * system-linux-mips64el.ads: New. * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and mips64el-linux. From-SVN: r147207
2009-05-06re PR fortran/39630 ([F03] Procedure Pointer Components)Janus Weil29-162/+1110
2009-05-06 Janus Weil <janus@gcc.gnu.org> Paul Thomas <pault@gcc.gnu.org> PR fortran/39630 * decl.c (match_procedure_interface): New function to match the interface for a PROCEDURE statement. (match_procedure_decl): Call match_procedure_interface. (match_ppc_decl): New function to match the declaration of a procedure pointer component. (gfc_match_procedure): Call match_ppc_decl. (match_binding_attributes): Add new argument 'ppc' and handle the POINTER attribute for procedure pointer components. (match_procedure_in_type,gfc_match_generic): Added new argument to match_binding_attributes. * dump-parse-tree.c (show_expr,show_components,show_code_node): Handle procedure pointer components. * expr.c (free_expr0,gfc_copy_expr,gfc_simplify_expr): Handle EXPR_PPC. (gfc_check_pointer_assign): Handle procedure pointer components, but no full checking yet. (is_proc_ptr_comp): New function to determine if an expression is a procedure pointer component. * gfortran.h (expr_t): Add EXPR_PPC. (symbol_attribute): Add new member 'proc_pointer_comp'. (gfc_component): Add new member 'formal'. (gfc_exec_op): Add EXEC_CALL_PPC. (gfc_get_default_type): Changed first argument. (is_proc_ptr_comp): Add prototype. (gfc_match_varspec): Add new argument. * interface.c (compare_actual_formal): Handle procedure pointer components. * match.c (gfc_match_pointer_assignment,match_typebound_call): Handle procedure pointer components. * module.c (mio_expr): Handle EXPR_PPC. * parse.c (parse_derived): Handle procedure pointer components. * primary.c (gfc_match_varspec): Add new argument 'ppc_arg' and handle procedure pointer components. (gfc_variable_attr): Handle procedure pointer components. (gfc_match_rvalue): Added new argument to gfc_match_varspec and changed first argument of gfc_get_default_type. (match_variable): Added new argument to gfc_match_varspec. * resolve.c (resolve_entries,set_type,resolve_fl_parameter): Changed first argument of gfc_get_default_type. (resolve_structure_cons,resolve_actual_arglist): Handle procedure pointer components. (resolve_ppc_call): New function to resolve a call to a procedure pointer component (subroutine). (resolve_expr_ppc): New function to resolve a call to a procedure pointer component (function). (gfc_resolve_expr): Handle EXPR_PPC. (resolve_code): Handle EXEC_CALL_PPC. (resolve_fl_derived): Copy the interface for a procedure pointer component. (resolve_symbol): Fix overlong line. * st.c (gfc_free_statement): Handle EXEC_CALL_PPC. * symbol.c (gfc_get_default_type): Changed first argument. (gfc_set_default_type): Changed first argument of gfc_get_default_type. (gfc_add_component): Initialize ts.type to BT_UNKNOWN. * trans.h (gfc_conv_function_call): Renamed. * trans.c (gfc_trans_code): Handle EXEC_CALL_PPC. * trans-expr.c (gfc_conv_component_ref): Ditto. (gfc_conv_function_val): Rename to 'conv_function_val', add new argument 'expr' and handle procedure pointer components. (gfc_conv_operator_assign): Renamed gfc_conv_function_val. (gfc_apply_interface_mapping_to_expr): Handle EXPR_PPC. (gfc_conv_function_call): Rename to 'gfc_conv_procedure_call', add new argument 'expr' and handle procedure pointer components. (gfc_get_proc_ptr_comp): New function to get the backend decl for a procedure pointer component. (gfc_conv_function_expr): Renamed gfc_conv_function_call. (gfc_conv_structure): Handle procedure pointer components. * trans-intrinsic.c (gfc_conv_intrinsic_funcall, conv_generic_with_optional_char_arg): Renamed gfc_conv_function_call. * trans-stmt.h (gfc_get_proc_ptr_comp): Add prototype. * trans-stmt.c (gfc_trans_call): Renamed gfc_conv_function_call. * trans-types.h (gfc_get_ppc_type): Add prototype. * trans-types.c (gfc_get_ppc_type): New function to build a tree node for a procedure pointer component. (gfc_get_derived_type): Handle procedure pointer components. 2009-05-06 Janus Weil <janus@gcc.gnu.org> PR fortran/39630 * gfortran.dg/proc_decl_1.f90: Modified. * gfortran.dg/proc_ptr_comp_1.f90: New. * gfortran.dg/proc_ptr_comp_2.f90: New. * gfortran.dg/proc_ptr_comp_3.f90: New. * gfortran.dg/proc_ptr_comp_4.f90: New. * gfortran.dg/proc_ptr_comp_5.f90: New. * gfortran.dg/proc_ptr_comp_6.f90: New. Co-Authored-By: Paul Thomas <pault@gcc.gnu.org> From-SVN: r147206
2009-05-06expr.c (get_def_for_expr): Move it up in the file.Adam Nemet2-23/+32
* expr.c (get_def_for_expr): Move it up in the file. (store_field): When expanding a bit-field store, look at the defining gimple stmt for the masking conversion. From-SVN: r147203
2009-05-06re PR c++/17395 (Incorrect lookup for parameters)Dodji Seketeli4-1/+35
2009-05-06 Dodji Seketeli <dodji@redhat.com> gcc/cp/ChangeLog: PR c++/17395 * pt.c (tsubst_copy) <case PARM_DECL>: We don't want to tsubst the whole list of PARM_DECLs, just the current one. gcc/testsuite/ChangeLog: PR c++/17395 * g++.dg/template/call7.C: New test. From-SVN: r147201
2009-05-06Remove extra '('.H.J. Lu1-1/+1
From-SVN: r147198
2009-05-06plugin-support.exp: Do not prefix $GMPINC with -I.Diego Novillo2-1/+5
* lib/plugin-support.exp: Do not prefix $GMPINC with -I. From-SVN: r147197
2009-05-06pr40021.f: Moved to ...H.J. Lu2-3/+7
2009-05-06 H.J. Lu <hongjiu.lu@intel.com> * gfortran.dg/pr40021.f: Moved to ... * gfortran.fortran-torture/execute/pr40021.f: Here. From-SVN: r147192
2009-05-06re PR middle-end/39986 (decimal float constant is incorrect when cc1 is a ↵Janis Johnson4-26/+101
64-bit binary) PR middle-end/39986 * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64, decode_decimal64, encode_decimal128, decode_decimal128): Avoid 32-bit memcpy into long. * gcc.dg/dfp/pr39986.c: New test. From-SVN: r147188
2009-05-06dwarf2out.c (new_reg_loc_descr): Don't ever create DW_OP_regX.Jakub Jelinek2-12/+44
* dwarf2out.c (new_reg_loc_descr): Don't ever create DW_OP_regX. (one_reg_loc_descriptor): Create DW_OP_regX here instead of calling new_reg_loc_descr. (loc_by_reference): If loc is DW_OP_regX, change it into DW_OP_bregX 0 instead of appending DW_OP_deref*. From-SVN: r147187
2009-05-06re PR middle-end/40021 (Revision 146817 miscompiled DAXPY in BLAS)Michael Matz4-15/+100
PR middle-end/40021 * cfgexpand.c (maybe_cleanup_end_of_block): New static function. (expand_gimple_cond): Use it to cleanup CFG and superfluous jumps. * gfortran.dg/pr40021.f: New test. From-SVN: r147186
2009-05-06plugin-support.exp: New file containing support procs for plugin testcases.Le-Chun Wu16-1/+1369
2009-05-06 Le-Chun Wu <lcwu@google.com> * lib/plugin-support.exp: New file containing support procs for plugin testcases. * lib/target-supports.exp (check_plugin_available): New proc. * gcc.dg/plugin/plugin.exp: New driver script for gcc testcases. * gcc.dg/plugin/selfassign.c: New plugin source file. * gcc.dg/plugin/self-assign-test-1.c: New test. * gcc.dg/plugin/self-assign-test-2.c: Likewise. * g++.dg/README: Add description for plugin test. * g++.dg/dg.exp: Exclude plugin tests from the general test list. * g++.dg/plugin/plugin.exp: New driver script for g++ testcases. * g++.dg/plugin/selfassign.c: New plugin source file. * g++.dg/plugin/self-assign-test-1.C: New test. * g++.dg/plugin/self-assign-test-2.C: Likewise. * g++.dg/plugin/self-assign-test-3.C: Likewise. * g++.dg/plugin/dumb_plugin.c: New plugin source file. * g++.dg/plugin/dumb-plugin-test-1.C: New test. From-SVN: r147185
2009-05-06re PR fortran/40041 (spurious warning with INTRINSIC statement)Tobias Burnus5-2/+58
2009-05-06 Tobias Burnus <burnus@net-b.de> PR fortran/40041 * resolve.c (resolve_symbol): Print no warning for implicitly typed intrinsic functions. 2009-05-06 Tobias Burnus <burnus@net-b.de> PR fortran/40041 * gfortran.dg/intrinsic_2.f90: New test. * gfortran.dg/intrinsic.f90: Add old and this PR as comment. From-SVN: r147183