public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var
@ 2005-04-29  5:46 ch dot ehrlicher at gmx dot de
  2005-04-29  6:11 ` [Bug c/21275] " dannysmith at users dot sourceforge dot net
                   ` (14 more replies)
  0 siblings, 15 replies; 18+ messages in thread
From: ch dot ehrlicher at gmx dot de @ 2005-04-29  5:46 UTC (permalink / raw)
  To: gcc-bugs

This small piece of code doesn't work with gcc 4.0.0, but with 3.4/3.3:

-----------------------------------------
#include <stdio.h>
#include <stdlib.h>

FILE* out = stdout;

int main( int argc, char **argv )
{
//  out = stdout; // this is ok
  return 0;
}
-----------------------------------------

Here the output:
C:\tmp>gcc main.c
main.c:4: error: initializer element is not constant

C:\tmp>g++ main.c
main.c:9: internal compiler error: output_operand: invalid expression as operand

Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

C:\tmp>gcc -v
Using built-in specs.
Target: mingw32
Configured with: ../gcc-4.0.0/configure --with-gcc --with-gnu-ld --with-gnu-as -
-host=mingw32 --target=mingw32 --prefix=/mingw --enable-languages=c,c++ --enable
-threads --disable-nls --disable-win32-registry --disable-shared --enable-sjlj-e
xceptions --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm
--disable-libgcj-debug --enable-interpreter --enable-hash-synchronization --enab
le-libstdcxx-debug : (reconfigured) ../gcc-4.0.0/configure --disable-libada --wi
th-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/min
gw --enable-languages=c,c++ --enable-threads --disable-nls --disable-win32-regis
try --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt
 --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter
--enable-hash-synchronization --enable-libstdcxx-debug
Thread model: win32
gcc version 4.0.0

-- 
           Summary: gcc 4.0.0 crash with mingw when using stdout in global
                    var
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ch dot ehrlicher at gmx dot de
                CC: gcc-bugs at gcc dot gnu dot org


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


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

* [Bug c/21275] gcc 4.0.0 crash with mingw when using stdout in global var
  2005-04-29  5:46 [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var ch dot ehrlicher at gmx dot de
@ 2005-04-29  6:11 ` dannysmith at users dot sourceforge dot net
  2005-04-30  9:08 ` dannysmith at users dot sourceforge dot net
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: dannysmith at users dot sourceforge dot net @ 2005-04-29  6:11 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dannysmith at users dot sourceforge dot net  2005-04-29 06:11 -------
Here is reduced testcase:

// int attribute ((dllimport)) foo;
extern int* _imp__foo;
int a = *_imp__foo;

-- 


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


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

* [Bug c/21275] gcc 4.0.0 crash with mingw when using stdout in global var
  2005-04-29  5:46 [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var ch dot ehrlicher at gmx dot de
  2005-04-29  6:11 ` [Bug c/21275] " dannysmith at users dot sourceforge dot net
@ 2005-04-30  9:08 ` dannysmith at users dot sourceforge dot net
  2005-04-30 15:35 ` [Bug c/21275] [4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: dannysmith at users dot sourceforge dot net @ 2005-04-30  9:08 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dannysmith at users dot sourceforge dot net  2005-04-30 09:08 -------
Oops, I reduced the code in comment #1 too much.  This shows the problem.  

//dllimport_array.C

// This causes 'initializer element is not constant' error in C,
// static_initialization_and_destruction code in C++
extern __attribute__ ((dllimport))  int* foo1;
int* k = &foo1[0];

// This causes 'initializer element is not constant' error in C,
// ICE in C++
extern __attribute__ ((dllimport))  int foo2[];
int* j = &foo2[0];

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dannysmith at users dot
                   |                            |sourceforge dot net


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


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

* [Bug c/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
  2005-04-29  5:46 [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var ch dot ehrlicher at gmx dot de
  2005-04-29  6:11 ` [Bug c/21275] " dannysmith at users dot sourceforge dot net
  2005-04-30  9:08 ` dannysmith at users dot sourceforge dot net
@ 2005-04-30 15:35 ` pinskia at gcc dot gnu dot org
  2005-04-30 21:40 ` dannysmith at users dot sourceforge dot net
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-04-30 15:35 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-30 15:35 -------
I think this is a dup of bug 21081.

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


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


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

* [Bug c/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
  2005-04-29  5:46 [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var ch dot ehrlicher at gmx dot de
                   ` (2 preceding siblings ...)
  2005-04-30 15:35 ` [Bug c/21275] [4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
@ 2005-04-30 21:40 ` dannysmith at users dot sourceforge dot net
  2005-05-01  8:00 ` dannysmith at users dot sourceforge dot net
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: dannysmith at users dot sourceforge dot net @ 2005-04-30 21:40 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dannysmith at users dot sourceforge dot net  2005-04-30 21:40 -------
I think DECL_NON_ADDR_CONST_P is set too late.
Regtesting a patch that fixes 21081 and this.
Danny

-- 


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


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

* [Bug c/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
  2005-04-29  5:46 [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var ch dot ehrlicher at gmx dot de
                   ` (3 preceding siblings ...)
  2005-04-30 21:40 ` dannysmith at users dot sourceforge dot net
@ 2005-05-01  8:00 ` dannysmith at users dot sourceforge dot net
  2005-05-01 11:28 ` ch dot ehrlicher at gmx dot de
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: dannysmith at users dot sourceforge dot net @ 2005-05-01  8:00 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dannysmith at users dot sourceforge dot net  2005-05-01 08:00 -------
Patch at:
http://gcc.gnu.org/ml/gcc-patches/2005-05/msg00009.html
Danny

-- 


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


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

* [Bug c/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
  2005-04-29  5:46 [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var ch dot ehrlicher at gmx dot de
                   ` (4 preceding siblings ...)
  2005-05-01  8:00 ` dannysmith at users dot sourceforge dot net
@ 2005-05-01 11:28 ` ch dot ehrlicher at gmx dot de
  2005-05-01 13:16 ` [Bug middle-end/21275] " pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: ch dot ehrlicher at gmx dot de @ 2005-05-01 11:28 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From ch dot ehrlicher at gmx dot de  2005-05-01 11:28 -------
the patch in comment #5 works for me

-- 


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


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

* [Bug middle-end/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
  2005-04-29  5:46 [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var ch dot ehrlicher at gmx dot de
                   ` (5 preceding siblings ...)
  2005-05-01 11:28 ` ch dot ehrlicher at gmx dot de
@ 2005-05-01 13:16 ` pinskia at gcc dot gnu dot org
  2005-05-01 13:17 ` pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-05-01 13:16 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-05-01 13:16 -------
Confirmed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|                            |http://gcc.gnu.org/ml/gcc-
                   |                            |patches/2005-
                   |                            |05/msg00009.html
             Status|UNCONFIRMED                 |NEW
          Component|c                           |middle-end
     Ever Confirmed|                            |1
           Keywords|                            |ice-on-valid-code, patch,
                   |                            |rejects-valid
   Last reconfirmed|0000-00-00 00:00:00         |2005-05-01 13:16:08
               date|                            |


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


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

* [Bug middle-end/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
  2005-04-29  5:46 [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var ch dot ehrlicher at gmx dot de
                   ` (6 preceding siblings ...)
  2005-05-01 13:16 ` [Bug middle-end/21275] " pinskia at gcc dot gnu dot org
@ 2005-05-01 13:17 ` pinskia at gcc dot gnu dot org
  2005-05-07 20:20 ` pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-05-01 13:17 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.0.1


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


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

* [Bug middle-end/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
  2005-04-29  5:46 [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var ch dot ehrlicher at gmx dot de
                   ` (7 preceding siblings ...)
  2005-05-01 13:17 ` pinskia at gcc dot gnu dot org
@ 2005-05-07 20:20 ` pinskia at gcc dot gnu dot org
  2005-05-26 21:22 ` dannysmith at users dot sourceforge dot net
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-05-07 20:20 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-05-07 20:20 -------
*** Bug 21447 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ceniza666 at yahoo dot com


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


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

* [Bug middle-end/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
  2005-04-29  5:46 [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var ch dot ehrlicher at gmx dot de
                   ` (8 preceding siblings ...)
  2005-05-07 20:20 ` pinskia at gcc dot gnu dot org
@ 2005-05-26 21:22 ` dannysmith at users dot sourceforge dot net
  2005-06-01 21:02 ` dannysmith at users dot sourceforge dot net
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: dannysmith at users dot sourceforge dot net @ 2005-05-26 21:22 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dannysmith at users dot sourceforge dot net  2005-05-26 21:01 -------
New patch submitted here:
http://gcc.gnu.org/ml/gcc-patches/2005-05/msg02543.html
Danny

-- 


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


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

* [Bug middle-end/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
  2005-04-29  5:46 [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var ch dot ehrlicher at gmx dot de
                   ` (9 preceding siblings ...)
  2005-05-26 21:22 ` dannysmith at users dot sourceforge dot net
@ 2005-06-01 21:02 ` dannysmith at users dot sourceforge dot net
  2005-06-05  6:52 ` pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: dannysmith at users dot sourceforge dot net @ 2005-06-01 21:02 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dannysmith at users dot sourceforge dot net  2005-06-01 21:02 -------
The patch referred to in comment #9 had missing hunks.
Complete patch here:

http://gcc.gnu.org/ml/gcc-patches/2005-05/msg02945.html

Danny

-- 


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


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

* [Bug middle-end/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
  2005-04-29  5:46 [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var ch dot ehrlicher at gmx dot de
                   ` (10 preceding siblings ...)
  2005-06-01 21:02 ` dannysmith at users dot sourceforge dot net
@ 2005-06-05  6:52 ` pinskia at gcc dot gnu dot org
  2005-07-06 17:03 ` [Bug target/21275] " mmitchel at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-05  6:52 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-05 06:52 -------
New patch here: <http://gcc.gnu.org/ml/gcc-patches/2005-05/msg02945.html>.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|http://gcc.gnu.org/ml/gcc-  |http://gcc.gnu.org/ml/gcc-
                   |patches/2005-               |patches/2005-
                   |05/msg00009.html            |05/msg02945.html


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


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

* [Bug target/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
  2005-04-29  5:46 [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var ch dot ehrlicher at gmx dot de
                   ` (11 preceding siblings ...)
  2005-06-05  6:52 ` pinskia at gcc dot gnu dot org
@ 2005-07-06 17:03 ` mmitchel at gcc dot gnu dot org
  2005-07-30  6:31 ` jvdelisle at gcc dot gnu dot org
  2005-09-27 16:17 ` mmitchel at gcc dot gnu dot org
  14 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-07-06 17:03 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2005-07-06 17:02 -------
Postponed until 4.0.2.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.0.1                       |4.0.2


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


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

* [Bug target/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
  2005-04-29  5:46 [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var ch dot ehrlicher at gmx dot de
                   ` (12 preceding siblings ...)
  2005-07-06 17:03 ` [Bug target/21275] " mmitchel at gcc dot gnu dot org
@ 2005-07-30  6:31 ` jvdelisle at gcc dot gnu dot org
  2005-09-27 16:17 ` mmitchel at gcc dot gnu dot org
  14 siblings, 0 replies; 18+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2005-07-30  6:31 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From jvdelisle at gcc dot gnu dot org  2005-07-30 06:29 -------
Can or will this patch be put into mainline?  Seems to be falling in a crack. 
It is needed to help with moving forward on pr23138.  I will apply the patch
given here.  My first attempts failed, maybe I have to do it manually.

-- 


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


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

* [Bug target/21275] [4.0/4.1 Regression] gcc 4.0.0 crash with mingw when using stdout in global var
  2005-04-29  5:46 [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var ch dot ehrlicher at gmx dot de
                   ` (13 preceding siblings ...)
  2005-07-30  6:31 ` jvdelisle at gcc dot gnu dot org
@ 2005-09-27 16:17 ` mmitchel at gcc dot gnu dot org
  14 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-09-27 16:17 UTC (permalink / raw)
  To: gcc-bugs



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


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


^ permalink raw reply	[flat|nested] 18+ 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 ` cvs-commit at gcc dot gnu dot org
@ 2005-10-12 20:58 ` dannysmith at users dot sourceforge dot net
  1 sibling, 0 replies; 18+ 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] 18+ 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 ` cvs-commit at gcc dot gnu dot org
  2005-10-12 20:58 ` dannysmith at users dot sourceforge dot net
  1 sibling, 0 replies; 18+ 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] 18+ messages in thread

end of thread, other threads:[~2005-10-12 20:58 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-04-29  5:46 [Bug c/21275] New: gcc 4.0.0 crash with mingw when using stdout in global var ch dot ehrlicher at gmx dot de
2005-04-29  6:11 ` [Bug c/21275] " dannysmith at users dot sourceforge dot net
2005-04-30  9:08 ` dannysmith at users dot sourceforge dot net
2005-04-30 15:35 ` [Bug c/21275] [4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
2005-04-30 21:40 ` dannysmith at users dot sourceforge dot net
2005-05-01  8:00 ` dannysmith at users dot sourceforge dot net
2005-05-01 11:28 ` ch dot ehrlicher at gmx dot de
2005-05-01 13:16 ` [Bug middle-end/21275] " pinskia at gcc dot gnu dot org
2005-05-01 13:17 ` pinskia at gcc dot gnu dot org
2005-05-07 20:20 ` pinskia at gcc dot gnu dot org
2005-05-26 21:22 ` dannysmith at users dot sourceforge dot net
2005-06-01 21:02 ` dannysmith at users dot sourceforge dot net
2005-06-05  6:52 ` pinskia at gcc dot gnu dot org
2005-07-06 17:03 ` [Bug target/21275] " mmitchel at gcc dot gnu dot org
2005-07-30  6:31 ` jvdelisle at gcc dot gnu dot org
2005-09-27 16:17 ` mmitchel at gcc dot gnu dot org
     [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

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).