1. 27 May, 2010 26 commits
    • re PR c++/44188 (Fails to produce DW_AT_typedef for typedef of anonymous struct) · fe08ec12
      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
      Dodji Seketeli committed
    • print-tree.c (debug_vec_tree): New fn. · b042534c
      	* 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 committed
    • revert: re PR libstdc++/42832 (Revisit std::function for aliasing issues and efficiency) · fb9c3174
      	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 committed
    • re PR c++/43555 (wrong address calculation of multidimensional variable-length array element) · 6ab4e49c
      	PR c++/43555
      	* decl.c (grokdeclarator) [cdk_pointer et al]: Force evaluation of
      	anonymous VLA size.
      
      From-SVN: r159939
      Jason Merrill committed
    • re PR libstdc++/40497 ([C++0x] troubles with std::next / std::prev declarations) · 7ec62b25
      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
      Paolo Carlini committed
    • ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline. · cdc029b9
      	* 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
      Jan Hubicka committed
    • re PR objc/44140 (ObjC lto/whopr fails) · 8da24d7b
      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
      Iain Sandoe committed
    • changelog correction · cc423e9d
      From-SVN: r159928
      Jason Merrill committed
    • Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS. · 7a3b4887
      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
      Steven Bosscher committed
    • cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)). · 753d358d
      	* 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
      Jan Hubicka committed
    • 20100302_0.C: Skip on darwin. · 44491ebd
      2010-05-27  Jack Howarth  <howarth@bromo.med.uc.edu>
      
      	* g++.dg/lto/20100302_0.C: Skip on darwin.
      
      From-SVN: r159924
      Jack Howarth committed
    • sched-ebb.c: Rename struct deps to struct deps_desc. · 88302d54
      
      	* 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
      Jan Hubicka committed
    • re PR lto/44230 (Do not create need for multiple EH personalities) · 7951d88a
      	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
      Eric Botcazou committed
    • re PR tree-optimization/44284 (vectorization does not work for short variable) · fde9c428
      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
      Richard Guenther committed
    • gthr-posix.h (pthread_cancel): Don't declare if compiling against Bionic C library. · 3714764d
      	* 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 committed
    • Support compilation for Android platform. Reimplement -mandroid. · 51b9db92
      	* 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 committed
    • Add support for Bionic C library · 74c70253
      	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
      Maxim Kuvyrkov committed
    • c-common.h (c_register_addr_space): Add prototype. · 3ef0694c
      	* 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
      Ulrich Weigand committed
    • ChangeLog: Fix whitespace. · ade52657
      	* ChangeLog: Fix whitespace.
      	* testsuite/ChangeLog: Ditto.
      
      From-SVN: r159915
      Uros Bizjak committed
    • input.c: New file. · 447924ef
      	* 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
      Joseph Myers committed
    • lto-wrapper.c (maybe_unlink_file): Ignore unlink failure for non-existant files. · 62116e60
      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
      Richard Guenther committed
    • re PR bootstrap/44287 (Failed to bootstrap) · 64c31785
      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
      Kai Tietz committed
    • materialize-1_0.c: New file. · df72d556
      	* gcc.dg/lto/materialize-1_0.c: New file.
      	* gcc.dg/lto/materialize-1_1.c: New file.
      
      From-SVN: r159911
      Jan Hubicka committed
    • cgraphunit.c (verify_cgraph_node): Do checking that DECL match edge only when… · e466e2ce
      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
      Jan Hubicka committed
    • Daily bump. · fc7e91eb
      From-SVN: r159906
      GCC Administrator committed
  2. 26 May, 2010 14 commits