[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-12-13 Thread dannysmith at users dot sourceforge dot net


--- Comment #22 from dannysmith at users dot sourceforge dot net  
2007-12-13 08:53 ---
(In reply to comment #15)
 It seems fixincl isn't supported for mingw at all, from what Danny Smith 
 mailed
 me privately.  

Sorry for breaking this thread with an inadvertent private mail.  For the
record here is a post about the  mingw  vs fixinclude logic: 
http://gcc.gnu.org/ml/gcc-patches/2007-11/msg01044.html

Thank you Jakub for the documentation patch.  

Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

Version|4.3.0   |2.95


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-12-12 Thread jakub at gcc dot gnu dot org


--- Comment #20 from jakub at gcc dot gnu dot org  2007-12-12 20:54 ---
Subject: Bug 30589

Author: jakub
Date: Wed Dec 12 20:54:10 2007
New Revision: 130794

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=130794
Log:
PR bootstrap/30589
* doc/install.texi: Document that for MinGW only runtime 3.12 and
later is supported.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/doc/install.texi


-- 


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-12-12 Thread jakub at gcc dot gnu dot org


--- Comment #21 from jakub at gcc dot gnu dot org  2007-12-12 20:55 ---
The 3.12+ requirement documented, marking as fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-12-11 Thread jakub at gcc dot gnu dot org


--- Comment #17 from jakub at gcc dot gnu dot org  2007-12-11 11:35 ---
If fixincludes can't (at least easily) work on mingw, could we solve this PR
by just documenting that for GCC 4.3 the oldest supported mingw version is
3.12?


-- 


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-12-11 Thread rguenth at gcc dot gnu dot org


--- Comment #18 from rguenth at gcc dot gnu dot org  2007-12-11 12:15 
---
I guess that's sensible.  We at least don't specify a version for the secondary
platform specifier i686-mingw32.

Let's downgrade this to P2 as soon as a documentation patch is provided.
(we should probably move all of gcc.gnu.org/install/* to a version-specific
places)

Mark?


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||mmitchel at gcc dot gnu dot
   ||org


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-12-11 Thread mmitchel at gcc dot gnu dot org


--- Comment #19 from mmitchel at gcc dot gnu dot org  2007-12-11 16:06 
---
I agree.  Given that the intent with MinGW is to avoid fixincludes, I guess
it's up to MinGW to provide headers that work.  So, I agree that once we
document this in our release notes, we should close this bug.  (I think we can
go farther than downgrading it to P2 as it doesn't sound like this is really a
GCC bug.)


-- 


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-11-21 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|jakub at gcc dot gnu dot org|unassigned at gcc dot gnu
   ||dot org
 Status|ASSIGNED|NEW


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-11-18 Thread jakub at gcc dot gnu dot org


--- Comment #15 from jakub at gcc dot gnu dot org  2007-11-18 22:55 ---
It seems fixincl isn't supported for mingw at all, from what Danny Smith mailed
me privately.  1) mkfixinc.sh makes fixincludes a nop on several targets
including mingw 2) there seems to be either directory separator issues or
something else related to freopen:
FS error 2 (No such file or directory) reopening 'ddk/ndis.h' as stdin
FS error 2 (No such file or directory) reopening 'ddk/usb.h' as stdin
FS error 2 (No such file or directory) reopening 'GL/gl.h' as stdin
FS error 2 (No such file or directory) reopening 'lmcons.h' as stdin
The filename, directory name, or volume label syntax is incorrect.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dannysmith at gcc dot gnu
   ||dot org


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-11-18 Thread jakub at gcc dot gnu dot org


--- Comment #16 from jakub at gcc dot gnu dot org  2007-11-18 22:57 ---
Created an attachment (id=14576)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14576action=view)
gcc43-pr30589.patch

Updated patch with wild guesses what to do about the dir separators.
I can't test it though and perhaps it is something completely different anyway.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

  Attachment #14470|0   |1
is obsolete||


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-11-02 Thread jakub at gcc dot gnu dot org


--- Comment #14 from jakub at gcc dot gnu dot org  2007-11-02 15:23 ---
Created an attachment (id=14470)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14470action=view)
gcc43-pr30589.patch

Updated patch that could (from eyeballing mingw-runtime-3.*.tar.gz tarballs)
fix this for mingw-runtime-3.2 and above (so roughly Oct 2003ish or newer).

Can anybody with actual access to this target test it (ideally one test with
mignw-runtime = 3.10, one with 3.11 (which has the __gnu__inline instead of
__gnu_inline__ attribute) and one with 3.12 or newer (which does not need
fixincluding)?
Thanks.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-08-06 Thread pinskia at gcc dot gnu dot org


--- Comment #12 from pinskia at gcc dot gnu dot org  2007-08-06 14:57 
---
Has this been fixed now?


-- 


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-08-06 Thread fxcoudert at gcc dot gnu dot org


--- Comment #13 from fxcoudert at gcc dot gnu dot org  2007-08-06 16:16 
---
Not that I know. For my purposes, I use a hand-modified version of the _mingw.h
header; maybe more recent versions of mingw have been fixed. Still, current
trunk doesn't work with older mingw (more than a few months back).


-- 


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-03-08 Thread brooks at gcc dot gnu dot org


--- Comment #10 from brooks at gcc dot gnu dot org  2007-03-09 04:50 ---
See http://gcc.gnu.org/ml/fortran/2007-03/msg00155.html for a proposed patch. 
I'll attach it here, as well.


-- 


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-03-08 Thread brooks at gcc dot gnu dot org


--- Comment #11 from brooks at gcc dot gnu dot org  2007-03-09 04:51 ---
Created an attachment (id=13175)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13175action=view)
Fixincludes patch to fix _mingw.h.


-- 


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-03-05 Thread tkoenig at gcc dot gnu dot org


--- Comment #9 from tkoenig at gcc dot gnu dot org  2007-03-05 20:58 ---
This is really important.  We need to be able to
support mingw for gfortran, at least.

Setting priority.


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tkoenig at gcc dot gnu dot
   ||org
   Priority|P3  |P1


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-01-30 Thread fxcoudert at gcc dot gnu dot org


--- Comment #7 from fxcoudert at gcc dot gnu dot org  2007-01-30 13:45 
---
(In reply to comment #5)
 CVS mingw runtime header _mingw.h has this, which avoids the problem:
 
 # if ( __MINGW_GNUC_PREREQ(4, 3)   __STDC_VERSION__ = 199901L)
 #  define __CRT_INLINE extern inline __attribute__((__gnu_inline__))
 # else
 #  define __CRT_INLINE extern __inline__
 # endif

Hum, here's what I don't understand. I installed the w32api-3.8, that includes
the above, and I still get a failure (this is on a cross from i386-linux):

$ ./bin/i386-pc-mingw32-gcc a.c b.c -std=c99 
/tmp/ccR36DmT.o:b.c:(.text+0x0): multiple definition of `___fpclassifyl'
/tmp/cc03idRc.o:a.c:(.text+0x0): first defined here
[... more of those ...]

So I look into the preprocessed files, and ___fpclassifyl is declared as:

extern __attribute__((__gnu__inline__)) inline int __attribute__((__cdecl__))
__fpclassifyl (long double x){
  unsigned short sw;
  __asm__ (fxam; fstsw %%ax; : =a (sw): t (x));
  return sw  (0x0100 | 0x0400 | 0x4000 );
}

so I reproduce it on a minimal testcase:

$ cat u1.c 
extern __attribute__((__gnu__inline__)) inline void __attribute__((__cdecl__))
__fpclassifyl (){
  ;
}

void foo() { ; }
$ cat u2.c 
extern __attribute__((__gnu__inline__)) inline void __attribute__((__cdecl__))
__fpclassifyl (){
  ;
}

void bar() { ; }
$ ./bin/i386-pc-mingw32-gcc -std=c99 u1.c u2.c 
u1.c:1: warning: ‘__gnu__inline__’ attribute directive ignored
u2.c:1: warning: ‘__gnu__inline__’ attribute directive ignored
/tmp/ccni42ym.o:u2.c:(.text+0x0): multiple definition of `___fpclassifyl'
/tmp/cc2aaPle.o:u1.c:(.text+0x0): first defined here
/home/fxcoudert/cross_nightbuild/tmp/install-gcc/lib/gcc/i386-pc-mingw32/4.3.0/../../../../i386-pc-mingw32/lib/libmingw32.a(main.o):main.c:(.text+0x106):
undefined reference to [EMAIL PROTECTED]'
collect2: ld returned 1 exit status


PS: all this is with mainline rev. 121280, Last Changed Date: 2007-01-29
06:53:40 +0100 (Mon, 29 Jan 2007).


-- 


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-01-30 Thread fxcoudert at gcc dot gnu dot org


--- Comment #8 from fxcoudert at gcc dot gnu dot org  2007-01-30 15:04 
---
(In reply to comment #5)
 CVS mingw runtime header _mingw.h has this, which avoids the problem:

OK, now I see why this is failing :(

_mingw.h from mingw-runtime-3.11 has
  define __CRT_INLINE extern __attribute__((__gnu__inline__)) inline
insted of
  define __CRT_INLINE extern __attribute__((__gnu_inline__)) inline

i.e. an extra underscore in __gnu_inline__. I see you corrected the typo in
CVS, but it was not yet released. So we're back to square one: CVS mingw is OK,
but we still need a fix for older mingw.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2007-01-26 13:11:11 |2007-01-30 15:04:19
   date||


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-01-26 Thread fxcoudert at gcc dot gnu dot org


--- Comment #6 from fxcoudert at gcc dot gnu dot org  2007-01-26 13:11 
---
So maybe a right fixinclude change could be to look into _mingw.h for

#define __CRT_INLINE extern __inline__

and change it (for mainline) to

# if __STDC_VERSION__ = 199901L
#  define __CRT_INLINE extern inline __attribute__((__gnu_inline__))
# else
#  define __CRT_INLINE extern __inline__
# endif

I don't know how fixinclude works, but that sounds like a simple and contained
hack.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-01-26 13:11:11
   date||


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-01-25 Thread fxcoudert at gcc dot gnu dot org


--- Comment #1 from fxcoudert at gcc dot gnu dot org  2007-01-25 17:01 
---
Sorry I have CCed the wrong person.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|echristo at gcc dot gnu dot |geoffk at gcc dot gnu dot
   |org |org


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-01-25 Thread fxcoudert at gcc dot gnu dot org


--- Comment #2 from fxcoudert at gcc dot gnu dot org  2007-01-25 17:02 
---
Created an attachment (id=12954)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12954action=view)
Preprocessed source file for a.c


-- 


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-01-25 Thread fxcoudert at gcc dot gnu dot org


--- Comment #3 from fxcoudert at gcc dot gnu dot org  2007-01-25 17:03 
---
Created an attachment (id=12955)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12955action=view)
Preprocessed source file for b.c


-- 


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-01-25 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|critical|blocker
   Target Milestone|--- |4.3.0


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-01-25 Thread geoffk at gcc dot gnu dot org


--- Comment #4 from geoffk at gcc dot gnu dot org  2007-01-26 00:23 ---
This is probably because the mingw math.h header does not support C99. 
Francois, where does this header come from?


-- 


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



[Bug bootstrap/30589] [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

2007-01-25 Thread dannysmith at users dot sourceforge dot net


--- Comment #5 from dannysmith at users dot sourceforge dot net  2007-01-26 
00:24 ---
CVS mingw runtime header _mingw.h has this, which avoids the problem:

# if ( __MINGW_GNUC_PREREQ(4, 3)   __STDC_VERSION__ = 199901L)
#  define __CRT_INLINE extern inline __attribute__((__gnu_inline__))
# else
#  define __CRT_INLINE extern __inline__
# endif


-- 


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