Sterling Augustine [Thu, 27 May 2010 21:10:54 +0000 (21:10 +0000)]
invoke.texi (xtensa options): Add -mforce-no-pic.
2010-05-27 Sterling Augustine <sterling@tensilica.com>
* doc/invoke.texi (xtensa options): Add -mforce-no-pic.
* config/xtensa/xtensa.c (override_options): Check
TARGET_FORCE_NO_PIC and set flag_pic.
* config/xtensa/xtensa.opt: Document -mforce-no-pic
From-SVN: r159950
Kai Tietz [Thu, 27 May 2010 20:40:48 +0000 (20:40 +0000)]
re PR bootstrap/44299 (Bootstrap broken for cygwin and mingw targets)
2010-05-27 Kai Tietz <kai.tietz@onevision.com>
PR bootstrap/44299
* config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
* config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
From-SVN: r159949
Joseph Myers [Thu, 27 May 2010 20:16:07 +0000 (21:16 +0100)]
diagnostic-core.h: New.
* diagnostic-core.h: New. Contents moved from diagnostic.h and
toplev.h.
* diagnostic.c: Don't include toplev.h.
(progname): Define. Moved from toplev.c.
(seen_error): New function.
* diagnostic.h: Include diagnostic-core.h.
(diagnostic_t, emit_diagnostic): Don't declare here.
* toplev.c (progname): Move to toplev.c.
(emit_debug_global_declarations, compile_file, finalize,
do_compile, toplev_main): Use seen_error.
* toplev.h: Include diagnostic-core.h.
(trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
internal_error, warning, warning_at, error, error_n, error_at,
fatal_error, pedwarn, permerror, sorry, inform, inform_n,
verbatim, fnotice, progname): Move to diagnostic-core.h.
* builtins.c: Include diagnostic-core.h instead of diagnostic.h.
(expand_builtin_expect): Use seen_error.
* c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
(c_make_fname_decl, c_write_global_declarations): Use seen_error.
* c-format.c: Include diagnostic-core.h instead of diagnostic.h.
* c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
* c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
* c-lex.c (c_lex_with_flags, interpret_float): Don't increment
errorcount for errors.
* c-opts.c (c_common_finish): Use seen_error.
* cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
* cgraphunit.c (verify_cgraph_node, verify_cgraph,
cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
* coverage.c: Include diagnostic-core.h instead of diagnostic.h.
(get_coverage_counts): Use seen_error.
* dwarf2out.c (dwarf2out_finish): Use seen_error.
* gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
gimplify_body): Use seen_error.
* ipa-inline.c (cgraph_early_inlining): Use seen_error.
* ipa-pure-const.c (gate_pure_const): Use seen_error.
* ipa-reference.c (gate_reference): Use seen_error.
* jump.c: Include diagnostic-core.h instead of diagnostic.h.
* lambda-code.c: Include diagnostic-core.h instead of
diagnostic.h.
* lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
* lto-compress.c: Include diagnostic-core.h instead of
diagnostic.h.
* lto-section-in.c: Include diagnostic-core.h instead of
diagnostic.h.
* lto-streamer-out.c: Include diagnostic-core.h instead of
diagnostic.h.
* lto-streamer.c: Include diagnostic-core.h instead of
diagnostic.h.
(gate_lto_out): Use seen_error.
* matrix-reorg.c: Include diagnostic-core.h instead of
diagnostic.h.
* omega.c: Include diagnostic-core.h instead of diagnostic.h.
* omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
(gate_expand_omp, lower_omp_1): Use seen_error.
* passes.c: Include diagnostic-core.h instead of diagnostic.h.
(rest_of_decl_compilation, rest_of_type_compilation,
gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
* tree-cfg.c (label_to_block_fn): Use seen_error.
* tree-inline.c (optimize_inline_calls): Use seen_error.
* tree-mudflap.c (mudflap_finish_file): Use
seen_error.
* tree-optimize.c (gate_all_optimizations,
gate_all_early_local_passes, gate_all_early_optimizations): Use
seen_error.
* tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
* varpool.c: Include diagnostic-core.h instead of diagnostic.h.
(varpool_remove_unreferenced_decls,
varpool_assemble_pending_decls): Use seen_error.
* Makefile.in (DIAGNOSTIC_CORE_H): Define.
(TOPLEV_H, DIAGNOSTIC_H): Update.
(c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
coverage.o, lambda-code.o): Update dependencies.
cp:
* call.c: Include diagnostic-core.h instead of diagnostic.h.
* cp-lang.c: Don't include diagnostic.h
* name-lookup.c: Include diagnostic-core.h instead of
diagnostic.h.
(cp_emit_debug_info_for_using): Use seen_error.
* optimize.c: Include diagnostic-core.h instead of diagnostic.h.
* parser.c: Include diagnostic-core.h instead of diagnostic.h.
* pt.c (iterative_hash_template_arg): Use seen_error.
* repo.c: Include diagnostic-core.h instead of diagnostic.h.
* typeck2.c: Include diagnostic-core.h instead of diagnostic.h.
* Make-lang.in (cp/cp-lang.o, cp/typeck2.o, cp/call.o, cp/repo.o,
cp/optimize.o, cp/parser.o, cp/name-lookup.o): Update
dependencies.
lto:
* lto.c: Include diagnostic-core.h instead of diagnostic.h.
(read_cgraph_and_symbols, lto_main): Use seen_error.
* Make-lang.in (lto/lto.o): Update dependencies.
objc:
* objc-act.c: Include diagnostic-core.h instead of diagnostic.h.
* Make-lang.in (objc/objc-act.o): Update dependencies.
From-SVN: r159947
Dodji Seketeli [Thu, 27 May 2010 19:29:53 +0000 (19:29 +0000)]
re PR c++/44188 (Fails to produce DW_AT_typedef for typedef of anonymous struct)
Fix PR c++/44188
gcc/ChangeLog:
PR c++/44188
* c-common.c (is_typedef_decl): Move this definition ...
* tree.c (is_typedef_decl): ... here.
(typdef_variant_p): Move definition here from gcc/cp/tree.c.
* c-common.h (is_typedef_decl): Move this declaration ...
* tree.h (is_typedef_decl): ... here.
(typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
* dwarf2out.c (is_naming_typedef_decl): New function.
(gen_tagged_type_die): Split out of ...
(gen_type_die_with_usage): ... this function. When an anonymous
tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
is emitted for the typedef.
(gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
anonymous tagged types.
gcc/cp/ChangeLog:
PR c++/44188
* cp-tree.h (typedef_variant_p): Move this declaration to
gcc/tree.h.
* tree.c (typedef_variant_p): Move this definition to gcc/tree.c.
* decl.c (grokdeclarator): Do not rename debug info of an
anonymous tagged type named by a typedef.
gcc/testsuite/ChangeLog:
PR c++/44188
* g++.dg/debug/dwarf2/typedef3.C: New test.
From-SVN: r159943
Jason Merrill [Thu, 27 May 2010 18:39:56 +0000 (14:39 -0400)]
print-tree.c (debug_vec_tree): New fn.
* print-tree.c (debug_vec_tree): New fn.
(print_vec_tree): New fn.
* tree.h: Declare them.
* gdbinit.in (ptv): New command.
* print-tree.c (print_node) [TREE_VEC]: Print elements normally.
* gdbinit.in (pdd): New command.
From-SVN: r159941
Jason Merrill [Thu, 27 May 2010 18:39:46 +0000 (14:39 -0400)]
revert: re PR libstdc++/42832 (Revisit std::function for aliasing issues and efficiency)
Revert:
PR libstdc++/42832
* include/std/functional (function<>::swap): Perform bytewise
swap of _M_functor.
* include/tr1/functional (function<>::swap): Likewise.
From-SVN: r159940
Jason Merrill [Thu, 27 May 2010 18:39:28 +0000 (14:39 -0400)]
re PR c++/43555 (wrong address calculation of multidimensional variable-length array element)
PR c++/43555
* decl.c (grokdeclarator) [cdk_pointer et al]: Force evaluation of
anonymous VLA size.
From-SVN: r159939
Paolo Carlini [Thu, 27 May 2010 17:37:11 +0000 (17:37 +0000)]
re PR libstdc++/40497 ([C++0x] troubles with std::next / std::prev declarations)
2010-05-27 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40497
* include/bits/cpp_type_traits.h (__is_iterator): Add.
* include/bits/stl_iterator_base_funcs.h (next, prev): Use it.
* testsuite/24_iterators/operations/40497.cc: New.
From-SVN: r159933
Jan Hubicka [Thu, 27 May 2010 17:07:21 +0000 (19:07 +0200)]
ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
* ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
(update_caller_keys): Return early if there are no callers;
only update fibheap when decresing the key.
(update_callee_keys): Avoid recursion.
(decide_inlining_of_small_functions): When badness does not match;
re-insert into fibheap.
From-SVN: r159931
Iain Sandoe [Thu, 27 May 2010 16:28:13 +0000 (16:28 +0000)]
re PR objc/44140 (ObjC lto/whopr fails)
2010-05-27 Iain Sandoe <iains@gcc.gnu.org>
PR ObjC/44140
* objc.dg/torture/tls/thr-init-2.m: Skip for -flto, -fwhopr.
* objc.dg/torture/tls/thr-init-3.m: Ditto.
* objc.dg/torture/tls/thr-init.m: Ditto.
* objc.dg/torture/trivial.m: Ditto.
* obj-c++.dg/torture/tls/thr-init-1.mm: Ditto.
* obj-c++.dg/torture/tls/thr-init-2.mm: Ditto.
* obj-c++.dg/torture/tls/thr-init-3.mm: Ditto.
* obj-c++.dg/torture/trivial.mm: Ditto.
From-SVN: r159929
Jason Merrill [Thu, 27 May 2010 16:27:19 +0000 (12:27 -0400)]
changelog correction
From-SVN: r159928
Steven Bosscher [Thu, 27 May 2010 16:02:50 +0000 (16:02 +0000)]
Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
gcc/ChangeLog:
* Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
(ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
(ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
(ALL_HOST_OBJS): Now a union of the above two.
<section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
all files in ALL_HOST_FRONTEND_OBJS.
* system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
* c-common.c: Pretend to be a backend file by undefining
IN_GCC_FRONTEND (still need rtl.h here).
ada/ChangeLog:
* gcc-interface/decl.c: Pretend to be a backend file by undefining
IN_GCC_FRONTEND (still need rtl.h here).
java/ChangeLog:
* buildings.c: Pretend to be a backend file by undefining
IN_GCC_FRONTEND (still need rtl.h here).
From-SVN: r159927
Jan Hubicka [Thu, 27 May 2010 15:43:25 +0000 (17:43 +0200)]
cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
* cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
* cgraphunit.c (clone_of_p): Compile only when checking is enabled.
From-SVN: r159925
Jack Howarth [Thu, 27 May 2010 15:19:55 +0000 (15:19 +0000)]
20100302_0.C: Skip on darwin.
2010-05-27 Jack Howarth <howarth@bromo.med.uc.edu>
* g++.dg/lto/20100302_0.C: Skip on darwin.
From-SVN: r159924
Jan Hubicka [Thu, 27 May 2010 15:08:00 +0000 (15:08 +0000)]
sched-ebb.c: Rename struct deps to struct deps_desc.
* sched-ebb.c: Rename struct deps to struct deps_desc.
* ddg.c: Likewise.
* sel-sched-ir.c: Likewise.
* sched-deps.c: Likewise.
* sched-int.h: Likewise.
* sched-rgn.c: Likewise.
From-SVN: r159923
Jon Beniston [Thu, 27 May 2010 15:05:48 +0000 (15:05 +0000)]
PR 43726 * config/lm32/lm32.h: Remove definition of GO_IF_MODE_DEPENDENT_ADDRESS.
From-SVN: r159922
Eric Botcazou [Thu, 27 May 2010 14:11:35 +0000 (14:11 +0000)]
re PR lto/44230 (Do not create need for multiple EH personalities)
PR lto/44230
* dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
lto/
* lto.h (lto_eh_personality): New prototype.
* lto.c: Include debug.h.
(first_personality_decl): New static variable.
(lto_materialize_function): Set it to DECL_FUNCTION_PERSONALITY of the
first function for which it is non-null.
(lto_eh_personality_decl): New static variable.
(lto_eh_personality): New function.
* lto-lang.c (LANG_HOOKS_EH_PERSONALITY): Redefine to above function.
* Make-lang.in (lto/lto.o): Add dependency on debug.h.
From-SVN: r159921
Richard Guenther [Thu, 27 May 2010 13:23:45 +0000 (13:23 +0000)]
re PR tree-optimization/44284 (vectorization does not work for short variable)
2010-05-27 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44284
* tree-vect-stmts.c (vectorizable_assignment): Handle
sign-changing conversions as simple copy.
* gcc.dg/vect/vect-118.c: New testcase.
* gcc.dg/vect/bb-slp-20.c: Adjust.
* gcc.dg/vect/no-section-anchors-vect-36.c: Likewise.
* gcc.dg/vect/slp-9.c: Likewise.
* gcc.dg/vect/slp-reduc-4.c: Likewise.
* gcc.dg/vect/vect-10.c: Likewise.
* gcc.dg/vect/vect-109.c: Likewise.
* gcc.dg/vect/vect-12.c: Likewise.
* gcc.dg/vect/vect-36.c: Likewise.
* gcc.dg/vect/vect-7.c: Likewise.
* gcc.dg/vect/vect-iv-8.c: Likewise.
* gcc.dg/vect/vect-multitypes-10.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-7.c: Likewise.
* gcc.dg/vect/vect-multitypes-8.c: Likewise.
* gcc.dg/vect/vect-multitypes-9.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-u16b.c: Likewise.
* gcc.dg/vect/vect-strided-a-u32-mult.c: Likewise.
* gcc.dg/vect/vect-strided-u32-mult.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-sum.c: Likewise.
* gcc.dg/vect/vect-widen-mult-u16.c: Likewise.
From-SVN: r159920
Maxim Kuvyrkov [Thu, 27 May 2010 12:08:51 +0000 (12:08 +0000)]
gthr-posix.h (pthread_cancel): Don't declare if compiling against Bionic C library.
* gthr-posix.h (pthread_cancel): Don't declare if compiling against
Bionic C library.
(__gthread_active_p): Check for pthread_create if compiling against
Bionic C library.
From-SVN: r159919
Maxim Kuvyrkov [Thu, 27 May 2010 12:06:58 +0000 (12:06 +0000)]
Support compilation for Android platform. Reimplement -mandroid.
* config.gcc (*linux*): Include linux-android.h and linux-android.opt.
(*android*): Set ANDROID_DEFAULT.
(arm*-*-linux*): Include linux-android.h.
(arm*-*-eabi*): Don't include previous -mandroid implementation.
* config/arm/eabi.h: Remove, move Android-specific parts ...
* config/linux-android.h: ... here. New file.
* config/arm/eabi.opt: Rename to ...
* config/linux-android.opt: ... this.
(mandroid): Allow -mno-android option. Initialize based on
ANDROID_DEFAULT.
* config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
Move logic to corresponding LINUX_TARGET_* macros.
(TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
* config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
(STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
Android definitions.
(LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
* doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
Document.
From-SVN: r159918
Maxim Kuvyrkov [Thu, 27 May 2010 11:54:48 +0000 (11:54 +0000)]
Add support for Bionic C library
Add support for Bionic C library
gcc/
* config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
macro.
(DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
(bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
* config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
(LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
(CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
to support multiple C libraries. Handle Bionic.
(BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
(BIONIC_DYNAMIC_LINKER64): Define.
(LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
Update.
(TARGET_HAS_SINCOS): Enable for Bionic.
* config/linux.opt: Rewrite to handle more than 2 C libraries. Make
the last option specified on command line take effect.
(linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
(mbionic): New.
(mglibc, muclibc): Update.
* config/alpha/linux-elf.h, config/rs6000/linux64.h,
* config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
DEFAULT_LIBC.
* doc/invoke.texi (-mglibc, -muclibc): Update.
(-mbionic): Document.
gcc/testsuite/
* gcc.dg/glibc-uclibc-1.c, gcc.dg/glibc-uclibc-2.c: Remove, no longer
necessary.
From-SVN: r159917
Ulrich Weigand [Thu, 27 May 2010 11:46:06 +0000 (11:46 +0000)]
c-common.h (c_register_addr_space): Add prototype.
* c-common.h (c_register_addr_space): Add prototype.
(ADDR_SPACE_KEYWORD): Remove.
* c-common.c (c_register_addr_space): New function.
(c_addr_space_name): Reimplement.
(c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
* config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
(REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
* doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
Remove TARGET_ADDR_SPACE_KEYWORDS.
From-SVN: r159916
Uros Bizjak [Thu, 27 May 2010 11:36:26 +0000 (13:36 +0200)]
ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.
From-SVN: r159915
Joseph Myers [Thu, 27 May 2010 11:33:27 +0000 (12:33 +0100)]
input.c: New file.
* input.c: New file.
* input.h (main_input_filename): Move declaration to toplev.h.
* toplev.c (input_location, line_table): Move to input.c
* toplev.h (main_input_filename): Move declaration from input.h.
* tree.c (expand_location): Move to input.c.
* Makefile.in (OBJS-common): Add input.o.
(input.o): Add dependencies.
From-SVN: r159914
Richard Guenther [Thu, 27 May 2010 10:33:08 +0000 (10:33 +0000)]
lto-wrapper.c (maybe_unlink_file): Ignore unlink failure for non-existant files.
2010-05-27 Richard Guenther <rguenther@suse.de>
* lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
for non-existant files.
(fork_execute): Mark args_name file as deleted.
From-SVN: r159913
Kai Tietz [Thu, 27 May 2010 08:13:58 +0000 (08:13 +0000)]
re PR bootstrap/44287 (Failed to bootstrap)
gcc/cp/
2010-05-27 Kai Tietz <kai.tietz@onevision.com>
PR bootstrap/44287
* rtti.c (emit_support_tinfos): Check for NULL_TREE.
* class.c (layout_class_type): Likewise.
* decl.c (finish_enum): Likewise.
* mangle.c (write_builitin_type): Likewise.
gcc/
2010-05-27 Kai Tietz <kai.tietz@onevision.com>
PR bootstrp/44287
* c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
(narrow_signed_type): Likewise.
From-SVN: r159912
Jan Hubicka [Thu, 27 May 2010 08:01:10 +0000 (10:01 +0200)]
materialize-1_0.c: New file.
* gcc.dg/lto/materialize-1_0.c: New file.
* gcc.dg/lto/materialize-1_1.c: New file.
From-SVN: r159911
Jan Hubicka [Thu, 27 May 2010 02:07:01 +0000 (04:07 +0200)]
cgraphunit.c (verify_cgraph_node): Do checking that DECL match edge only when checking is enabled...
* cgraphunit.c (verify_cgraph_node): Do checking that DECL match
edge only when checking is enabled; check using former_clone_of;
check inline clones too.
(cgraph_materialize_clone): Record former_clone_of pointer.
(cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
combining redirections; dump args_to_skip bitmap
(cgraph_materialize_all_clones): Do no redirection here.
* ipa-inline.c (inline_transform): Do redirection here.
* cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
cheking only).
From-SVN: r159907
GCC Administrator [Thu, 27 May 2010 00:17:42 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159906
Steven Bosscher [Wed, 26 May 2010 22:45:08 +0000 (22:45 +0000)]
avr-c.c: Do not include regs.h.
* config/avr/avr-c.c: Do not include regs.h.
Include cpplib.h for cpp_define and tree.h for c-common.h.
* config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
* config/avr/t-avr: Fix dependencies for avr-c.o.
From-SVN: r159901
Steven Bosscher [Wed, 26 May 2010 21:46:22 +0000 (21:46 +0000)]
explow.c (set_stack_check_libfunc): Adjust to accept name as a string instead of SYMBOL_REF rtx.
gcc/ChangeLog:
* explow.c (set_stack_check_libfunc): Adjust to accept name as a
string instead of SYMBOL_REF rtx.
* rtl.h (set_stack_check_libfunc): Move prototype from here...
* libfuncs.h: ...to here. Adjust for explow.c change.
ada/ChangeLog:
* gcc-interface/trans.c: Do not include rtl.h, insclude libfuncs.h.
(gigi): Adjust call to set_stack_check_libfunc.
From-SVN: r159900
Nathan Froyd [Wed, 26 May 2010 19:27:58 +0000 (19:27 +0000)]
java-tree.h (struct lang_decl_func): Change type of throws_list field to a VEC.
* java-tree.h (struct lang_decl_func): Change type of throws_list
field to a VEC.
* jcf-parse.c (HANDLE_EXCEPTIONS_ATTRIBUTE): Adjust for changed type
of DECL_FUNCTION_THROWS.
* class.c (make_method_value): Likewise.
From-SVN: r159899
Joseph Myers [Wed, 26 May 2010 18:55:51 +0000 (19:55 +0100)]
pretty-print.c: Don't include ggc.h.
* pretty-print.c: Don't include ggc.h.
(identifier_to_locale_alloc, identifier_to_locale_free): Define.
(identifier_to_locale): Use them for allocation.
* pretty-print.h (identifier_to_locale_alloc,
identifier_to_locale_free): Declare.
* toplev.c (alloc_for_identifier_to_locale): New.
(general_init): Set identifier_to_locale_alloc and
identifier_to_locale_free.
* Makefile.in (pretty-print.o): Update dependencies.
From-SVN: r159898
Kai Tietz [Wed, 26 May 2010 18:09:29 +0000 (20:09 +0200)]
Move cplusplus parts into cp/ChangeLog and remove them from gcc's.
From-SVN: r159897
Eric Botcazou [Wed, 26 May 2010 17:57:30 +0000 (17:57 +0000)]
gimple.c (gimple_types_compatible_p): Return 0 for aggregate and pointer types if they have different alignment or mode.
* gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
pointer types if they have different alignment or mode.
From-SVN: r159896
Sterling Augustine [Wed, 26 May 2010 17:36:37 +0000 (17:36 +0000)]
MAINTAINERS (CPU Port Maintainers): Add myself for xtensa port.
2010-05-25 Sterling Augustine <sterling@tensilica.com>
* MAINTAINERS (CPU Port Maintainers): Add myself for xtensa port.
From-SVN: r159894
Anatoly Sokolov [Wed, 26 May 2010 17:12:20 +0000 (21:12 +0400)]
sparc.h (FUNCTION_VALUE, [...]): Remove macros.
* config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
* config/sparc/sparc-protos.h (function_value): Remove declaration.
* config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
sparc_function_value_regno_p): New functions.
(TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
TARGET_FUNCTION_VALUE_REGNO_P): Define.
(function_value): Rename to...
(sparc_function_value_1): ... this. Make static. Change 'incoming_p'
argument to 'outgoing'.
(function_arg_record_value, function_arg_union_value,
function_arg_vector_value): Update comment.
From-SVN: r159890
Eric Botcazou [Wed, 26 May 2010 16:55:35 +0000 (16:55 +0000)]
dwarf2out.c (struct dw_fde_struct): Reorder flags.
* dwarf2out.c (struct dw_fde_struct): Reorder flags.
(fde_needed_for_eh_p): New predicate.
(output_call_frame_info): Use it throughout to decide whether FDEs
are needed for EH purpose.
(dwarf2out_begin_prologue): Reorder assignments.
From-SVN: r159889
Sebastian Pop [Wed, 26 May 2010 16:47:08 +0000 (16:47 +0000)]
Do not check the if-convertibility of statements that are not predicated.
2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
* tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
special case loop->header.
(is_predicated): New.
(if_convertible_loop_p): Call it.
From-SVN: r159887
Sebastian Pop [Wed, 26 May 2010 16:46:59 +0000 (16:46 +0000)]
Reorganize the analysis of basic block predication.
2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
* tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
iterator in parameter. Do not generate code during the analysis.
(tree_if_convert_cond_stmt): Removed.
(tree_if_convert_stmt): Removed.
(predicate_bbs): New.
(if_convertible_loop_p): Call predicate_bbs.
(tree_if_conversion): Simplify the top-level logic as predicate_bbs
now contains all the analysis part.
From-SVN: r159886
Sebastian Pop [Wed, 26 May 2010 16:46:49 +0000 (16:46 +0000)]
Remove conditions in the code generation of if-conversion.
2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
* tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
statements in the analysis part.
(tree_if_convert_stmt): Update comment.
(remove_conditions_and_labels): New.
(combine_blocks): Call remove_conditions_and_labels.
(tree_if_conversion): Update comment.
From-SVN: r159885
Sebastian Pop [Wed, 26 May 2010 16:46:39 +0000 (16:46 +0000)]
Don't handle BBs with more than 2 preds or succs.
2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
* tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
than 2 predecessors or more than 2 successors.
From-SVN: r159884
Sebastian Pop [Wed, 26 May 2010 16:46:25 +0000 (16:46 +0000)]
Avoid if-conversion of loops in which the data dependence analysis fails.
2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
* tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
of loops in which the data dependence analysis fails.
From-SVN: r159883
Sebastian Pop [Wed, 26 May 2010 16:46:12 +0000 (16:46 +0000)]
Do not compute/free CDI_POST_DOMINATORS.
2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
* tree-if-conv.c (if_convertible_loop_p): Do not compute/free
CDI_POST_DOMINATORS.
(tree_if_conversion): Same.
From-SVN: r159882
Sebastian Pop [Wed, 26 May 2010 16:45:56 +0000 (16:45 +0000)]
Make tree_if_conversion not return a bool.
2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
* tree-if-conv.c (tree_if_conversion): Do not return a bool.
From-SVN: r159881
Sebastian Pop [Wed, 26 May 2010 16:45:47 +0000 (16:45 +0000)]
Fix comments.
2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
* tree-if-conv.c: Update copyright years. Fix comments.
Fix indentation.
From-SVN: r159880
Kai Tietz [Wed, 26 May 2010 16:13:55 +0000 (16:13 +0000)]
demangle-expected: Add tests for __int128 and unsigned __int128 types.
libiberty/
2010-05-26 Kai Tietz <kai.tietz@onevision.com>
* testsuite/demangle-expected: Add tests for __int128
and unsigned __int128 types.
gcc/testsuite
2010-05-26 Kai Tietz <kai.tietz@onevision.com>
* lib/target-supports.exp (check_effective_target_int128): New
function to check if __int128 types are available for target.
* testsuite/c-c++-common/int128-types-1.c: New.
* testsuite/c-c++-common/int128-1.c: New.
* testsuite/c-c++-common/int128-2.c: New.
* g++.dg/abi/mangle43.C: New.
* g++.dg/init/enum1.C: Handle __int128 case and add -Wno-overflow.
* g++.dg/cpp0x/nullptr04.C: Use __SIZE_TYPE__ for getting
pointer-wide scalar.
* g++.dg/other/pr25632.C: Likewise.
* g++.dg/other/large-size-array.C (DIM): Use ULLONG_MAX for win64 case.
* g++.dg/warn/pr13358-2.C: Add llp64 for check of special
overflow warnings.
* g++.dg/warn/pr13358-4.C: Likewise.
* g++.dg/warn/Wconversion-null-2.C: Add 'long long' case.
* g++.dg/warn/Wconversion-null.C: Likewise.
gcc/
2010-05-26 Kai Tietz <kai.tietz@onevision.com>
* builtin-types.def (BT_INT128): New primitive type.
(BT_UINT128): Likewise.
* c-common.c (c_common_r): Add __int128 keyword.
(c_common_type_for_size): Handle __int128.
(c_common_type_for_mode): Likewise.
(c_common_signed_or_unsigned_type): Likewise.
(c_common_nodes_and_builtins): Add builtin type
if target supports 128-bit integer scalar.
* c-common.h (enum rid): Add RID_INT128.
* c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
if target supports 128-bit integer scalar.
* c-decl.c (declspecs_add_type): Handle new keyword
__int128.
(finish_declspecs): Likewise.
* c-parser.c (c_token_starts_typename): Handle RID_INT128.
(c_token_starts_declspecs): Likewise.
(c_parser_declspecs): Likewise.
(c_parser_attributes): Likewise.
(c_parser_objc_selector): Likewise.
* c-pretty-print.c (pp_c_integer_constant): Handle __int128.
* c-tree.h (enum c_typespec_keyword): Add cts_int128.
* gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
* tree.c (make_or_reuse_type): Likewise.
(make_unsigned_type): Likewise.
(build_common_tree_nodes_2): Likewise.
* tree.h (enum integer_type_kind): Add itk_int128 and
itk_unsigned_int128.
(int128_integer_type_node): New define..
(int128_unsigned_type_node): New define.
* cp/cp-tree.h (cp_decl_specifier_seq): Add new bifield
explicit_int128_p.
* cp/decl.c (grokdeclarator): Handle __int128.
* cp/parser.c (cp_lexer_next_token_is_decl_specifier_ke): Likewise.
(cp_parser_simple_type_specifier): Likewise.
* cp/rtti.c (emit_support_tinfos): Add int128 nodes for rtti.
* cp/typeck.c (cp_common_type): Handle __int128.
* cp/mangle.c (integer_type_codes): Add itk_int128 and
itk_unsigned_int128.
* doc/extend.texi: Add documentation about __int128 type.
From-SVN: r159879
Richard Guenther [Wed, 26 May 2010 15:35:03 +0000 (15:35 +0000)]
tree-ssa-sccvn.c (copy_nary): Adjust.
2010-05-26 Richard Guenther <rguenther@suse.de>
* tree-ssa-sccvn.c (copy_nary): Adjust.
(copy_phis): Rename to ...
(copy_phi): ... this. Adjust.
(copy_references): Rename to ...
(copy_reference): ... this. Adjust.
(process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
result into the valid table.
From-SVN: r159877
Steven Bosscher [Wed, 26 May 2010 15:23:00 +0000 (15:23 +0000)]
spu-c.c: Do not include function.h...
* config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
insn-config.h, insn-codes.h, recog.h, and optabs.h.
From-SVN: r159876
Laurynas Biveinis [Wed, 26 May 2010 15:08:28 +0000 (15:08 +0000)]
ggc.h (ggc_min_expand_heuristic, [...]): Remove.
2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic):
Remove.
From-SVN: r159874
Jason Merrill [Wed, 26 May 2010 15:00:02 +0000 (11:00 -0400)]
re PR c++/43382 ([C++0x] ICE with auto return type and variadic templates)
PR c++/43382
* pt.c (fn_type_unification): Don't get confused by recursive
unification.
From-SVN: r159873
Richard Guenther [Wed, 26 May 2010 14:41:45 +0000 (14:41 +0000)]
opts.c (common_handle_option): Handle OPT_Ofast.
2010-05-26 Richard Guenther <rguenther@suse.de>
* opts.c (common_handle_option): Handle OPT_Ofast.
From-SVN: r159871
Nathan Froyd [Wed, 26 May 2010 13:55:30 +0000 (13:55 +0000)]
class.c (utf8_decl_list): Delete.
* class.c (utf8_decl_list): Delete.
(build_utf8_ref): Remove references to it.
* java-tree.h (all_class_list): Delete.
(predef_filenames): Delete.
(enum java_tree_index) [JTI ALL_CLASS_LIST,JTI_PREDEF_FILENAMES]:
Delete.
* jcf-parse.c (parse_roots): Decrease size to 2.
(current_file_list): Convert to a VEC.
(all_class_list): Declare.
(jcf_parse): Adjust for new type of all_class_list.
(java_layout_seen_class_methods): Likewise.
(predefined_filenames): Declare.
(add_predefined_file): Use it.
(predefined_filename_p): Likewise.
(java_parse_file): Adjust for new type of current_file_list. *
From-SVN: r159870
Joseph Myers [Wed, 26 May 2010 13:40:53 +0000 (14:40 +0100)]
diagnostic.c: Don't include opts.h.
* diagnostic.c: Don't include opts.h.
(permissive_error_option): Define.
(diagnostic_initialize): Take n_opts parameter. Allocate memory
for classify_diagnostic. Don't use memset for
classify_diagnostic. Initialize new and recently added fields.
(diagnostic_classify_diagnostic): Use context->n_opts instead of
N_OPTS.
(diagnostic_report_diagnostic): Pass context parameter to
diagnostic_report_warnings_p. Use option_enabled and option_name
hooks from context.
(emit_diagnostic): Use permissive_error_option.
(permerror): Likewise.
* diagnostic.h: Don't include options.h.
(struct diagnostic_context): Add n_opts, opt_permissive,
inhibit_warnings, warn_system_headers, option_enabled and
option_name fields. Change classify_diagnostic to a pointer.
* opts-diagnostic.h: New file.
* opts.c: Include opts-diagnostic.h.
(common_handle_option): Set global_dc fields for -Wfatal-errors,
-Wsystem-headers, -fshow-column, -pedantic-errors and -w.
(option_name): New function.
* c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
(c_common_handle_option): Set global_dc->permissive for
-fpermissive.
* c-common.c (c_cpp_error): Save and restore
global_dc->warn_system_headers, not variable warn_system_headers.
* toplev.c: Include opts-diagnostic.h.
(general_init): Update call to diagnostic_initialize. Set
global_dc->show_column, global_dc->option_enabled and
global_dc->option_name.
(process_options): Don't set global_dc fields here.
* Makefile.in (DIAGNOSTIC_H): Remove options.h.
(diagnostic.o, opts.o, toplev.o): Update dependencies.
fortran:
* cpp.c (cb_cpp_error): Save and restore
global_dc->warn_system_headers, not variable warn_system_headers.
From-SVN: r159869
Hariharan Sandanagobalane [Wed, 26 May 2010 12:20:31 +0000 (12:20 +0000)]
picochip.md (movsi): Split a movsi from a const after reload.
* config/picochip/picochip.md (movsi): Split a movsi from a
const after reload.
From-SVN: r159867
Laurynas Biveinis [Wed, 26 May 2010 11:24:42 +0000 (11:24 +0000)]
ggc-zone.c: Update copyright year.
2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* ggc-zone.c: Update copyright year.
(poison_region): Mark memory for Valgrind as undefined before
memset () call and inaccessible afterwards.
(ggc_pch_total_size): Change type of i to int.
2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* ggc-common.c (ggc_free_overhead): Allow empty slot.
2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* ggc-common.c: Update copyright year.
(ggc_rlimit_bound): Remove prototype. Compile only if
!ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
(ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
&& !ENABLE_GC_ALWAYS_COLLECT. Make static.
(ggc_min_heapsize_heuristic): Likewise.
From-SVN: r159863
Steven Bosscher [Wed, 26 May 2010 10:34:40 +0000 (10:34 +0000)]
* lto-lang.c: Do not include expr.h.
From-SVN: r159862
Richard Guenther [Wed, 26 May 2010 10:30:31 +0000 (10:30 +0000)]
re PR rtl-optimization/44164 (Aliasing bug triggered by Boost.Bind/Boost.Function)
2010-05-26 Richard Guenther <rguenther@suse.de>
PR rtl-optimization/44164
* tree-ssa-alias.c (aliasing_component_refs_p): Fix the
no-common access-path disambiguation.
(indirect_ref_may_alias_decl_p): Adjust.
(indirect_refs_may_alias_p): Likewise.
(refs_may_alias_p_1): Likewise.
* gcc.c-torture/execute/pr44164.c: New testcase.
* g++.dg/tree-ssa/pr13146.C: Adjust.
From-SVN: r159861
Steven Bosscher [Wed, 26 May 2010 09:53:37 +0000 (09:53 +0000)]
* c-typeck.c: Do not include expr.h.
From-SVN: r159860
Steven Bosscher [Wed, 26 May 2010 09:52:56 +0000 (09:52 +0000)]
* cp-lang.c: Do not include expr.h.
From-SVN: r159859
Steven Bosscher [Wed, 26 May 2010 09:52:03 +0000 (09:52 +0000)]
* fortran/f95-lang.c: Do not include libfuncs.h, expr.h, and except.h.
From-SVN: r159858
Steven Bosscher [Wed, 26 May 2010 08:36:49 +0000 (08:36 +0000)]
rtl.h (decl_default_tls_model): Move prototype from here...
gcc/ChangeLog:
* rtl.h (decl_default_tls_model): Move prototype from here...
* output.h: ...to here.
* c-decl.c: Do not include rtl.h.
* c-pragma.c: Likewise.
* c-parser.c: Likewise.
* c-gimplify.c: Likewise. And also not hard-reg-set.
* c-common.c: Do not include rtl.h. Include tm_p.h and add a
FIXME note for it. Add a FIXME note for expr.h.
* config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
defined.
cp/ChangeLog:
* decl.c: Do not include rtl.h
* semantics.c: Likewise.
ada/ChangeLog:
* gcc-interface/utils.c: Do not include rtl.h.
fortran/ChangeLog:
* trans-common.c: Do not include rtl.h, include output.h instead.
* trans-decl.c: Likewise.
From-SVN: r159856
Jakub Jelinek [Wed, 26 May 2010 06:00:44 +0000 (08:00 +0200)]
re PR target/44199 (ppc64 glibc miscompilation)
PR target/44199
* config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
or total_size is larger than red zone size for non-V4 ABI, emit a
stack_tie resp. frame_tie insn before stack pointer restore.
* config/rs6000/rs6000.md (frame_tie): New insn.
From-SVN: r159853
Paul Thomas [Wed, 26 May 2010 05:11:04 +0000 (05:11 +0000)]
re PR fortran/40011 (Problems with -fwhole-file)
2010-05-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40011
* resolve.c (resolve_global_procedure): Resolve the gsymbol's
namespace before trying to reorder the gsymbols.
2010-05-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40011
* gfortran.dg/whole_file_19.f90 : New test.
From-SVN: r159852
GCC Administrator [Wed, 26 May 2010 00:17:44 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159851
Eric Botcazou [Tue, 25 May 2010 22:34:36 +0000 (22:34 +0000)]
function.h (struct function): Add can_throw_non_call_exceptions bit.
* function.h (struct function): Add can_throw_non_call_exceptions bit.
* lto-streamer-in.c (input_function): Stream it in.
* lto-streamer-out.c (output_function): Stream it out.
* function.c (allocate_struct_function): Set it.
(expand_function_end): Substitute cfun->can_throw_non_call_exceptions
for flag_non_call_exceptions.
* cfgbuild.c (control_flow_insn_p): Likewise.
(make_edges): Likewise.
* cfgexpand.c (expand_stack_alignment): Likewise.
* combine.c (distribute_notes): Likewise.
* cse.c (cse_extended_basic_block): Likewise.
* except.c (insn_could_throw_p): Likewise.
* gcse.c (simple_mem): Likewise.
* ipa-pure-const.c (check_call): Likewise.
(check_stmt ): Likewise.
* lower-subreg.c (lower-subreg.c): Likewise.
* optabs.c (emit_libcall_block): Likewise.
(prepare_cmp_insn): Likewise.
* postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
* postreload.c (rest_of_handle_postreload): Likewise.
* reload1.c (reload_as_needed): Likewise.
(emit_input_reload_insns): Likewise.
(emit_output_reload_insns): Likewise.
(fixup_abnormal_edges): Likewise.
* sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
* store-motion.c (find_moveable_store): Likewise.
* tree-eh.c (stmt_could_throw_p): Likewise.
(tree_could_throw_p): Likewise.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
* config/arm/arm.c (arm_expand_prologue): Likewise.
(thumb1_expand_prologue): Likewise.
* config/rx/rx.md (cbranchsf4): Likewise.
(cmpsf): Likewise.
* config/s390/s390.c (s390_emit_prologue): Likewise.
* tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
(inline_forbidden_into_p): New predicate.
(expand_call_inline): Use it to forbid inlining.
(tree_can_inline_p): Likewise.
From-SVN: r159847
Steven Bosscher [Tue, 25 May 2010 22:33:00 +0000 (22:33 +0000)]
i386-c.c: Do not include rtl.h.
* config/i386/i386-c.c: Do not include rtl.h.
* config/i386/t-i386: Update dependencies.
From-SVN: r159846
Steven Bosscher [Tue, 25 May 2010 22:31:19 +0000 (22:31 +0000)]
attribs.c: Do not include rtl.h.
* attribs.c: Do not include rtl.h.
* Makefile.in: Update dependencies.
From-SVN: r159845
Steven Bosscher [Tue, 25 May 2010 21:07:40 +0000 (21:07 +0000)]
utils.c: Do not include function.h, pointer-set.h, and gimple.h.
* gcc-interface/utils.c: Do not include function.h, pointer-set.h,
and gimple.h. Explain why rtl.h has to be included.
(handle_vector_size_attribute): Call reconstruct_complex_type directly.
* gcc-interface/targtyps.c: Do not include tm_p.h
* gcc-interface/utils2.c: Do not include flags.h.
* gcc-interface/trans.c: Do not include expr.h. Include rtl.h instead,
and explain why it has to be included.
* gcc-interface/misc.c: Do not include expr.h, libfuncs.h, cgraph.h,
and optabs.h.
Include function.h and explain why. Explain why except.h is included.
(enumerate_modes): Remove unused function.
* gcc-interface/gigi.h (enumerate_modes): Remove prototype.
* gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r159844
Anatoly Sokolov [Tue, 25 May 2010 19:48:40 +0000 (23:48 +0400)]
double-int.h (double_int_and): New.
* double-int.h (double_int_and): New.
* combine.c (try_combine): Clean up, use double_int_* and
immed_double_int_const functions.
From-SVN: r159842
Rainer Orth [Tue, 25 May 2010 18:50:01 +0000 (18:50 +0000)]
configure.ac: Redirect grep stdout, stderr to /dev/null instead of grep -q.
libjava:
* configure.ac: Redirect grep stdout, stderr to /dev/null instead
of grep -q.
Use -- instead of grep -e.
* configure: Regenerate.
gcc:
* configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
stderr to /dev/null instead of grep -q.
* configure: Regenerate.
contrib:
* dg-extract-results.sh: Redirect grep output to /dev/null instead
of grep -q.
From-SVN: r159840
Steven Bosscher [Tue, 25 May 2010 18:14:23 +0000 (18:14 +0000)]
Makefile.in (EXCEPT_H): Fix typo.
gcc/ChangeLog:
* Makefile.in (EXCEPT_H): Fix typo.
objc/ChangeLog:
* objc-act.h: Do not include gimple.h.
* objc-act.c: Do not include rtl.h, expr.h, libfuncs.h, and tm_p.h.
Include gimple.h. Explain why except.h has to be included.
* objc-lang.c: Do not include diagnostics.h.
* Make-lang.in: Update dependencies.
objcp/ChangeLog:
* objcp-decl.c: Do not include tm.h, rtl.h, expr.h, c-common.h,
flags.h, input.h, except.h, output.h, toplev.h, cpplib.h, debug.h,
and target.h.
* objcp-lang.c: Do not include tm.h, toplev.h, diagnostics.h,
and debug.h. Explain why except.h has to be included.
* Make-lang.in: Update dependencies.
cp/ChangeLog:
* cp-tree.h: Do not include splay-tree.h.
(struct prtmem_cst): Remove unused field and false comment.
* typeck.c: Do not include rtl.h, expr.h, and tm_p.h.
* optimize.c: Do not inclde rtl.h, insn-config.h, and integrate.h.
* init.c: Do not include rtl.h and expr.h.
* class.c: Do not include rtl.h. Include splay-tree.h.
(build_clone): Use plain NULL instead of NULL_RTX.
* decl.c: Do not include expr.h. Explain why rtl.h has to be
included. Include splay-tree.h.
* method.c: Do not include rtl.h and expr.h.
(use_thunk): Use plain NULL instead of NULL_RTX.
* except.c: Do not include rtl.h, expr.h, and libfuncs.h.
* tree.c: Do not include rtl.h, insn-config.h, integrate.h,
and target.h. Include splay-tree.h.
* expr.c: Do not include rtl.h and expr.h.
* pt.c: Do not include obstack.h and rtl.h.
(tsubst_friend_function): Use plain NULL instead of NULL_RTX.
(tsubst_decl): Likewise.
(instantiate_decl): Likewise.
* semantics.c: Do not include exprt.h and debug.h. Explain why
rtl.h has to be included.
* decl2.c: Do not include rtl.h and expr.h. Include splay-tree.h.
* call.c: Do not include rtl.h and expr.h.
* search.c: Do not include obstack.h and rtl.h.
* friend.c: Do not include rtl.h and expr.h.
* Make-lang.in: Update dependencies.
From-SVN: r159839
Daniel Franke [Tue, 25 May 2010 18:10:01 +0000 (14:10 -0400)]
re PR fortran/30668 (-fwhole-file should catch function of wrong type)
gcc/fortran/:
2010-05-25 Daniel Franke <franke.daniel@gmail.com>
PR fortran/30668
PR fortran/31346
PR fortran/34260
* resolve.c (resolve_global_procedure): Add check for global
procedures with implicit interfaces and assumed-shape or optional
dummy arguments. Verify that function return type, kind and string
lengths match.
gcc/testsuite/:
2010-05-25 Daniel Franke <franke.daniel@gmail.com>
PR fortran/30668
PR fortran/31346
PR fortran/34260
* gfortran.dg/pr40999.f: Fix function type.
* gfortran.dg/whole_file_5.f90: Likewise.
* gfortran.dg/whole_file_6.f90: Likewise.
* gfortran.dg/whole_file_16.f90: New.
* gfortran.dg/whole_file_17.f90: New.
* gfortran.dg/whole_file_18.f90: New.
From-SVN: r159838
Jack Howarth [Tue, 25 May 2010 17:26:38 +0000 (17:26 +0000)]
mangle40.C: Adjust dg-require-alias syntax.
2010-05-25 Jack Howarth <howarth@bromo.med.uc.edu>
Iain Sandoe <iains@gcc.gnu.org>
* g++.dg/abi/mangle40.C: Adjust dg-require-alias syntax.
* gcc.c-torture/compile/pr44197.c: Require alias support.
* gcc.dg/lto/20081222_0.c: Ditto.
Co-Authored-By: Iain Sandoe <iains@gcc.gnu.org>
From-SVN: r159837
Jakub Jelinek [Tue, 25 May 2010 17:12:39 +0000 (19:12 +0200)]
lang.c (java_classify_record): Return RECORD_IS_INTERFACE for interfaces.
* lang.c (java_classify_record): Return RECORD_IS_INTERFACE
for interfaces.
From-SVN: r159835
Nathan Froyd [Tue, 25 May 2010 16:59:56 +0000 (16:59 +0000)]
objc-act.c (objc_build_constructor): Adjust OBJCPLUS impedance mismatch code for VECs.
* objc-act.c (objc_build_constructor): Adjust OBJCPLUS impedance
mismatch code for VECs.
From-SVN: r159834
Rainer Orth [Tue, 25 May 2010 16:59:45 +0000 (16:59 +0000)]
re PR libgcj/44216 (All libjava tests fail on IRIX 6.5: ld warns about -no-merge-exidx-entries)
PR libgcj/44216
* configure.ac (libgcj_cv_exidx): Enable AC_LANG_WERROR.
Save and restore werror flag.
* configure: Regenerate.
From-SVN: r159833
Jakub Jelinek [Tue, 25 May 2010 16:30:56 +0000 (18:30 +0200)]
Rename misnamed test.
From-SVN: r159831
Vladimir Makarov [Tue, 25 May 2010 16:29:38 +0000 (16:29 +0000)]
ira-build.c (update_conflict_hard_reg_costs): New.
* ira-build.c (update_conflict_hard_reg_costs): New.
(ira_build): Call update_conflict_hard_reg_costs.
From-SVN: r159830
Jakub Jelinek [Tue, 25 May 2010 16:27:03 +0000 (18:27 +0200)]
re PR debug/41371 (var-tracking is slow and memory hungry)
PR debug/41371
* var-tracking.c (find_loc_in_1pdv): Guard asserts with
ENABLE_CHECKING.
(intersect_loc_chains): Walk the s2var's loc_chain together
with s1node chain as long as the locations are equal, don't
call find_loc_in_1pdv in that case.
From-SVN: r159829
Jakub Jelinek [Tue, 25 May 2010 16:19:11 +0000 (18:19 +0200)]
re PR debug/43260 (Java static class members lack DWARF location info)
PR debug/43260
* java-tree.h (pending_static_fields): New extern declaration.
(java_write_globals): New prototype.
* lang.c (LANG_HOOKS_WRITE_GLOBALS): Define.
* decl.c (java_mark_class_local): When clearing DECL_EXTERNAL
of a static field push it into pending_static_fields vector.
* class.c (pending_static_fields): New variable.
(add_field): If static field is not DECL_EXTERNAL, push it into
pending_static_fields vector.
(java_write_globals): New function.
From-SVN: r159828
Jakub Jelinek [Tue, 25 May 2010 16:17:32 +0000 (18:17 +0200)]
re PR c++/18249 (C++ parser i18n problems)
PR c++/18249
* parser.c (non_integral_constant): Add NIC_NONE.
(required_token): Add RT_NONE.
(cp_parser_unary_expression): Initialize non_constant_p
to NIC_NONE.
(cp_parser_asm_definition): Initialize missing to RT_NONE.
(cp_parser_primary_expression, cp_parser_postfix_expression,
cp_parser_cast_expression, cp_parser_binary_expression,
cp_parser_functional_cast): Fix formatting.
From-SVN: r159827
Jakub Jelinek [Tue, 25 May 2010 16:15:38 +0000 (18:15 +0200)]
re PR debug/42801 (C VLAs should use DW_AT_allocated)
PR debug/42801
* tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
(copy_bind_expr): ... instead of here.
(copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
if the block hasn't been remapped.
* dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
emitting concrete instance of abstract VLA, add DW_AT_type attribute.
* gcc.dg/guality/sra-2.c: New test.
From-SVN: r159826
Richard Guenther [Tue, 25 May 2010 15:49:34 +0000 (15:49 +0000)]
re PR middle-end/44069 (optimization bug initializing from cast array)
2010-05-25 Richard Guenther <rguenther@suse.de>
PR middle-end/44069
* gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
out-of-bounds array accesses.
* g++.dg/torture/pr44069.C: New testcase.
From-SVN: r159824
Richard Guenther [Tue, 25 May 2010 15:47:28 +0000 (15:47 +0000)]
lto-wrapper.c (nr, [...]): Globalize.
2010-05-25 Richard Guenther <rguenther@suse.de>
* lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
(lto_wrapper_exit): Unlink all LTRANS temporary files on error.
(run_gcc): Re-organize to make cleanup easier.
From-SVN: r159823
Andreas Krebbel [Tue, 25 May 2010 15:19:55 +0000 (15:19 +0000)]
s390.c (optimization_options): Fix and move the flag_prefetch_loop_arrays override ...
2010-05-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (optimization_options): Fix and move the
flag_prefetch_loop_arrays override ...
(override_options): ... here.
From-SVN: r159822
Nathan Froyd [Tue, 25 May 2010 13:56:13 +0000 (13:56 +0000)]
objc-act.c (objc_build_constructor): Take a VEC instead of a tree.
* objc-act.c (objc_build_constructor): Take a VEC instead of a tree.
Use build_constructor instead of build_constructor_from_list.
(objc_build_string_object): Build a VEC argument for
objc_build_constructor.
(init_def_list): Likewise.
(init_objc_symtab): Likewise.
(init_module_descriptor): Likewise.
(generate_static_references): Likewise.
(build_selector_translation_table): Likewise.
(build_descriptor_table_initializer): Likewise.
(generate_descriptor_table): Likewise.
(build_protocol_initializer): Likewise.
(build_ivar_list_initializer): Likewise.
(generate_ivars_list): Likewise.
(build_dispatch_table_initializer): Likewise.
(generate_dispatch_table): Likewise.
(generate_protocol_list): Likewise.
(build_category_initializer): Likewise.
(build_shared_structure_initializer): Likewise.
(generate_objc_image_info): Likewise.
From-SVN: r159821
Maxim Kuvyrkov [Tue, 25 May 2010 13:22:07 +0000 (13:22 +0000)]
config.sub: Update to version 2010-05-21.
* config.sub: Update to version 2010-05-21.
* config.guess: Update to version 2010-04-03.
Also, move a changelog entry to correct ChangeLog.
From-SVN: r159820
Joseph Myers [Tue, 25 May 2010 13:01:45 +0000 (14:01 +0100)]
diagnostic.c: Don't include plugin.h.
* diagnostic.c: Don't include plugin.h.
(diagnostic_report_diagnostic): Don't handle plugins specially
here. Pass context to internal_error callback.
* diagnostic.h (struct diagnostic_context): Add context parameter
to internal_error callback.
* plugin.c (warn_if_plugins, plugins_internal_error_function):
New.
* plugin.h (struct diagnostic_context): Declare.
(warn_if_plugins, plugins_internal_error_function): Declare.
* toplev.c (general_init): Set global_dc->internal_error.
* Makefile.in (diagnostic.o): Update dependencies.
ada:
* gcc-interface/misc.c (internal_error_function): Add context
parameter. Use it to access show_column flag and instead of using
global_dc. Call warn_if_plugins.
* gcc-interface/Make-lang.in (ada/misc.o): Update dependencies.
From-SVN: r159819
Richard Guenther [Tue, 25 May 2010 12:57:38 +0000 (12:57 +0000)]
sra-10.c: Do not dump esra details.
2010-05-25 Richard Guenther <rguenther@suse.de>
* gcc.dg/tree-ssa/sra-10.c: Do not dump esra details.
From-SVN: r159818
Iain Sandoe [Tue, 25 May 2010 11:59:45 +0000 (11:59 +0000)]
enable multilibs on powerpc64-apple-darwin
* config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
* config/rs6000/t-darwin64: New.
* config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
build crt2.
From-SVN: r159817
Christian Borntraeger [Tue, 25 May 2010 11:18:07 +0000 (11:18 +0000)]
re PR middle-end/44203 (New prefetch test failures)
2010-05-25 Christian Borntraeger <borntraeger@de.ibm.com>
PR 44203
* tree-ssa-loop-prefetch.c: Fix logic for step calculation to
match the original (and intended) behaviour before r159557. This
changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
in two ways.
From-SVN: r159816
Richard Guenther [Tue, 25 May 2010 09:43:59 +0000 (09:43 +0000)]
invoke.texi: Document -Ofast.
2010-05-25 Richard Guenther <rguenther@suse.de>
* doc/invoke.texi: Document -Ofast.
* target.h (struct gcc_target): Add handle_ofast.
* target-def.h (TARGET_HANDLE_OFAST): Add.
(TARGET_INITIALIZER): Adjust.
* opts.c (decode_options): Handle -Ofast. Enable
-ffast-math with it.
* common.opt (Ofast): Add.
From-SVN: r159815
Paolo Bonzini [Tue, 25 May 2010 09:22:41 +0000 (09:22 +0000)]
tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
2010-05-25 Paolo Bonzini <bonzini@gnu.org>
* doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
* doc/md.texi (cstoreXX4): Update for cond-optab changes.
From-SVN: r159814
Paolo Bonzini [Tue, 25 May 2010 09:19:37 +0000 (09:19 +0000)]
re PR target/43610 (ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison)
2010-05-09 Paolo Bonzini <bonzini@gnu.org>
PR target/43610
* optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
even if !FLOAT_LIB_COMPARE_RETURNS_BOOL. Always compute true_rtx and
false_rtx. Use false_rtx to compute the correct *ptest for reversed
comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
From-SVN: r159813
Iain Sandoe [Tue, 25 May 2010 09:10:52 +0000 (09:10 +0000)]
re PR objc/44140 (ObjC lto/whopr fails)
PR ObjC/44140
* objc.dg/torture/tls/thr-init-3.m: XFAIL lto/whopr for all.
From-SVN: r159812
Iain Sandoe [Tue, 25 May 2010 08:28:44 +0000 (08:28 +0000)]
add TLS checks to ObjC++
* obj-c++.dg/torture/tls/trivial.mm: New.
* obj-c++.dg/torture/tls/thr-init-1.mm: New.
* obj-c++.dg/torture/tls/thr-init-2.mm: New.
* obj-c++.dg/torture/tls/thr-init-3.mm: New.
* obj-c++.dg/torture/tls/diag-1.mm: New.
* obj-c++.dg/torture/tls/tls.exp: New.
* obj-c++.dg/torture/trivial.mm: New.
* obj-c++.dg/torture/dg-torture.exp: New.
* obj-c++.dg/dg.exp: Gather tests explicitly from the source dir.
* obj-c++.dg/tls/trivial.m: New.
* obj-c++.dg/tls/init-1.mm: New.
* obj-c++.dg/tls/diag-1.mm: New.
* obj-c++.dg/tls/init-2.mm: New.
* obj-c++.dg/tls/diag-2.mm: New.
* obj-c++.dg/tls/diag-3.mm: New.
* obj-c++.dg/tls/diag-4.mm: New.
* obj-c++.dg/tls/static-1.mm: New.
* obj-c++.dg/tls/tls.exp: New.
* obj-c++.dg/tls/diag-5.mm: New.
* obj-c++.dg/tls/static-1a.mm: New.
* objc-obj-c++-shared/Object1.mm: New.
* lib/obj-c++-dg.exp (obj-c++-dg-runtest): New proc.
From-SVN: r159810
Jakub Jelinek [Tue, 25 May 2010 07:49:16 +0000 (09:49 +0200)]
dwarf2out.c (loc_descr_plus_const): When offset is negative, use DW_OP_minus with negated offset instead of DW_OP_plus.
* dwarf2out.c (loc_descr_plus_const): When offset is negative, use
DW_OP_minus with negated offset instead of DW_OP_plus.
(loc_list_from_tree): Don't test whether second operand is
INTEGER_CST.
From-SVN: r159809
Shujing Zhao [Tue, 25 May 2010 06:26:07 +0000 (06:26 +0000)]
re PR c++/18249 (C++ parser i18n problems)
2010-05-25 Shujing Zhao <pearly.zhao@oracle.com>
PR c++/18249
* parser.c: Remove inclusion of dyn-string.h.
(non_integral_constant): New enum.
(name_lookup_error): New enum.
(required_token): New enum.
(cp_parser_required_error): New function.
(cp_parser_require): Change the type of variable token_desc to
required_token and use cp_parser_required_error.
(cp_parser_require_keyword): Likewise.
(cp_parser_error): Use gmsgid as parameter.
(cp_parser_name_lookup_error): Change the type of variable desired to
name_lookup_error and put the diagnostic in the full sentences. Change
caller.
(cp_parser_non_integral_constant_expression): Change the type of the
variable thing to non_integral_constant and put the diagnostics in
full sentences. Change caller.
From-SVN: r159808
Wei Guozhi [Tue, 25 May 2010 01:08:35 +0000 (01:08 +0000)]
thumb2.md (thumb2_tlobits_cbranch): Add constraint to tst instruction and a new alternative.
* config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
tst instruction and a new alternative.
* config/arm/constraints.md (Pu): New constraint.
From-SVN: r159806