1. 16 Oct, 2005 3 commits
  2. 15 Oct, 2005 7 commits
  3. 14 Oct, 2005 15 commits
  4. 13 Oct, 2005 12 commits
  5. 12 Oct, 2005 3 commits
    • re PR c/24255 (__transparent_union__ mishandled) · 52dd234b
              PR c/24255
              * tree.h (DECL_TRANSPARENT_UNION): Remove.
              * function.c (assign_parm_find_data_types): Don't support it.
              * print-tree.c (print_node): Likewise.
              * c-common.c (handle_transparent_union_attribute): Likewise.
              Use build_duplicate_type.
              * tree-inline.c (remap_type_1): Split out of remap_type;
              properly remap aggregate fields.
              (build_duplicate_type): New.
              * doc/extend.texi (Variable Attributes): Remove documentation
              for transparent_union.
      
      From-SVN: r105338
      Richard Henderson committed
    • re PR target/24284 (ICE (Segmentation fault)) · 6deb0339
      	PR target/24284
      	* config/sparc/sparc.c (gen_stack_pointer_inc): Build by hand.
      	(gen_stack_pointer_dec): Likewise.
      
      From-SVN: r105336
      Eric Botcazou committed
    • re PR target/21275 (gcc 4.0.0 crash with mingw when using stdout in global var) · 43d9ad1d
      	PR middle-end/21275
      	PR middle-end/21766
      	* target.h (struct gcc_target): Add valid_dllimport_attribute_p
      	target hook.
      	(struct cxx): Add adjust_class_at_definition target hook.
      	* target-def.h: (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): New define,
      	defaulting to hook_bool_tree_true. Add to TARGET_INITIALIZER
      	(TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to
      	hook_void_tree. Add to TARGET_CXX.
      	* tree.h (struct decl_with_vis): Rename non_addr_const_p field to
      	dllimport_flag.
      	(DECL_NON_ADDR_CONSTANT_P): Replace with DECL_DLLIMPORT_P macro.
      	* tree.c (merge_dllimport_decl_attributes): Check DECL_DLLIMPORT_P
      	instead of attribute. Check for dllexport override.  Warn if
      	inconsistent dll linkage. Don't lose old dllimport if decl has
      	had address referenced.   Tweak lookup of dllimport atribute.
      	(handle_dll_attribute): Check targetm.valid_dllimport_attribute_p
      	for target specific rules.  Don't add dllimport attribute if
      	DECL_DECLARED_INLINE_P.  Set DECL_DLLIMPORT_P when adding
      	dllimport attribute.
      	(staticp): Replace DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P.
      	* varasm.c (initializer_constant_valid_p): Replace
      	DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P
      
      	PR target/21801
      	PR target/23589
      	* config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to
      	'cxx_target_objs', winnt-stubs,o to 'extra_objs'.
      	(i[34567]86-*-mingw32*): Likewise.
      
      	* doc/tm.texi (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Document.
      	(TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Document.
      
      	* config/i386/winnt.c (i386_pe_dllimport_p): Factor out
      	C++-specific code. Change return value to bool.
      	(i386_pe_dllimport_p): Likewise.
      	(associated_type): Simplify and make language-independent
      	(i386_pe_encode_section_info): Replace override of ambiguous
      	dllimport symbol refs with a gcc_assert.
      	(i386_pe_valid_dllimport_attribute_p): Define.
      	* config/i386/winnt-cxx.c: New file. Define C++ versions of
      	i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
      	i386_pe_adjust_class_at_definition.
      	* config/i386/winnt-stubs.c: New file. Define stub versions of
      	lang-specific functions.
      	* config/i386/i386-protos.h: Declare winnt-[cxx|stubs].c functions
      	i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
      	i386_pe_adjust_class_at_definition.
      	(i386_pe_valid_dllimport_attribute_p): Declare.
      	* config/i386/cygming.h (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Define.
      	(TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Define.
      	* config/i386/t-cygming: Add rules for winnt-cxx.o, winnt-stubs.o.
      
      	PR target/19704
      	* config/i386/i386.c (ix86_function_ok_for_sibcall): Replace test for
      	dllimport attribute with test of DECL_DLLIMPORT_P.
      
      
      cp
      	PR target/21801
      	PR target/23589
      	* class.c (finish_struct_1): Call
      	targetm.cxx.adjust_class_at_definition.
      
      
      testsuite
      	* gcc.dg/dll-2.c: Add tests for warnings.
      	* gcc.dg/dll-3.c: Likewise.
      	* gcc.dg/dll-4.c: Likewise.
      
      	* g++.dg/ext/dllimport1.C: Adjust tests for warnings.
      	* g++.dg/ext/dllimport2.C: Likewise.
      	* g++.dg/ext/dllimport3.C: Likewise.
      	* g++.dg/ext/dllimport7.C: Likewise.
      	* g++.dg/ext/dllimport8.C: Likewise.
      	* g++.dg/ext/dllimport9.C: Likewise.
      
      From-SVN: r105332
      Danny Smith committed