public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
       [not found] <bug-21275-7754@http.gcc.gnu.org/bugzilla/>
@ 2005-10-12 20:55 ` cvs-commit at gcc dot gnu dot org
  2005-10-12 20:58 ` dannysmith at users dot sourceforge dot net
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 8+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-10-12 20:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from cvs-commit at gcc dot gnu dot org  2005-10-12 20:54 -------
Subject: Bug 21275

CVSROOT:        /cvs/gcc
Module name:    gcc
Changes by:     dannysmith@gcc.gnu.org  2005-10-12 20:54:50

Modified files:
        gcc            : ChangeLog config.gcc tree.c tree.h varasm.c 
                         target.h target-def.h 
        gcc/doc        : tm.texi 
        gcc/config/i386: i386-protos.h i386.c winnt.c cygming.h 
                         t-cygming 
        gcc/cp         : ChangeLog class.c 
        gcc/testsuite  : ChangeLog 
        gcc/testsuite/gcc.dg: dll-2.c dll-3.c dll-4.c 
        gcc/testsuite/g++.dg/ext: dllimport1.C dllimport2.C dllimport3.C 
                                  dllimport7.C dllimport8.C dllimport9.C 
Added files:
        gcc/config/i386: winnt-stubs.c winnt-cxx.c 

Log message:
        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.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.10149&r2=2.10150
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config.gcc.diff?cvsroot=gcc&r1=1.568&r2=1.569
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.c.diff?cvsroot=gcc&r1=1.508&r2=1.509
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gcc&r1=1.757&r2=1.758
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/varasm.c.diff?cvsroot=gcc&r1=1.532&r2=1.533
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target.h.diff?cvsroot=gcc&r1=1.144&r2=1.145
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target-def.h.diff?cvsroot=gcc&r1=1.133&r2=1.134
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/tm.texi.diff?cvsroot=gcc&r1=1.446&r2=1.447
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/winnt-stubs.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/winnt-cxx.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386-protos.h.diff?cvsroot=gcc&r1=1.147&r2=1.148
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&r1=1.862&r2=1.863
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/winnt.c.diff?cvsroot=gcc&r1=1.84&r2=1.85
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/cygming.h.diff?cvsroot=gcc&r1=1.32&r2=1.33
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/t-cygming.diff?cvsroot=gcc&r1=1.3&r2=1.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4927&r2=1.4928
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/class.c.diff?cvsroot=gcc&r1=1.734&r2=1.735
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.6183&r2=1.6184
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/dll-2.c.diff?cvsroot=gcc&r1=1.7&r2=1.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/dll-3.c.diff?cvsroot=gcc&r1=1.5&r2=1.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/dll-4.c.diff?cvsroot=gcc&r1=1.5&r2=1.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/ext/dllimport1.C.diff?cvsroot=gcc&r1=1.3&r2=1.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/ext/dllimport2.C.diff?cvsroot=gcc&r1=1.3&r2=1.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/ext/dllimport3.C.diff?cvsroot=gcc&r1=1.2&r2=1.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/ext/dllimport7.C.diff?cvsroot=gcc&r1=1.1&r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/ext/dllimport8.C.diff?cvsroot=gcc&r1=1.2&r2=1.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/ext/dllimport9.C.diff?cvsroot=gcc&r1=1.1&r2=1.2


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21275


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
       [not found] <bug-21275-7754@http.gcc.gnu.org/bugzilla/>
  2005-10-12 20:55 ` [Bug target/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var cvs-commit at gcc dot gnu dot org
@ 2005-10-12 20:58 ` dannysmith at users dot sourceforge dot net
  2005-10-12 21:10 ` [Bug target/21275] [4.0 " pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 8+ messages in thread
From: dannysmith at users dot sourceforge dot net @ 2005-10-12 20:58 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from dannysmith at users dot sourceforge dot net  2005-10-12 20:58 -------
Fixed on trunk.
http://gcc.gnu.org/ml/gcc-cvs/2005-10/msg00474.html
Danny


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21275


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/21275] [4.0 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
       [not found] <bug-21275-7754@http.gcc.gnu.org/bugzilla/>
  2005-10-12 20:55 ` [Bug target/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var cvs-commit at gcc dot gnu dot org
  2005-10-12 20:58 ` dannysmith at users dot sourceforge dot net
@ 2005-10-12 21:10 ` pinskia at gcc dot gnu dot org
  2005-10-14 18:54 ` giovannibajo at libero dot it
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-12 21:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from pinskia at gcc dot gnu dot org  2005-10-12 21:10 -------
Fixed at least on the mainline.  It is up to Danny and Mark if this is too big
to backport.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.0/4.1 Regression] gcc    |[4.0 Regression] gcc 4.0.0
                   |4.0.0 crash with mingw when |crash with mingw when using
                   |using stdout in global var  |stdout in global var


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21275


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/21275] [4.0 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
       [not found] <bug-21275-7754@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2005-10-12 21:10 ` [Bug target/21275] [4.0 " pinskia at gcc dot gnu dot org
@ 2005-10-14 18:54 ` giovannibajo at libero dot it
  2005-10-15 22:43 ` dannysmith at users dot sourceforge dot net
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 8+ messages in thread
From: giovannibajo at libero dot it @ 2005-10-14 18:54 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #17 from giovannibajo at libero dot it  2005-10-14 18:54 -------
Danny, is it possible to have a less invadent fix for the 4.0 branch? Something
hackish that can get the bug fixed just for the branch...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21275


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/21275] [4.0 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
       [not found] <bug-21275-7754@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2005-10-14 18:54 ` giovannibajo at libero dot it
@ 2005-10-15 22:43 ` dannysmith at users dot sourceforge dot net
  2005-12-30  6:30 ` pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 8+ messages in thread
From: dannysmith at users dot sourceforge dot net @ 2005-10-15 22:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #18 from dannysmith at users dot sourceforge dot net  2005-10-15 22:43 -------
(In reply to comment #17)
> Danny, is it possible to have a less invadent fix for the 4.0 branch? Something
> hackish that can get the bug fixed just for the branch...


I'll have a look when I have time.  

Danny


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21275


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/21275] [4.0 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
       [not found] <bug-21275-7754@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2005-10-15 22:43 ` dannysmith at users dot sourceforge dot net
@ 2005-12-30  6:30 ` pinskia at gcc dot gnu dot org
  2006-03-11  3:17 ` mmitchel at gcc dot gnu dot org
  2007-01-18  3:52 ` gdr at gcc dot gnu dot org
  7 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-12-30  6:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #19 from pinskia at gcc dot gnu dot org  2005-12-30 06:30 -------
*** Bug 25599 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |paragw at excite dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21275


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/21275] [4.0 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
       [not found] <bug-21275-7754@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2005-12-30  6:30 ` pinskia at gcc dot gnu dot org
@ 2006-03-11  3:17 ` mmitchel at gcc dot gnu dot org
  2007-01-18  3:52 ` gdr at gcc dot gnu dot org
  7 siblings, 0 replies; 8+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-03-11  3:17 UTC (permalink / raw)
  To: gcc-bugs



-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.0.3                       |4.0.4


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21275


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/21275] [4.0 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
       [not found] <bug-21275-7754@http.gcc.gnu.org/bugzilla/>
                   ` (6 preceding siblings ...)
  2006-03-11  3:17 ` mmitchel at gcc dot gnu dot org
@ 2007-01-18  3:52 ` gdr at gcc dot gnu dot org
  7 siblings, 0 replies; 8+ messages in thread
From: gdr at gcc dot gnu dot org @ 2007-01-18  3:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #20 from gdr at gcc dot gnu dot org  2007-01-18 03:52 -------
Fixed in GCC-4.1.0.
Won't fix for GCC-4.0.x


-- 

gdr at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|4.0.4                       |4.1.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21275


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2007-01-18  3:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-21275-7754@http.gcc.gnu.org/bugzilla/>
2005-10-12 20:55 ` [Bug target/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var cvs-commit at gcc dot gnu dot org
2005-10-12 20:58 ` dannysmith at users dot sourceforge dot net
2005-10-12 21:10 ` [Bug target/21275] [4.0 " pinskia at gcc dot gnu dot org
2005-10-14 18:54 ` giovannibajo at libero dot it
2005-10-15 22:43 ` dannysmith at users dot sourceforge dot net
2005-12-30  6:30 ` pinskia at gcc dot gnu dot org
2006-03-11  3:17 ` mmitchel at gcc dot gnu dot org
2007-01-18  3:52 ` gdr at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).