1. 31 Mar, 2009 24 commits
    • re PR c++/37806 (CV-qualifiers on function typedef's are inconsistently accepted… · 0e183333
      re PR c++/37806 (CV-qualifiers on function typedef's are inconsistently accepted depending on typedef scope)
      
              PR c++/37806
              * g++.dg/template/typedef17.C: New test.
      
      From-SVN: r145366
      Jason Merrill committed
    • re PR c++/37806 (CV-qualifiers on function typedef's are inconsistently accepted… · 0d9c0892
      re PR c++/37806 (CV-qualifiers on function typedef's are inconsistently accepted depending on typedef scope)
      
              PR c++/37806
              * typeck.c (cp_apply_type_quals_to_decl): Don't apply any quals
              to a typedef.
              * tree.c (cp_build_qualified_type_real): Don't apply restrict to a
              function type.
              * decl.h (enum decl_context): Add TEMPLATE_TYPE_ARG.
              * decl.c (groktypename): Add is_template_arg parameter.
              (grokdeclarator): Allow function cv-quals on a template type arg.
              * parser.c (cp_parser_new_type_id, cp_parser_type_id): Add
              is_template_arg argument in calls to groktypename.
              * cp-tree.h: Adjust prototype.
              * error.c (dump_type_prefix, dump_type_suffix): Fix plain
              FUNCTION_TYPE printing.
      
              PR libstdc++/39310
              * include/tr1_impl/type_traits (is_function): Add partial
              specializations with function cv-quals.
              (__is_function_helper): Remove.
              (is_member_pointer): Don't define in terms of is_member_*_pointer.
      
      From-SVN: r145365
      Jason Merrill committed
    • mangle.c (write_expression): Mangle dependent name as source-name. · a3c49752
              * mangle.c (write_expression): Mangle dependent name as
              source-name.
      
      From-SVN: r145364
      Jason Merrill committed
    • system-linux-alpha.ads (Functions_Return_By_DSP): Remove. · d236ace7
      	* system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
      	* system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
      	* system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
      	* system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
      	* system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
      	* system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
      	* system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
      
      From-SVN: r145361
      Eric Botcazou committed
    • PR c++/38030, 38850, 39070 · 5094a795
              PR c++/38030, 38850, 39070
              * pt.c (type_dependent_expression_p_push): New fn.
              (tsubst_copy_and_build) [CALL_EXPR]: Only do arg-dep lookup when the
              substitution makes the call non-dependent.  Preserve koenig_p.
              * parser.c (cp_parser_postfix_expression): Only do arg-dep lookup
              for non-dependent calls.
              * semantics.c (finish_call_expr): Revert earlier changes.
              * cp-tree.h: Revert change to finish_call_expr prototype.
      
      From-SVN: r145360
      Jason Merrill committed
    • loop-iv.c (replace_single_def_regs, [...]): New static functions. · 60081874
      	* loop-iv.c (replace_single_def_regs, replace_in_expr): New static
      	functions.
      	(simplify_using_assignment, simplify_using_initial_values): Call 
      	replace_in_expr to make replacements.  Call replace_single_def_regs
      	once on the initial version of the expression.
      
      From-SVN: r145357
      Bernd Schmidt committed
    • loop-iv.c (simple_rhs_p): Allow more kinds of expressions. · b30321cd
      	* loop-iv.c (simple_rhs_p): Allow more kinds of expressions.
      
      From-SVN: r145355
      Bernd Schmidt committed
    • loop-iv.c (determine_max_iter): New arg OLD_NITER. · 28af33b0
      	* loop-iv.c (determine_max_iter): New arg OLD_NITER.  All callers
      	changed.  Use this when trying to improve the upper bound.
      	Generate the comparison by using simplify_gen_relational.
      
      From-SVN: r145354
      Bernd Schmidt committed
    • simplify-rtx.c (simplify_relational_operation_1): Simplify (LTU (PLUS a C) C) or… · 1d1eb80c
      simplify-rtx.c (simplify_relational_operation_1): Simplify (LTU (PLUS a C) C) or (LTU (PLUS a C) a) to (GEU a -C)...
      
      	* simplify-rtx.c (simplify_relational_operation_1): Simplify
      	(LTU (PLUS a C) C) or (LTU (PLUS a C) a) to (GEU a -C); likewise with
      	GEU/LTU reversed.
      
      From-SVN: r145353
      Bernd Schmidt committed
    • loop-iv.c (simplify_using_condition): A condition of the form (EQ REG CONST) can… · 1569e190
      loop-iv.c (simplify_using_condition): A condition of the form (EQ REG CONST) can be used to simply make a substitution.
      
      	* loop-iv.c (simplify_using_condition): A condition of the form
      	(EQ REG CONST) can be used to simply make a substitution.
      	(simplify_using_initial_values): Keep track of conditions we have seen
      	and keep using them to simplify new expressions, while applying the
      	same substitutions to them as to the expression.
      
      From-SVN: r145352
      Bernd Schmidt committed
    • loop-iv.c (suitable_set_for_replacement): Renamed from simplify_using_assignment... · ed853664
      	* loop-iv.c (suitable_set_for_replacement): Renamed from
      	simplify_using_assignment; changed to return bool and to accept new
      	args DEST and SRC.  Return true iff we find a source/destination pair
      	that can be used to make a replacement, and fill SRC and DEST if so.
      	Remove arg ALTERED.  Don't deal with altered regs here.  All callers
      	changed.
      	(simplify_using_initial_values): Deal with altered regs here and track
      	more precisely the effect they have on the validity of our expression.
      
      From-SVN: r145351
      Bernd Schmidt committed
    • Fix documentation for -mthumb · bebc6e07
      From-SVN: r145347
      Ramana Radhakrishnan committed
    • re PR middle-end/31029 (Fold does not fold C - a == a) · 6b12efe9
      2009-03-31  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/31029
      	* fold-const.c (fold_binary): Fold X +- Y CMP X to Y CMP 0 for
      	equality comparisons.  Fold C - X CMP X if C % 2 == 1.
      
      	* gcc.dg/fold-compare-4.c: New testcase.
      	* gcc.dg/fold-compare-5.c: Likewise.
      
      From-SVN: r145345
      Richard Guenther committed
    • tree.h (div_if_zero_remainder): Declare. · 108f6c2f
      2009-03-31  Richard Guenther  <rguenther@suse.de>
      
      	* tree.h (div_if_zero_remainder): Declare.
      	* fold-const.c (div_if_zero_remainder): Export.
      	* tree-ssa-forwprop.c
      	(forward_propagate_addr_into_variable_array_index): Handle
      	constant array index addition outside of the variable index.
      
      	* gcc.dg/tree-ssa/forwprop-12.c: New testcase.
      
      From-SVN: r145343
      Richard Guenther committed
    • re PR target/39592 (Revision 145272 breaks -ansi -msse) · 8f612190
      	PR target/39592
      	* config/i386/i386.md (*floatunssi<mode>2_1, two unnamed
      	define_splits, floatunssi<mode>2): Require x87 conversions from
      	DImode to be permitted.
      
      testsuite:
      	* gcc.target/i386/pr39592-1.c: New test.
      
      From-SVN: r145342
      Joseph Myers committed
    • re PR preprocessor/15638 (gcc should have option to treat missing headers as fatal) · 47580d22
      	PR preprocessor/15638
      gcc:
      	* c-common.c (c_cpp_error): Handle CPP_DL_FATAL.
      
      gcc/fortran:
      	* cpp.c (cb_cpp_error): Handle CPP_DL_FATAL.
      
      gcc/testsuite:
      	* gcc.dg/cpp/missing-header-1.c: New test.
      	* gcc.dg/cpp/include2.c: Only test #include <>.  Expect
      	"compilation terminated" message.
      	* gcc.dg/cpp/include2a.c: New test.  Copy of include2.c but only
      	test #include "".
      	* gcc.dg/pch/counter-2.c, gcc.dg/pch/valid-1.c,
      	gcc.dg/pch/valid-2.c, gcc.dg/pch/warn-1.c: Expect "compilation
      	terminated" message.
      
      libcpp:
      	* files.c (_cpp_find_file): Call open_file_failed after diagnosing
      	invalid PCH.
      	(open_file_failed): Make error for missing file fatal.
      	* include/cpplib.h (CPP_DL_FATAL): Define.
      
      From-SVN: r145341
      Joseph Myers committed
    • re PR middle-end/23401 (Gimplifier produces too many temporaries) · ba4d8f9d
      2009-03-31  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/23401
      	PR middle-end/27810
      	* tree.h (DECL_GIMPLE_FORMAL_TEMP_P): Remove.
      	(struct tree_decl_with_vis): Remove gimple_formal_temp member.
      	* tree-eh.c (lower_eh_constructs_2): Move LHS assignment to
      	a separate statement.
      	* gimplify.c (pop_gimplify_context): Remove formal temp handling.
      	(lookup_tmp_var): Likewise.
      	(is_gimple_formal_tmp_or_call_rhs): Remove.
      	(is_gimple_reg_or_call_rhs): Rename to ...
      	(is_gimple_reg_rhs_or_call): ... this.
      	(is_gimple_mem_or_call_rhs): Rename to ...
      	(is_gimple_mem_rhs_or_call): ... this.
      	(internal_get_tmp_var): Use is_gimple_reg_rhs_or_call.  Set
      	DECL_GIMPLE_REG_P only if is_formal is true.
      	(gimplify_compound_lval): Use is_gimple_reg.  Remove workaround
      	for non-proper post-modify expression gimplification.
      	(gimplify_self_mod_expr): For post-modify expressions gimplify
      	the lvalue to a minimal lvalue.
      	(rhs_predicate_for): Remove formal temp case.
      	(gimplify_modify_expr_rhs): Likewise.
      	(gimplify_addr_expr): Use is_gimple_reg.
      	(gimplify_expr): Remove formal temp cases.
      	(gimple_regimplify_operands): Likewise.
      	* tree-ssa-pre.c (get_or_alloc_expr_for): Treat EXC_PTR_EXPR
      	and FILTER_EXPR like constants.
      	* gimple.c (walk_gimple_op): Fix val_only initialization, use
      	is_gimple_reg.
      	(is_gimple_formal_tmp_rhs): Remove.
      	(is_gimple_reg_rhs): Remove special casing.
      	(is_gimple_mem_rhs): Fix.
      	(is_gimple_reg): Move DECL_GIMPLE_REG_P handling earlier.
      	(is_gimple_formal_tmp_var): Remove.
      	(is_gimple_formal_tmp_reg): Likewise.
      	(is_gimple_min_lval): Allow invariant component ref parts.
      	* gimple.h (is_gimple_formal_tmp_rhs, is_gimple_formal_tmp_var,
      	is_gimple_formal_tmp_reg): Remove declarations.
      	* tree-cfg.c (verify_expr): Verify that variables with address
      	taken do not have DECL_GIMPLE_REG_P set.
      	* tree-mudflap.c (mf_build_check_statement_for): Use
      	force_gimple_operand instead of gimplify_expr.
      
      	java/
      	* java-gimplify.c (java_gimplify_expr): Do not manually gimplify
      	the first operand of binary and comaprison expressions.
      
      	* gcc.dg/tree-ssa/pr23401.c: New testcase.
      	* gcc.dg/tree-ssa/pr27810.c: Likewise.
      
      From-SVN: r145338
      Richard Guenther committed
    • SMS - Pass the actual schedulable rows to compute_split_row · 8de9b877
      From-SVN: r145333
      Ayal Zaks committed
    • re PR target/31635 (-mno-vrsave ignored on ppc64) · b5e3caf2
      	PR target/31635
      	* config/rs6000/rs6000.c (rs6000_handle_option): Handle
      	OPT_mvrsave.
      
      From-SVN: r145332
      Ben Elliston committed
    • alloc_alloc_expr_1.f90: Adjust for new error message. · 3759634f
      2008-12-10  Steven G. Kargl  <kargls@comcast.net>
      
      	* gfortran.dg/alloc_alloc_expr_1.f90: Adjust for new error message.
      	* gfortran.dg/allocate_alloc_opt_1.f90: New test.
      	* gfortran.dg/allocate_alloc_opt_2.f90: Ditto.
      	* gfortran.dg/allocate_alloc_opt_3.f90: Ditto.
      	* gfortran.dg/deallocate_alloc_opt_1.f90: Ditto.
      	* gfortran.dg/deallocate_alloc_opt_2.f90: Ditto.
      	* gfortran.dg/deallocate_alloc_opt_3.f90: Ditto.
      
      
      2008-12-10  Steven G. Kargl  <kargls@comcast.net>
      
      	* trans-stmt.c(gfc_trans_allocate): Add translation of ERRMSG.
      	(gfc_trans_deallocate): Add translation of ERRMSG.  Remove stale
      	comments.  Minor whitespace cleanup.
      	* resolve.c(is_scalar_expr_ptr): Whitespace cleanup.
      	(resolve_deallocate_expr (gfc_expr *e): Update error message.
      	(resolve_allocate_expr):  Remove dead code.  Update error message.
      	Move error checking to ...
      	(resolve_allocate_deallocate): ... here.  Add additional error
      	checking for STAT, ERRMSG, and allocate-objects.
      	* match.c(gfc_match_allocate,gfc_match_deallocate):  Parse ERRMSG.
      	Check for redundant uses of STAT and ERRMSG.  Reword error message
      	and add checking for pointer, allocatable, and proc_pointer attributes.
      
      From-SVN: r145331
      Steven G. Kargl committed
    • * doc/invoke.texi (RS/6000 and PowerPC Options):Document mtls-markers. · 9752c4ad
      	* configure.ac (HAVE_AS_TLS_MARKERS): New gas feature check.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* config/rs6000/rs6000.opt (mtls-markers): Add.
      	* config/rs6000/rs6000.h (TARGET_TLS_MARKERS): Define.
      	* config/rs6000/rs6000.md (tls_gd_aix, tls_gd_sysv): Add splitter.
      	(tls_ld_aix, tls_ld_sysv): Likewise.
      	(tls_gd, tls_gd_call_aix, tls_gd_call_sysv): New insns.
      	(tls_ld, tls_ld_call_aix, tls_ld_call_sysv): Likewise.
      
      From-SVN: r145330
      Alan Modra committed
    • re PR libmudflap/38462 (test libmudflap.c/fail27-frag.c fails output pattern test for ppc64) · 89da36ae
      	PR libmudflap/38462
      	* testsuite/libmudflap.c/fail27-frag.c: Match `mudflap dead
      	object', not `mudflap object'.
      
      From-SVN: r145328
      Ben Elliston committed
    • spu.c (spu_expand_prologue): Delete redundant code. · b597d1b6
      	* config/spu/spu.c (spu_expand_prologue): Delete redundant code.
      
      From-SVN: r145327
      Alan Modra committed
    • Daily bump. · f2e2ecda
      From-SVN: r145326
      GCC Administrator committed
  2. 30 Mar, 2009 16 commits
    • tree-eh.c (make_eh_edges): Set probability 100% to first edge out of RESX. · a203a221
      	* tree-eh.c (make_eh_edges): Set probability 100% to first edge out of RESX.
      	(tree_remove_unreachable_handlers): Cleanup EH predecestor detection and label
      	handling.
      
      From-SVN: r145322
      Jan Hubicka committed
    • hashtable.h (clear): Return quickly if the table is empty. · 7db6438d
      	* include/backward/hashtable.h (clear): Return quickly if the
      	table is empty.
      
      From-SVN: r145318
      Ian Lance Taylor committed
    • re PR preprocessor/31932 (cpp -f*-charset and gcj --encoding accept no values except UTF-8) · 5a2df0fa
      2009-03-30  Sergiy Vyshnevetskiy  <serg@vostok.net>
      
      	PR preprocessor/31932:
      	* internal.h: Don't mention HAVE_ICONV_H.
      	* configure, config.in: Rebuild.
      	* configure.ac: Don't check for iconv.h.
      
      From-SVN: r145316
      Sergiy Vyshnevetskiy committed
    • re PR fortran/22571 (Reject derived types for dummy arguments declared in the… · 71a7778c
      re PR fortran/22571 (Reject derived types for dummy arguments declared in the subroutine unless they are SEQUENCE)
      
      2009-03-30  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/22571
      	PR fortran/26227
      	PR fortran/24886
      	* symbol.c : Add gfc_global_ns_list.
      	* decl.c (add_global_entry): Set the namespace ('ns') field.
      	* gfortran.h : Add the resolved field to gfc_namespace. Add the
      	namespace ('ns') field to gfc_gsymbol.  Add flag_whole_file to
      	gfc_option_t.  Add the prototype for gfc_free_dt_list.
      	* lang.opt : Add the whole-file option.
      	* invoke.texi : Document the whole-file option.
      	* resolve.c (resolve_global_procedure): If the fwhole-file
      	option is set, reorder gsymbols to ensure that translation is
      	in the right order.  Resolve the gsymbol's namespace if that
      	has not occurred and then check interfaces.
      	(resolve_function): Move call to resolve_global_procedure.
      	(resolve_call): The same.
      	(resolve_codes): Store the current labels_obstack.
      	(gfc_resolve) : Return if the namespace is already resolved.
      	trans-decl.c (gfc_get_extern_function_decl): If the whole_file
      	option is selected, use the backend_decl of a gsymbol, if it is
      	available.
      	parse.c (add_global_procedure, add_global_program): If the flag
      	whole-file is set, add the namespace to the gsymbol.
      	(gfc_parse_file): On -fwhole-file, put procedure namespaces on
      	the global namespace list.  Rearrange to do resolution of all
      	the procedures in a file, followed by their translation.
      	* options.c (gfc_init_options): Add -fwhole-file.
      	(gfc_handle_option): The same.
      
      2009-03-30  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/22571
      	* gfortran.dg/whole_file_1.f90: New test.
      	PR fortran/26227
      	* gfortran.dg/whole_file_2.f90: New test.
      	* gfortran.dg/whole_file_3.f90: New test.
      	PR fortran/24886
      	* gfortran.dg/whole_file_4.f90: New test.
      
      From-SVN: r145314
      Paul Thomas committed
    • ira-int.h (ira_allocno): Rename left_conflicts_num to left_conflicts_size. · 5b0c0b2c
      2009-03-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* ira-int.h (ira_allocno): Rename left_conflicts_num to
      	left_conflicts_size.
      	(ALLOCNO_LEFT_CONFLICTS_NUM): Rename to
      	ALLOCNO_LEFT_CONFLICTS_SIZE.
      
      	* ira-color.c (allocno_spill_priority, push_allocno_to_stack,
      	remove_allocno_from_bucket_and_push,
      	allocno_spill_priority_compare, push_allocnos_to_stack,
      	setup_allocno_available_regs_num): Use ALLOCNO_LEFT_CONFLICTS_SIZE
      	instead of ALLOCNO_LEFT_CONFLICTS_NUM.
      	(setup_allocno_left_conflicts_num): Ditto.  Rename to
      	setup_allocno_left_conflicts_size.
      	(put_allocno_into_bucket): Use ALLOCNO_LEFT_CONFLICTS_SIZE
      	instead of ALLOCNO_LEFT_CONFLICTS_NUM and
      	setup_allocno_left_conflicts_size instead of
      	setup_allocno_left_conflicts_num.
      
      	* ira-build.c (ira_create_allocno): Use
      	ALLOCNO_LEFT_CONFLICTS_SIZE instead of
      	ALLOCNO_LEFT_CONFLICTS_NUM.
      
      From-SVN: r145312
      Vladimir Makarov committed
    • reload.c (push_reload, [...]): Use df_get_live_out instead of DF_LR_OUT. · 9a48a93f
      2009-03-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* reload.c (push_reload, find_dummy_reload): Use df_get_live_out
      	instead of DF_LR_OUT.
      
      	* ira-lives.c (process_bb_node_lives): Ditto.
      
      	* ira-color.c (ira_loop_edge_freq): Use df_get_live_{out,in}
      	instead of DF_LR_{OUT,IN}.
      
      	* ira-emit.c (generate_edge_moves, add_ranges_and_copies): Ditto.
      
      	* ira-build.c (create_bb_allocnos, create_loop_allocnos): Ditto.
      
      From-SVN: r145309
      Vladimir Makarov committed
    • f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL family of… · f6d53468
      f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL family of intrinsics instead of BUILT_IN_INF family.
      
      	* f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL
      	family of intrinsics instead of BUILT_IN_INF family.
      	* trans-intrinsics.c (gfc_conv_intrinsic_nearest): Use
      	BUILT_IN_HUGE_VAL instead of BUILT_IN_INF.
      
      From-SVN: r145307
      Ulrich Weigand committed
    • * except.c (label_to_region_map): Fix thinko. · 4c936d4f
      From-SVN: r145304
      Jan Hubicka committed
    • re PR middle-end/38237 (multiple weak directives) · f4d9f129
      	PR middle-end/38237
      	* tree.h (tree_find_value): New declaration.
      	* tree.c (tree_find_value): New function.
      	* varasm.c (assemble_external): Avoid duplicate entries on lists.
      
      From-SVN: r145303
      Steve Ellcey committed
    • * update_version_svn (IGNORE_BRANCHES): Add 4.2 branch. · be21df03
      From-SVN: r145301
      Joseph Myers committed
    • re PR preprocessor/39512 (linemap_init in lex.c does not initialize reallocator) · c1a8a3c6
      	PR preprocessor/39512:
      	* line-map.c (linemap_init): Initialize 'reallocator' field.
      
      From-SVN: r145300
      Tom Tromey committed
    • re PR target/39558 (Bad interaction of decls named 'vector' and -maltivec vector support) · a37a7b8a
      	PR target/39558
      	* macro.c (cpp_get_token): If macro_to_expand returns NULL
      	and used some tokens, add CPP_PADDING before next token.
      
      	* gcc.target/powerpc/altivec-29.c: New test.
      
      From-SVN: r145297
      Jakub Jelinek committed
    • trans-types.c (gfc_sym_type, [...]): For sym->attr.result check sym->ns->proc_name->attr.is_bind_c. · 665733c1
      	* trans-types.c (gfc_sym_type, gfc_return_by_reference): For
      	sym->attr.result check sym->ns->proc_name->attr.is_bind_c.
      
      	* gfortran.dg/bind_c_usage_19.f90: New test.
      
      From-SVN: r145294
      Jakub Jelinek committed
    • re PR debug/39563 (C block scopes have no DW_TAG_lexical_block) · b3f27c15
      	PR debug/39563
      	* c-decl.c (struct c_binding): Add locus field.
      	(bind): Add locus argument, set locus field from it.
      	(pop_scope): For b->nested VAR_DECL or FUNCTION_DECL,
      	add a DECL_EXTERNAL copy of b->decl to current BLOCK_VARS.
      	(push_file_scope, pushtag, pushdecl, pushdecl_top_level,
      	implicitly_declare, undeclared_variable, lookup_label,
      	declare_label, c_make_fname_decl, c_builtin_function,
      	c_builtin_function_ext_scope, store_parm_decls_newstyle): Adjust
      	bind callers.
      
      From-SVN: r145293
      Jakub Jelinek committed
    • re PR target/38781 (PR38151: valgrind finds problem) · 680e8a00
      2008-03-30  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/38781
      	* config/i386/i386.c (classify_argument): Check total size of
      	structure.
      
      From-SVN: r145292
      H.J. Lu committed
    • ipa-prop.h (jump_func_type): Rename IPA_UNKNOWN... · 133f9369
      2009-03-30  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-prop.h (jump_func_type): Rename IPA_UNKNOWN, IPA_CONST,
      	IPA_CONST_MEMBER_PTR, and IPA_PASS_THROUGH to IPA_JF_UNKNOWN,
      	IPA_JF_CONST, IPA_JF_CONST_MEMBER_PTR, and IPA_JF_PASS_THROUGH
      	respectively.
      
      	* tree-dfa.c (get_ref_base_and_extent): Return -1 maxsize if
      	seen_variable_array_ref while also traversing a union.
      
      	* tree-inline.c (optimize_inline_calls): Do not call
      	cgraph_node_remove_callees.
      	* cgraphbuild.c (remove_cgraph_callee_edges): New function.
      	(pass_remove_cgraph_callee_edges): New variable.
      	* passes.c (init_optimization_passes): Add
      	pass_remove_cgraph_callee_edges after early inlining and before all
      	late intraprocedural passes.
      
      	* omp-low.c (expand_omp_taskreg): Always set current_function_decl.
      
      From-SVN: r145291
      Martin Jambor committed