1. 02 Apr, 2007 6 commits
  2. 01 Apr, 2007 13 commits
  3. 31 Mar, 2007 13 commits
  4. 30 Mar, 2007 8 commits
    • Daily bump. · 89de14b2
      From-SVN: r123377
      GCC Administrator committed
    • make alloca call type correct · 4cd97075
      From-SVN: r123374
      Michael Meissner committed
    • typeck.c (java_signed_or_unsigned_type): Remove. · 47ecd38d
      gcc/java/ChangeLog:
         * typeck.c (java_signed_or_unsigned_type): Remove.
         (java_signed_type): use get_signed_or_unsigned_type instead of
      java_signed_or_unsigned_type.
         (java_unsigned_type): Ditto.
         * lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
         * java-tree.h (java_signed_or_unsigned_type): Remove
      
      gcc/Changelog:
         * tree.h(get_signed_or_unsigned_type): New
         * fold-const.c (operand_equal_for_comparison_p): Use
      get_signed_or_unsigned_type instead of
      lang_hooks.types.signed_or_unsigned_type.
         * expr.c (store_expr): Ditto.
         * langhooks.c (get_signed_or_unsigned_type): New.
           (lhd_signed_or_unsigned_type): New
         * langhooks.h (lhd_signed_or_unsigned_type): New.
         * langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Define.
      
      gcc/treelang/ChangeLog:
         * treetree.c (tree_lang_signed_or_unsigned_type): Remove.
         (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE) Remove.
      
      gcc/ada/ChangeLog:
          * trans.c (Attribute_to_gnu): Use get_signed_or_unsigned_type
      instead of gnat_signed_or_unsigned_type.
          * utils.c (gnat_signed_or_unsigned_type): Remove.
          * misc.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove
          * gigi.h (gnat_signed_or_unsigned_type): Remove
      
      gcc/forrtan/trans-types.c:
         * trans-types.c (gfc_signed_or_unsigned_type): Remove.
           (gfc_unsigned_type): Use get_signed_or_unsigned_type instead of
      gfc_signed_or_unsigned_type.
           (gfc_signed_type): Ditto.
         * trans-types.h (gfc_signed_or_unsigned_type): Remove.
         * f95-lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
      
      From-SVN: r123373
      Rafael Avila de Espindola committed
    • cygming.h (DWARF2_DEBUGGING_INFO): Enable by default for 64-bit. · ccf8e764
      gcc/
      	* config/i386/cygming.h (DWARF2_DEBUGGING_INFO): Enable by
      	default for 64-bit.
      	(PREFERRED_DEBUGGING_TYPE): Prefer dwarf2 for 64-bit.
      	(TARGET_64BIT_MS_ABI): New.
      	(DBX_REGISTER_NUMBER): Handle 64-bit.
      	(SIZE_TYPE, PTRDIFF_TYPE): Use long long for 64-bit.
      	(LONG_TYPE_SIZE): Force to 32.
      	(REG_PARM_STACK_SPACE): New.
      	(OUTGOING_REG_PARM_STACK_SPACE): New.
      	(REGPARM_MAX, SSE_REGPARM_MAX): New.
      	(HANDLE_PRAGMA_PUSH_POP_MACRO): New.
      	(STACK_BOUNDARY): Use 128 for 64-bit.
      	* config/i386/cygwin.asm: Use push/ret to preserve call stack.
      	Add 64-bit implementation.
      	* config/i386/gthr-win32.c (__gthr_win32_key_create): Mark dtor
      	argument unused.
      	* config/i386/i386.c (x86_64_ms_abi_int_parameter_registers): New.
      	(override_options): Set ix86_cmodel for TARGET_64BIT_MS_ABI.
      	Warn for -mregparm, -mrtd in 64-bit mode; force ix86_regparm
      	for 64-bit; use TARGET_SUBTARGET64_DEFAULT.
      	(ix86_handle_cconv_attribute): Don't warn when ignoring if
      	TARGET_64BIT_MS_ABI.
      	(ix86_function_arg_regno_p): Handle TARGET_64BIT_MS_ABI.
      	(ix86_pass_by_reference): Likewise.
      	(ix86_function_value_regno_p): Likewise.
      	(ix86_build_builtin_va_list): Likewise.
      	(ix86_va_start, ix86_gimplify_va_arg): Likewise.
      	(function_arg_advance_ms_64): New.
      	(function_arg_advance): Call it.
      	(function_arg_ms_64): New.
      	(function_arg): Call it.
      	(function_value_ms_64): New.
      	(ix86_function_value_1): Call it.
      	(return_in_memory_ms_64): New.
      	(ix86_return_in_memory): Call it.
      	(setup_incoming_varargs_ms_64): New.
      	(ix86_setup_incoming_varargs): Call it.
      	(ix86_expand_prologue): Handle 64-bit stack probing.
      	(legitimize_pic_address): Handle TARGET_64BIT_MS_ABI.
      	(output_pic_addr_const): Likewise.
      	(x86_this_parameter): Likewise.
      	(x86_output_mi_thunk): Likewise.
      	(x86_function_profiler): Likewise.
      	(TARGET_STRICT_ARGUMENT_NAMING): New.
      	* config/i386/i386.h (TARGET_SUBTARGET64_DEFAULT): New.
      	(TARGET_64BIT_MS_ABI): New.
      	(CONDITIONAL_REGISTER_USAGE): Handle TARGET_64BIT_MS_ABI.
      	* config/i386/i386.md (allocate_stack_worker): Remove.
      	(allocate_stack_worker_32): Rename from allocate_stack_worker_1;
      	describe the clobber of eax without a match_scratch.
      	(allocate_stack_worker_postreload): Remove.
      	(allocate_stack_worker_64): Rename from allocate_stack_worker_rex64;
      	describe the clobbers of rax, r10, r11 properly; use __chkstk symbol.
      	(allocate_stack_worker_rex64_postreload): Remove.
      	(allocate_stack): Handle 64-bit.
      	* config/i386/i386elf (TARGET_SUBTARGET_DEFAULT): Remove.
      	* config/i386/mingw32.h (TARGET_VERSION): Set correctly for 64-bit.
      	(EXTRA_OS_CPP_BUILTINS): Handle 64-bit.
      	(STANDARD_INCLUDE_DIR): Handle TARGET_64BIT_DEFAULT.
      	(STANDARD_STARTFILE_PREFIX_1): Likewise.
      	* config/i386/unix.h (TARGET_SUBTARGET64_DEFAULT): New.
      	* config.build (x86_64-*-mingw*): New host.
      	* config.host (x86_64-*-mingw*): New host.
      	* config.gcc (x86_64-*-mingw*): New target.
      	* gthr-win32.h (__gthread_key_create): Mark dtor unused.
      libgcc/
      	* config.host (x86_64-*-mingw*): New target.
      
      Co-Authored-By: Kai Tietz <kai.tietz@onevision.com>
      
      From-SVN: r123372
      Richard Henderson committed
    • tree-ssa-loop-ivopts.c: Include target.h. · 8318b0d9
              * tree-ssa-loop-ivopts.c: Include target.h.
              (produce_memory_decl_rtl): Pass the rtx through encode_section_info.
              (get_address_cost): Force SYMBOL_FLAG_LOCAL set.
              (force_expr_to_var_cost): Use produce_memory_decl_rtl.
              * Makefile.in (tree-ssa-loop-ivopts.o): Depend on TARGET_H.
      
      From-SVN: r123371
      Richard Henderson committed
    • directives.c (lex_macro_node_from_str): New. · 121de39f
      libcpp/
              * directives.c (lex_macro_node_from_str): New.
              (cpp_push_definition, cpp_pop_definition): New.
              * include/cpplib.h (cpp_push_definition, cpp_pop_definition): Declare.
      gcc/
              * c-pragma.c (struct def_pragma_macro_value): New.
              (struct def_pragma_macro): New.
              (pushed_macro_table): New.
              (dpm_hash, dpm_eq): New.
              (handle_pragma_push_macro, handle_pragma_pop_macro): New.
              (init_pragma): Install them.
              * doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): New.
      
      Co-Authored-By: Kai Tietz <kai.tietz@onevision.com>
      
      From-SVN: r123370
      Richard Henderson committed
    • avr.c (avr_override_options): Clear 'flag_delete_null_pointer_checks'. · 6c7ac15d
      	* config/avr/avr.c (avr_override_options): Clear 
      	'flag_delete_null_pointer_checks'.
      
      From-SVN: r123367
      Anatoly Sokolov committed
    • re PR c++/26099 (support for type traits is not available) · cb68ec50
      gcc/
      2007-03-30  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/26099
      	* c-common.h (enum rid): Add RID_HAS_NOTHROW_ASSIGN,
      	RID_HAS_NOTHROW_CONSTRUCTOR, RID_HAS_NOTHROW_COPY,
      	RID_HAS_TRIVIAL_ASSIGN, RID_HAS_TRIVIAL_CONSTRUCTOR,
      	RID_HAS_TRIVIAL_COPY, RID_HAS_TRIVIAL_DESTRUCTOR,
      	RID_HAS_VIRTUAL_DESTRUCTOR, RID_IS_ABSTRACT, RID_IS_BASE_OF,
      	RID_IS_CONVERTIBLE_TO, RID_IS_CLASS, RID_IS_EMPTY, RID_IS_ENUM,
      	RID_IS_POD, RID_IS_POLYMORPHIC, RID_IS_UNION, as
      	C++ extensions.
      	* doc/extend.texi (Extensions to the C++ Language): Add Type Traits.
      
      gcc/cp/
      2007-03-30  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/26099
      	* cp-tree.h (enum cp_trait_kind, struct tree_trait_expr,
      	TRAIT_EXPR_TYPE1, TRAIT_EXPR_TYPE2, TRAIT_EXPR_KIND): Add.
      	(enum cp_tree_node_structure_enum, union lang_tree_node): Update.
      	(CLASS_TYPE_NON_UNION_P): Add.
      	(struct lang_type_class): Add has_complex_dflt.
      	(TYPE_HAS_COMPLEX_DFLT, TYPE_HAS_TRIVIAL_DFLT): Add.
      	(locate_copy, locate_ctor, locate_dtor, finish_trait_expr): Declare.
      	* cp-tree.def: Add TRAIT_EXPR.
      	* cp-objcp-common.c (cp_tree_size): Add TRAIT_EXPR case.
      	* lex.c (struct resword): Add __has_nothrow_assign,
      	__has_nothrow_constructor, __has_nothrow_copy, __has_trivial_assign,
      	__has_trivial_constructor, __has_trivial_copy,
      	__has_trivial_destructor, __has_virtual_destructor, __is_abstract,
      	__is_base_of, __is_class, __is_convertible_to, __is_empty, __is_enum,
      	__is_pod, __is_polymorphic, __is_union.
      	* parser.c (cp_parser_primary_expression): Deal with the new RIDs.
      	(cp_parser_trait_expr): New.
      	* semantics.c (finish_trait_expr, trait_expr_value
      	classtype_has_nothrow_copy_or_assign_p): New.
      	* method.c (locate_copy, locate_ctor, locate_dtor): Do not define
      	as static.
      	* decl.c (cp_tree_node_structure): Add TRAIT_EXPR.
      	* class.c (check_bases, check_field_decl, check_bases_and_members):
      	Deal with TYPE_HAS_COMPLEX_DFLT (t) too.
      	* pt.c (uses_template_parms, tsubst_copy_and_build,
      	value_dependent_expression_p, type_dependent_expression_p): Deal with
      	TRAIT_EXPR.
      	* tree.c (cp_walk_subtrees): Deal with TRAIT_EXPR.
      
      gcc/testsuite/
      2007-03-30  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/26099
      	* g++.dg/ext/is_base_of.C: New.
      	* g++.dg/ext/has_virtual_destructor.C: New.
      	* g++.dg/ext/is_polymorphic.C: New.
      	* g++.dg/ext/is_base_of_diagnostic.C: New.
      	* g++.dg/ext/is_enum.C: New.
      	* g++.dg/ext/has_nothrow_assign.C: New.
      	* g++.dg/ext/has_nothrow_constructor.C: New.
      	* g++.dg/ext/is_empty.C: New.
      	* g++.dg/ext/has_trivial_copy.C: New.
      	* g++.dg/ext/has_trivial_assign.C: New.
      	* g++.dg/ext/is_abstract.C: New.
      	* g++.dg/ext/is_pod.C: New.
      	* g++.dg/ext/has_nothrow_copy.C: New.
      	* g++.dg/ext/is_class.C: New.
      	* g++.dg/ext/has_trivial_constructor.C: New.
      	* g++.dg/ext/is_union.C: New.
      	* g++.dg/ext/has_trivial_destructor.C: New.
      	* g++.dg/tree-ssa/pr22444.C: Adjust, avoid __is_pod.
      	* g++.dg/template/crash43.C: Likewise.
      
      libstdc++-v3/
      2007-03-30  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/26099
      	* include/bits/cpp_type_traits.h (struct __is_pod, struct __is_empty):
      	Remove.
      	* include/bits/valarray_array.h: Adjust.
      	* include/bits/allocator.h: Likewise.
      	* include/bits/stl_tree.h: Likewise.
      
      From-SVN: r123366
      Paolo Carlini committed