[Bug debug/33155] New: _stdcall assembler names in win32 vs gdb

2007-08-22 Thread dannysmith at users dot sourceforge dot net
My patch:

2007-05-24  Danny Smith  [EMAIL PROTECTED]

PR target/27067
* doc/tm.texi (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Document.
* targhooks.h (default_mangle_decl_assembler_name): Declare
default hook.
* targhooks.c (default_mangle_decl_assembler_name): Define
default hook.
* target-def.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME) New. Set to
default hook.
* target.h (struct gcc_target): Add mangle_decl_assembler_name field.
* langhooks.c (lhd_set_decl_assembler_name): Call
targetm.mangle_decl_assembler_name for names with global scope.


breaks gdb usage for setting breakpoints on __stdcall functions in C
(but not C++)

The problem appear to derive from a difference between the DECL_NAME and
DECL_ASSEMBLER_NAME which was introduced by the patch. Windows targets
decorate stdcall assembler identifiers with an @n suffix. Before this
patch, the assembler decoration was only added to RTL names in
encode_section_info; after the patch the decoration is added upfront to
DECL_ASSEMBLER_NAME, because the extern assembler name is really the decorated
name.


Here is an example:

===
/* foo.c */
int __stdcall bar()
{
  return 1;
}

int main()
{
  return bar();
}

===

Compiling with
gcc -g -xc foo.c

then
C:\develop\bugsgdb a

GNU gdb 6.5.50.20060706-cvs (cygwin-special) Copyright (C) 2006 Free
Software Foundation, Inc. GDB is free software, covered by the GNU
General Public License, and you ar welcome to change it and/or
distribute copies of it under certain condition Type show copying to
see the conditions. There is absolutely no warranty for GDB. Type show
warranty for details. This GDB was configured as i686-pc-cygwin...

(gdb) break bar
Function bar not defined.


However, there are no problems in C++ where there is also (and because
of name mangling, generally) a difference between the the DECL_NAME and
the DECL_ASSEMBLER_NAME.

compiling with
gcc -g -xc++ foo.c

then

C:\develop\bugsgdb a
GNU gdb 6.5.50.20060706-cvs (cygwin-special)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type show copying to see the conditions.
There is absolutely no warranty for GDB.  Type show warranty for details.
This GDB was configured as i686-pc-cygwin...
(gdb) break bar
Breakpoint 1 at 0x4013a3: file foo.c, line 3.

Reverting this part of the patch

* langhooks.c (lhd_set_decl_assembler_name): Call
targetm.mangle_decl_assembler_name for names with global scope.

avoids the C debugging problem.

gdb knows how to handle C++ mangling diffs between DECL_NAME and
DECL_ASSEMBLER_NAME, so the C++ part of the patch:

* cp/mangle.c (mangle_decl): Call targetm.mangle_decl_assembler_name.

doesn't cause any problems.


Danny


-- 
   Summary: _stdcall assembler  names in win32  vs gdb
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dannysmith at users dot sourceforge dot net
 GCC build triplet: i386-pc-mingw32
  GCC host triplet: i386-pc-mingw32
GCC target triplet: i386-pc-mingw32


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



[Bug other/18246] struct-layout-1 generator broken on i686-pc-mingw32

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


--- Comment #5 from dannysmith at users dot sourceforge dot net  2007-12-09 
08:00 ---
Fixed for 4.3.0 by
http://gcc.gnu.org/viewcvs?view=revrevision=126903


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


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



[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 libfortran/34712] Formatted write of float broken (mingw32)

2008-01-08 Thread dannysmith at users dot sourceforge dot net


--- Comment #2 from dannysmith at users dot sourceforge dot net  2008-01-09 
06:14 ---
This is a dup of PR23138 which is fixed if using recent mingw runtime.
Danny


-- 


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



[Bug c++/34749] Incorrect warning when applying dllimport to friend function

2008-01-12 Thread dannysmith at users dot sourceforge dot net


--- Comment #3 from dannysmith at users dot sourceforge dot net  2008-01-13 
06:50 ---
(In reply to comment #1)
 One could make the argument that the dllimport specifier is
 a storage-class-specifier which, per 11.4/6 is not allowed on
 the friend declaration. Since a friend function declaration
 needs to be preceded by a declaration of the function itself,
 it will always be sufficient if the dllimport specifier is only
 on the original function declaration.
 

MS semantics for dllimport for ordinary file scope functions, is that if a
declaration with dllimport attribute is followed by a decl without, the prior
dllimport is overriden.  Hence, the warning that Stephen shows for df3.cc  in
comment #3 may make some sense, but I do not have a MS compiler handy to see
what MS says for the friend case.  The warning does not make sense, if the 
dllimport attribute is actually honoured (as it should be) in original
testcase.


-- 


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



[Bug c++/34749] Incorrect warning when applying dllimport to friend function

2008-01-13 Thread dannysmith at users dot sourceforge dot net


--- Comment #4 from dannysmith at users dot sourceforge dot net  2008-01-13 
08:32 ---
Testing a patch.


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dannysmith at users dot
   |dot org |sourceforge dot net
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-01-13 08:32:51
   date||


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



[Bug c++/34749] Incorrect warning when applying dllimport to friend function

2008-01-19 Thread dannysmith at users dot sourceforge dot net


--- Comment #5 from dannysmith at users dot sourceforge dot net  2008-01-19 
08:33 ---
(In reply to comment #4)
 Testing a patch.
 

Here it is:
http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00881.html


-- 


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



[Bug target/34970] name mangling broken for __attributte__((fastcall))

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


--- Comment #7 from dannysmith at users dot sourceforge dot net  2008-01-26 
00:58 ---
Confirmed.  Fastcall symbols should not be prefixed with USER_LABEL_PREFIX.
This bug was introduced with 

2007-03-29  Richard Henderson  [EMAIL PROTECTED]
snip
* config/i386/cygming.h: Remove function declarations.
(SUBTARGET_ENCODE_SECTION_INFO): Don't undef first.
(ASM_OUTPUT_LABELREF): Remove.
...

Testing a patch that adds ASM_OUTPUT_LABELREF define back to cygming.h

Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dannysmith at users dot
   |dot org |sourceforge dot net
 Status|WAITING |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-01-26 00:58:00
   date||


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



[Bug target/34970] [4.3 regression] name mangling broken for __attributte__((fastcall))

2008-01-26 Thread dannysmith at users dot sourceforge dot net


--- Comment #10 from dannysmith at users dot sourceforge dot net  
2008-01-26 09:41 ---
Fixed.


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/34970] [4.3 regression] name mangling broken for __attributte__((fastcall))

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


--- Comment #8 from dannysmith at users dot sourceforge dot net  2008-01-26 
07:17 ---
This is a 4.3.0  regression.


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

  Known to fail||4.3.0
  Known to work|4.1.3   |4.1.3 4.2.1
Summary|name mangling broken for|[4.3 regression] name
   |__attributte__((fastcall))  |mangling broken for
   ||__attributte__((fastcall))
   Target Milestone|--- |4.3.0


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



[Bug target/35054] New: No documentation of #pragma push_macro(macro_name)

2008-02-02 Thread dannysmith at users dot sourceforge dot net
The new feature 

#pragma push_macro(macro_name) 
and 
#pragma pop_macro(macro_name) 

enabled by 

2007-03-30  Richard Henderson  [EMAIL PROTECTED]
Kai Tietz  [EMAIL PROTECTED]

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

is not documented as a user extension in extend.texi


-- 
   Summary: No documentation of  #pragma push_macro(macro_name)
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: documentation
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dannysmith at users dot sourceforge dot net


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



[Bug preprocessor/35061] New: #pragma pop_macro causes ICE if no macro value on stack

2008-02-03 Thread dannysmith at users dot sourceforge dot net
A #pragma pop_macro without a preceding #pragma push_macro  triggers an ICE
on  mingw32

// pop_macro.c 
#define X  1
int main()
{
// # pragma push_macro(X)
# undef X
# define X 2
# pragma pop_macro(X)
return 0;
}

gcc pop_macro.c
pop_macro.c: In function 'main':
pop_macro.c:9: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


-- 
   Summary: #pragma pop_macro causes ICE if no  macro value on stack
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: preprocessor
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dannysmith at users dot sourceforge dot net
GCC target triplet: i686-pc-mingw32


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



[Bug target/35054] No documentation of #pragma push_macro(macro_name)

2008-02-05 Thread dannysmith at users dot sourceforge dot net


--- Comment #1 from dannysmith at users dot sourceforge dot net  2008-02-05 
09:37 ---
Patch at 
http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00118.html
danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dannysmith at users dot
   |dot org |sourceforge dot net
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-02-05 09:37:33
   date||
Summary|No documentation of  #pragma|No documentation of  #pragma
   |push_macro(macro_name)|push_macro(macro_name)


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



[Bug preprocessor/35061] #pragma pop_macro causes ICE if no macro value on stack

2008-02-06 Thread dannysmith at users dot sourceforge dot net


--- Comment #1 from dannysmith at users dot sourceforge dot net  2008-02-06 
17:29 ---
Patch at:
http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00120.html


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dannysmith at users dot
   |dot org |sourceforge dot net
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-02-06 10:56:34 |2008-02-06 17:29:23
   date||


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



[Bug target/35124] Method _alloca is defined different by MSVCRT as by gcc.

2008-02-13 Thread dannysmith at users dot sourceforge dot net


--- Comment #4 from dannysmith at users dot sourceforge dot net  2008-02-14 
01:43 ---
Actually, I see this as unfortunate choice of name for the undocumented
__alloca label rather than as a serious bug. 

__alloca is an internal symbol that should have been named _alloca_probe for
consistency with MSVCT.

Certainly it is not a regression.  It has been that way since 1996.  The mingw
header malloc.h  does this to get a MSVCRT-consistent alloca:
#ifdef __GNUC__
#define _alloca(x) __builtin_alloca((x))
#endif 


-- 


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



[Bug target/35124] Method _alloca is defined different by MSVCRT as by gcc.

2008-02-14 Thread dannysmith at users dot sourceforge dot net


--- Comment #5 from dannysmith at users dot sourceforge dot net  2008-02-14 
08:14 ---
And just think of the havoc that will be caused with old mingw32 and cygwin
libs that depend on the _chkstk meaning of __alloca if you change __alloca
semantics.
eg there are 69 undefined references to __alloca in  mingw32-gcc-4.2.1 built
libgmp.a 

In my opinion it is a bug that 64 bit mingw defines __alloca differently to 32
bit mingw.  


Danny



-- 


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



[Bug target/35124] Method _alloca is defined different by MSVCRT as by gcc.

2008-02-14 Thread dannysmith at users dot sourceforge dot net


--- Comment #7 from dannysmith at users dot sourceforge dot net  2008-02-14 
17:46 ---
(In reply to comment #6)
 I agree, that the havoc for 32-bit backward compatibility is to avoid.
 But the havoc for windows sources using -fno-builtin and using _alloca () for
 stack allocation produces in future even more troubles IMHO.

Why should windows sources need to use __alloca.

If someone really wants an MSCV compatible (one underscore)  _alloca they just
add this to their srcs
void *_alloca (size_t size) {return __builtin_alloca (size));


MSDN documentation says that This function is deprecated because a more secure
version is available; see _malloca.


-- 


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



[Bug target/35124] Method _alloca is defined different by MSVCRT as by gcc.

2008-02-14 Thread dannysmith at users dot sourceforge dot net


--- Comment #8 from dannysmith at users dot sourceforge dot net  2008-02-14 
20:10 ---
(In reply to comment #7)

 If someone really wants an MSCV compatible (one underscore)  _alloca they just
 add this to their srcs
 void *_alloca (size_t size) {return __builtin_alloca (size));
 
Ugh. Sorry, I wasn't thinking clearly. Currently, that will lead to circular
reference.  I'll change gen_allocate_stack_worker to use __chkstk for 32-bits
when 4.4. opens.
Just #define _alloca __builtin_alloca,  That isn't affected by -fno-builtin
anyway
Danny

 
 MSDN documentation says that This function is deprecated because a more 
 secure
 version is available; see _malloca.
 


-- 


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



[Bug preprocessor/35061] #pragma pop_macro causes ICE if no macro value on stack

2008-02-14 Thread dannysmith at users dot sourceforge dot net


--- Comment #3 from dannysmith at users dot sourceforge dot net  2008-02-14 
21:44 ---
Fixed


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug fortran/33281] gfortran crt2.o not found under Vista

2007-09-04 Thread dannysmith at users dot sourceforge dot net


--- Comment #2 from dannysmith at users dot sourceforge dot net  2007-09-04 
06:17 ---
The solution is to build gcc/gfortran wiith -D__USE_MINGW_ACCESS in CFLAGS;
From mingw/include/io.h

/* Some defines for _access nAccessMode (MS doesn't define them, but
 * it doesn't seem to hurt to add them). */
#define F_OK0   /* Check for file existence */
/* Well maybe it does hurt.  On newer versions of MSVCRT, an access mode
   of 1 causes invalid parameter error. */   
#define X_OK1   /* MS access() doesn't check for execute permission. */
#define W_OK2   /* Check for write permission */
#define R_OK4   /* Check for read permission */


and later:
#ifdef __USE_MINGW_ACCESS
/*  Old versions of MSVCRT access() just ignored X_OK, while the version
shipped with Vista, returns an error code.  This will restore the
old behaviour  */
static inline int __mingw_access (const char* __fname, int __mode)
  { return  _access (__fname, __mode  ~X_OK); }
#define access(__f,__m)  __mingw_access (__f, __m)
#endif

Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-09-04 06:17:29
   date||


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



[Bug libstdc++/33203] [4.3 regression] libstdc++-v3 build broken on i386-pc-mingw32

2007-09-05 Thread dannysmith at users dot sourceforge dot net


--- Comment #2 from dannysmith at users dot sourceforge dot net  2007-09-05 
19:00 ---
A patch is at:
http://gcc.gnu.org/ml/gcc-patches/2007-09/msg00310.html
Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-09-05 19:00:01
   date||


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



[Bug libstdc++/33328] New: sys_nerr declaration assumed to be in errno.h

2007-09-06 Thread dannysmith at users dot sourceforge dot net
libstdc++-v3/acinclude.m4 tests if sys_nerr is in errno.h.  On  mingw32, it is
declared in stdlib.h, so autoconf test fails.  Judging from comment in
libiberty/strerror.c, sys_nerr is declared in stdio.h on BSD.


-- 
   Summary: sys_nerr  declaration assumed to be in errno.h
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dannysmith at users dot sourceforge dot net
 GCC build triplet: i686-pc-mingw32
  GCC host triplet: i686-pc-mingw32
GCC target triplet: i686-pc-mingw32


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



[Bug libstdc++/33203] [4.3 regression] libstdc++-v3 build broken on i386-pc-mingw32

2007-09-06 Thread dannysmith at users dot sourceforge dot net


--- Comment #5 from dannysmith at users dot sourceforge dot net  2007-09-07 
04:21 ---
Fixed.
Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug c++/14688] Mis-matched calling convention on virtual functions accepted without error

2007-09-18 Thread dannysmith at users dot sourceforge dot net


--- Comment #5 from dannysmith at users dot sourceforge dot net  2007-09-19 
00:58 ---
Patch at:
http://gcc.gnu.org/ml/gcc-patches/2007-09/msg01498.html

Danny


-- 


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



[Bug c++/15774] Conflicting function decls not diagnosed

2007-09-19 Thread dannysmith at users dot sourceforge dot net


--- Comment #6 from dannysmith at users dot sourceforge dot net  2007-09-19 
21:52 ---
With 4.1, 4.2 and trunk, there is still no diagnosis of change in calling
convention in decl,  but the bug in generated code is exposed only with
-fno-unit-at-time.
Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

  Known to fail|2.95.3 3.3.3 3.4.0 4.0.0|2.95.3 3.3.3 3.4.0 4.0.0
   ||4.1.0 4.2.1 4.3.0


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



[Bug target/12413] 'symbol already defined' when building ICU 2.6 with Cygwin

2007-09-20 Thread dannysmith at users dot sourceforge dot net


--- Comment #5 from dannysmith at users dot sourceforge dot net  2007-09-20 
21:24 ---
This testcase compiles with problem  on trunk and 4.2.2.  I haven't tested
4.1.x
Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.2.2


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



[Bug target/24472] Invalid global deinitialization order

2007-09-20 Thread dannysmith at users dot sourceforge dot net


--- Comment #2 from dannysmith at users dot sourceforge dot net  2007-09-20 
21:36 ---
This is fixed on trunk  by  TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT patch
http://gcc.gnu.org/viewcvs?root=gccview=revrev=118371

Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


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



[Bug c++/20221] Declspec sequences on pointer declarations: C++ vs C

2007-09-20 Thread dannysmith at users dot sourceforge dot net


--- Comment #1 from dannysmith at users dot sourceforge dot net  2007-09-20 
21:53 ---
With 4.2 and trunk, I get the same (expected) result on C and C++.
Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.2.2


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



[Bug testsuite/20360] 20021014-1.c fails on account of unsupported build option

2007-09-20 Thread dannysmith at users dot sourceforge dot net


--- Comment #5 from dannysmith at users dot sourceforge dot net  2007-09-20 
22:01 ---
The addition of
/* { dg-require-profiling -p } */
has resolved this on at least 4.2.2 and trunk.

Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.2.2


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



[Bug target/10135] Uncaught exceptions with --disable-sjlj-exceptions configured GCC

2007-09-20 Thread dannysmith at users dot sourceforge dot net


--- Comment #11 from dannysmith at users dot sourceforge dot net  
2007-09-20 23:43 ---
You can --disable-sjlj-exceptions on cygwin and mingw now.
Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


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



[Bug target/17300] [mingw/cygwin]: dllimport of C++ classes with vtables causes bogus symbol ref

2007-09-20 Thread dannysmith at users dot sourceforge dot net


--- Comment #3 from dannysmith at users dot sourceforge dot net  2007-09-21 
03:04 ---
The example  produces a correct label for the vtable (_ZTV1S) with 4.2.2 and
trunk, so closing as fixed.
However we still emit the definition of the vtable  even though we import it
from the dll  as  __imp___ZTV1S when constructing the object s. 

Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.2.2


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



[Bug c++/14688] Mis-matched calling convention on virtual functions accepted without error

2007-09-24 Thread dannysmith at users dot sourceforge dot net


--- Comment #8 from dannysmith at users dot sourceforge dot net  2007-09-25 
00:31 ---
Fixed on trunk 


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


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



[Bug libstdc++/33578] New: libstdc++ parallel mode broken on mingw32

2007-09-27 Thread dannysmith at users dot sourceforge dot net
/develop/svn/trunk/build/mingw32/libstdc++-v3/include/parallel/compatibility.h:
In function 'void __gnu_parallel::yield()':
/develop/svn/trunk/build/mingw32/libstdc++-v3/include/parallel/compatibility.h:331:
error: 'Sleep' was not declared in this scope
make[4]: *** [parallel_list.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-target-libstdc++-v3] Error 2
make: *** [all] Error 2

The 'obvious' fix is to just include windows.h for __MINGW32__ as well
as _MSC_VER to get the prototype for Sleep. However, I expect that would cause
many complaints because it would pollute the global namespace with all
the Win32api names.  These do cause problems in practice , especially when
porting non-Win32 apps to mingw32. The _GTHREAD_HIDE_W32API business in
gthr-win32.h was implemented precisely to avoid having to expose these
names in libstdc++.

From a mingw point of view it would be better if __gnu_parallel::yield
could be hidden away either in a gthread_sched_yield function in libgcc
or in a libstdc++ object file.


Secondly, I don't think Sleep is actually the correct function to call
on NT4 and later

The  SwitchToThread() function which

Causes the calling thread to yield execution to another thread that is
ready to run on the current processor. The operating system selects the
next thread to be executed.

may be better.

Danny


-- 
   Summary: libstdc++ parallel mode broken on mingw32
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dannysmith at users dot sourceforge dot net
 GCC build triplet: i686-pc-mingw32
  GCC host triplet: i686-pc-mingw32
GCC target triplet: i686-pc-mingw32


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



[Bug libstdc++/33603] configuration failure during native build

2007-10-04 Thread dannysmith at users dot sourceforge dot net


--- Comment #3 from dannysmith at users dot sourceforge dot net  2007-10-04 
08:26 ---
(In reply to comment #2)

 While looking for collect2, I
 realized the path to ld (and as) had been misdetected.  Explicit
 specification of the path, --with-ld=/mingw/bin/ld.exe, let me have a
 successful configuration.  The buikd is now past the confiuguration step.
 I hope there won't be anymore failure.   Many thanks!  Is this type of
 failure documented somewhere? 


Explicit specification of the path to ld and as has bot been necessary
on my native builds on WinXP host, using cygwin bash. But possibly I am
just avoidng the problem by using 'identity' mounts -- mounts where the
posix path equate to the DOS path on the current drive. eg, c:\mingw is
mounted as /mingw. etc so both the posix tools (like exec in the ld
scrtpt) and the native executables refer to the same path.

Danny
 
 -- Gaby
 


-- 


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



[Bug libstdc++/33603] configuration failure during native build

2007-10-05 Thread dannysmith at users dot sourceforge dot net


--- Comment #5 from dannysmith at users dot sourceforge dot net  2007-10-05 
07:03 ---
(In reply to comment #4)
 
 However, for some reasons, the path to ld is detected as:
 
 c:/Docume~1/gdr/Desktop/sandbox/eval-build/i686-pc-mingw32/libstdc++-v3/c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/bin/ld.exe
 
 which is not right.  I suspect the real path is
 
   c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/bin/ld.exe
 
 but somehow it is appended to the build directory path.  Furthermore, it
 looks a very complicated path name.
 

How do you configure?

Combined binutils/gcc in-tree build with this configuration
../src/configure --host=mingw32 --build=mingw32 --target=mingw32
--with-arch=i486 --with-cpu=generic --disable-werror --prefix=/mingw 
--enable-threads --disable-nls --enable-languages=c,c++,objc,obj-c++,fortran
--disable-win32-registry --enable-libstdcxx-debug
--enable-cxx-flags='-fno-function-sections -fno-data-sections'
--enable-version-specific-runtime-lib   --enable-libgomp
--disable-sjlj-exceptions --enable-shared --disable-symvers

works for me.  Configure correctly sets 
ORIGINAL_LD_FOR_TARGET=../ld/ld-new.exe

If I move binutils out of tree then I get
ORIGINAL_LD_FOR_TARGET=/mingw/mingw32/bin/ld
which also works  correctly.

Are you using MSYS or cygwin bash and tools? 

Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 CC||dannysmith at users dot
   ||sourceforge dot net


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



[Bug libstdc++/33682] New: libstdc++ broken for !__GTHREAD_HAS_COND hosts

2007-10-06 Thread dannysmith at users dot sourceforge dot net
../../../../gcc/libstdc++-v3/libsupc++/guard.cc:68: error: expected
initializer before '*' token
../../../../gcc/libstdc++-v3/libsupc++/guard.cc:71: error: '__cond' is
not a member of '__gnu_cxx'
../../../../gcc/libstdc++-v3/libsupc++/guard.cc:72: error: '__cond' is
not a member of '__gnu_cxx'
../../../../gcc/libstdc++-v3/libsupc++/guard.cc:73: error:
'fake_cond_t' does not name a type
../../../../gcc/libstdc++-v3/libsupc++/guard.cc: In function
'voidunnamed::init_static_cond()':
../../../../gcc/libstdc++-v3/libsupc++/guard.cc:76: error:
'static_cond' was not declared in this scope


-- 
   Summary: libstdc++ broken for  !__GTHREAD_HAS_COND hosts
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dannysmith at users dot sourceforge dot net
 GCC build triplet: i686-pc-mingw32
  GCC host triplet: i686-pc-mingw32
GCC target triplet: i686-pc-mingw32


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



[Bug libstdc++/33682] libstdc++ broken for !__GTHREAD_HAS_COND hosts

2007-10-06 Thread dannysmith at users dot sourceforge dot net


--- Comment #1 from dannysmith at users dot sourceforge dot net  2007-10-06 
21:53 ---
The 'obvious' patch  is here:
http://gcc.gnu.org/ml/libstdc++/2007-10/msg00043.html


-- 


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



[Bug libstdc++/33578] __gnu_parallel::yield broken on mingw32

2007-10-09 Thread dannysmith at users dot sourceforge dot net


--- Comment #4 from dannysmith at users dot sourceforge dot net  2007-10-09 
23:52 ---
Created an attachment (id=14334)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14334action=view)
mingw32 compatibility patch


-- 


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



[Bug libstdc++/33578] __gnu_parallel::yield broken on mingw32

2007-10-09 Thread dannysmith at users dot sourceforge dot net


--- Comment #5 from dannysmith at users dot sourceforge dot net  2007-10-09 
23:54 ---
(In reply to comment #2)
 Created an attachment (id=14332)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14332action=view) [edit]
 Consistent use of _WIN32 define
 
Thats not quite right.  ___MINGW32__ defines _WIN32 but doesn't have an
intrin.h.  I believe that is for MSVC compiler specific intrinsics.  _MSC_VER
is a MSVC compiler builtin define.

Also, Cygwin  __may__ define _W32 (with -mwin32 switch) but still should use
its own implementation of sched.h and sched_yield  since it uses pthreads 


I'll attach what I'm using currently.  Putting more #ifdef's into this file
certainly doesn't make it any prettier. If wanted, I could prepare a patch that
gets rid of *all* the non-GNU (Windows) stuff and just put a __MINGW32__
specific definition of a __gnu_parallel::sched_yield() into os_defines.h. 

FWIW,  boost uses Sleep(1) -- not Sleep(0) --  for sched_yield() on windows,
while cygwin use SwitchToThread()


Dann\y


-- 


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



[Bug libstdc++/33682] libstdc++ broken for !__GTHREAD_HAS_COND hosts

2007-10-10 Thread dannysmith at users dot sourceforge dot net


--- Comment #6 from dannysmith at users dot sourceforge dot net  2007-10-10 
19:26 ---
Fixed.


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


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



[Bug target/33774] New: Cygwin/mingw do not support 16 byte alignment of struct/union fields

2007-10-14 Thread dannysmith at users dot sourceforge dot net
The following testcase fails on mingw32 
===
typedef int __m128 __attribute__ ((__vector_size__ (16), __may_alias__));

typedef union 
{
   float f[4];
   __m128 m;
} foo;

int test1[__alignof(__m128) = 16 ? 1 : -1 ];  // OK
int test2[__alignof(foo) = 16 ? 1 : -1 ]; // Fails: alignof foo = 8


with:
 foo.c:11: error: size of array 'test2' is negative.



The problem is config/i386/cygming.h 

#define BIGGEST_FIELD_ALIGNMENT 64

which is a leftover from a time when this define was necessary and
sufficient to enable 8 byte alignment for doubles--consistent with the
target default MASK_ALIGN_DOUBLE--and when GNU ld could only handle 8
byte alignment.

Currently testing a patch.


-- 
   Summary: Cygwin/mingw do not support 16 byte alignment of
struct/union  fields
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: dannysmith at users dot sourceforge dot net
ReportedBy: dannysmith at users dot sourceforge dot net
 GCC build triplet: i686-pc-mingw32
  GCC host triplet: i686-pc-mingw32
GCC target triplet: i686-pc-mingw32


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



[Bug c/33777] Crash during a build of zsh

2007-10-15 Thread dannysmith at users dot sourceforge dot net


--- Comment #2 from dannysmith at users dot sourceforge dot net  2007-10-15 
09:00 ---
I believe this is a dup of 
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29826
The bug was closed as fixed but reappeared on 4.2.x when Richard Henderson's
TLS emulation patch was reverted on the branch.
See comment #16 in PR 29826 for a patch.

Danny


-- 


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



[Bug target/33774] Cygwin/mingw do not support 16 byte alignment of struct/union fields

2007-10-18 Thread dannysmith at users dot sourceforge dot net


--- Comment #2 from dannysmith at users dot sourceforge dot net  2007-10-18 
21:04 ---
The native compiler MSVC++ does not limit field alignment to 64 bits, but as
documented here 
Windows Data Alignment on IPF, x86, and x64
http://msdn2.microsoft.com/en-us/library/Aa290049(VS.71).aspx

supports at least up to 256-bit field alignment  (see Listing 5 in above
article).


-- 


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



[Bug c++/33900] (exception handling) bad/inconsistent code generation

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


--- Comment #1 from dannysmith at users dot sourceforge dot net  2007-10-25 
20:41 ---
My reading of  18.7.5  of C++98 standard says that throwing an exeception from
a signal handler is implementation-defined, since such a signal handler is not
a POF.


Danny


-- 


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



[Bug target/33918] GCC failed to produce assembler output with -masm=intel option

2007-10-26 Thread dannysmith at users dot sourceforge dot net


--- Comment #1 from dannysmith at users dot sourceforge dot net  2007-10-27 
00:52 ---
Same error message as 
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18353

This works with revision 129548


-- 


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



[Bug testsuite/33946] New: Testcase multi-ix.c generates call to (poisoned) bzero

2007-10-29 Thread dannysmith at users dot sourceforge dot net
testsuite gcc.c-torture/execute/multi-ix.c calls __builtin_bzero;
At -O0, this gets expanded to a libcall to non-ISO function bzero

mingw32 does not have a library function bzero..  Hence:

spawn /develop/svn/trunk/build/gcc/xgcc -B/develop/svn/trunk/build/gcc/
/develop/svn/trunk/src/gcc/testsuite/gcc.c-torture/execute/multi-ix.c -w -O0
-fno-show-column -lm -o /develop/svn/trunk/build/gcc/testsuite/gcc/multi-ix.x0 
c:\tmp/ccsxRYXw.o:multi-ix.c:(.text+0x9a3): undefined reference to `_bzero'

Why not use ___builtin_memset in the testcase instead of poisoned name ?


-- 
   Summary: Testcase multi-ix.c generates call to (poisoned)  bzero
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dannysmith at users dot sourceforge dot net
GCC target triplet: i686-pc-mingw32


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



[Bug target/33963] New: Dllimport attribute wrongly accepted on typedefs

2007-10-31 Thread dannysmith at users dot sourceforge dot net
Testcase gcc.dg/attr-invalid.c started failing on mingw32 with

http://gcc.gnu.org/viewcvs?root=gccview=revrev=125975

In particular, this delta
* tree.c (handle_dll_attribute): Set DECL_VISIBILITY on the
imported or exported declaration, including type declarations.

made these TYPE_DECL's valid:

# 88 attr-invalid.c
typedef int dllimport_type __attribute__((dllimport));

typedef int (*dllimport_fntype)(void) __attribute__((dllimport));

Prior to that revision the attribute was valid only on FUNCTION_DECLS's
and VAR_DECL's 

However, although there is no warning, the attribute is ignored 

typedef int dllimport_type __attribute__((dllimport));
extern dllimport_type foo;
int bar () { return foo; }

gives

_bar:
pushl   %ebp
movl%esp, %ebp
movl_foo, %eax
popl%ebp
ret


-- 
   Summary: Dllimport attribute wrongly accepted on typedefs
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dannysmith at users dot sourceforge dot net
GCC target triplet: i686-pc-mingw32


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



[Bug c++/34032] -std=c++0x causes undeclared symbols errors on cygwin

2007-11-08 Thread dannysmith at users dot sourceforge dot net


--- Comment #3 from dannysmith at users dot sourceforge dot net  2007-11-08 
19:18 ---
The newlib stdio.h puts [v]snprintf declarations within a #ifndef
__STRICT_ANSI__ block. 
Likewise for cygwin's  ctype.h  and isblank


-- 


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



[Bug target/33774] Cygwin/mingw do not support 16 byte alignment of struct/union fields

2007-11-08 Thread dannysmith at users dot sourceforge dot net


--- Comment #4 from dannysmith at users dot sourceforge dot net  2007-11-08 
20:21 ---
Fixed on trunk.
Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


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



[Bug fortran/34112] Add $!DEC ATTRIBUTE support for 32bit Windows' STDCALL

2007-11-16 Thread dannysmith at users dot sourceforge dot net


--- Comment #2 from dannysmith at users dot sourceforge dot net  2007-11-16 
23:09 ---
 The problem with decorate is that its meaning depends on the platform. It may
 decorate the name of alias with a _ prefix and @n postfix or only with a
 _ prefix. Maybe one should start with STDCALL and ALIAS.

Would the target hook TARGET_MANGLE_DECL_ASSEMBLER_NAME (see tm.texi, also
config/i386/winnt.c for implementation) help here?
Danny


-- 


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



[Bug bootstrap/39660] Mingw Bootstrap stops with ..host-mingw32.c:140: error: ISO C90 forbids mixed..

2009-04-06 Thread dannysmith at users dot sourceforge dot net


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dannysmith at users dot
   |dot org |sourceforge dot net
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-04-07 03:39:21
   date||


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



[Bug bootstrap/39660] Mingw Bootstrap stops with ..host-mingw32.c:140: error: ISO C90 forbids mixed..

2009-04-08 Thread dannysmith at users dot sourceforge dot net


--- Comment #2 from dannysmith at users dot sourceforge dot net  2009-04-08 
08:12 ---
Fixed.


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/37216] [cygming] Invalid alignment for SSE store to .comm data generated with -O3

2009-04-15 Thread dannysmith at users dot sourceforge dot net


--- Comment #53 from dannysmith at users dot sourceforge dot net  
2009-04-16 02:59 ---
This thread is alos relevant.
http://gcc.gnu.org/ml/gcc/2009-04/msg00462.html
Adding Dave Korn to cc:


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 CC||dave dot korn dot cygwin at
   ||gmail dot com


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



[Bug target/39947] Shared libgcc getting clobbered for multilib builds

2009-04-29 Thread dannysmith at users dot sourceforge dot net


--- Comment #2 from dannysmith at users dot sourceforge dot net  2009-04-29 
07:29 ---
The same problem will occur for all dll's (libstdc++-x,dll, libgfortran-x.dll,
libssp-x.dll, etc) that are built as part of gcc 

Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 CC||dannysmith at users dot
   ||sourceforge dot net


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



[Bug target/39939] MinGW 4.3.0 fails to link sample programme.

2009-04-30 Thread dannysmith at users dot sourceforge dot net


--- Comment #9 from dannysmith at users dot sourceforge dot net  2009-04-30 
20:57 ---
(In reply to comment #6)
 (In reply to comment #4)
  Your libpthreads is doing something wrong.
  Re. comment 5
 The command was actually
 gcc -fopemnp test.c -lgomp -o test.exe
 

That command works for me with gcc 4.3.4, 4.4.0 and trunk
In 4.4.0 and trunk, test.exe links against LIBGOMP-1.DLL which in turn resolves
the pthread imports from PTHREADGCE2.DLL, which is distributed by the
pthreads-win32 project
http://sources.redhat.com/pthreads-win32/

My version of 4.3.4 has local mods.  I'm not sure if the shared libgomp build
was standard then.

How did you build gcc-4.3.0?  You need to add  --enable-libgomp to configure
and ensure that libpthread.a (note spelling) can be found.

Danny


-- 


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



[Bug target/39939] MinGW 4.3.0 fails to link sample programme.

2009-04-30 Thread dannysmith at users dot sourceforge dot net


--- Comment #10 from dannysmith at users dot sourceforge dot net  
2009-04-30 21:07 ---
(In reply to comment #9)
 (In reply to comment #6)
  (In reply to comment #4)
   Your libpthreads is doing something wrong.
   Re. comment 5
  The command was actually
  gcc -fopemnp test.c -lgomp -o test.exe
  
 
 That command works for me with gcc 4.3.4, 4.4.0 and trunk
 In 4.4.0 and trunk, test.exe links against LIBGOMP-1.DLL which in turn 
 resolves
 the pthread imports from PTHREADGCE2.DLL, which is distributed by the
 pthreads-win32 project
 http://sources.redhat.com/pthreads-win32/
 
 My version of 4.3.4 has local mods.  I'm not sure if the shared libgomp build
 was standard then.


No it wasn't. And so the problem is that libgomp.spec says:
# This spec file is read by gcc when linking.  It is used to specify the
# standard libraries we need in order to link with -fopenmp.
*link_gomp: -lgomp %{static: -lpthread }

You have not specified '-static', so you must provide the '-lpthread' (again
note spelling) yourself.

Danny


-- 


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



[Bug libgomp/39939] MinGW 4.3.0 fails to link sample programme.

2009-04-30 Thread dannysmith at users dot sourceforge dot net


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

  Component|target  |libgomp
   Target Milestone|--- |4.3.5


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



[Bug libgomp/39939] MinGW 4.3.0 fails to link sample programme.

2009-05-01 Thread dannysmith at users dot sourceforge dot net


--- Comment #12 from dannysmith at users dot sourceforge dot net  
2009-05-01 19:48 ---
(In reply to comment #11)
 (In reply to comment #9, comment #10)
 I did not build MinGW 4.3.0. I got it from the official MinGW site
 (gcc-4.3.0-20080502-mingw32-alpha). I have also found that on www.equation.com
 there are even newer versions (binaries), like 4.3.3 with OpenMP 2.5, 4.4.0
 with OpenMP 3.0 and MinGW 4.5 compilation snapshot. They seem to work fine 
 with
 OpenMP. 

Its a shame that www.equation.com doesn't tell us how to obtain their source
code for the gcc, gdb ands make binaries.


 They aren't present on the official MinGW site. Why?

No one has had put them there.
Danny
 


-- 


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



[Bug target/40068] GCC fails to apply dllexport attribute to typeinfo.

2009-05-09 Thread dannysmith at users dot sourceforge dot net


--- Comment #4 from dannysmith at users dot sourceforge dot net  2009-05-10 
05:01 ---
(In reply to comment #3)
 Created an attachment (id=17841)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17841action=view) [edit]
 inherit dllexport from class to typeinfo
 
 Now testing a solution based on the approach of adding the dllexport attribute
 to the class' typeinfo object when the class is passed to
 i386_pe_adjust_class_at_definition.
 
Hello Dave,
Rather than use DLL linkage (and so force client to resort to auto-import
magic)
why not just always emit the RTTI with one-only comdat linkage.

* decl2.c (import_export_decl): Always emit RTTI with comdat linkage
rather than import if MULTIPLE_SYMBOL_SPACES.

Index: decl2.c
===
--- decl2.c (revision 147015)
+++ decl2.c (working copy)
@@ -2351,15 +2351,21 @@
{
  class_type = type;
  import_export_class (type);
- if (CLASSTYPE_INTERFACE_KNOWN (type)
-  TYPE_POLYMORPHIC_P (type)
-  CLASSTYPE_INTERFACE_ONLY (type)
- /* If -fno-rtti was specified, then we cannot be sure
-that RTTI information will be emitted with the
-virtual table of the class, so we must emit it
-wherever it is used.  */
-  flag_rtti)
-   import_p = true;
+  /* Do not import typeinfo if the class might be in a DLL.
+Dllimports do not have a constant address at compile time,
+causing problems for static initialization of tables with RTTI
+fields.  Set to comdat instead.   */
+ if (MULTIPLE_SYMBOL_SPACES)
+   comdat_p = true;
+ else if (CLASSTYPE_INTERFACE_KNOWN (type)
+   TYPE_POLYMORPHIC_P (type)
+   CLASSTYPE_INTERFACE_ONLY (type)
+  /* If -fno-rtti was specified, then we cannot be sure
+ that RTTI information will be emitted with the
+ virtual table of the class, so we must emit it
+ wherever it is used.  */
+   flag_rtti)
+import_p = true;
  else
{
  if (CLASSTYPE_INTERFACE_KNOWN (type)


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dannysmith at users dot
   |dot org |sourceforge dot net
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-05-10 05:01:24
   date||


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



[Bug target/40068] GCC fails to apply dllexport attribute to typeinfo.

2009-05-13 Thread dannysmith at users dot sourceforge dot net


--- Comment #6 from dannysmith at users dot sourceforge dot net  2009-05-13 
08:12 ---
(In reply to comment #5)

   Also, I don't think this is necessarily an either-or situation; we could add
 my patch and have the typeinfo exported from the DLL, and also add yours so
 that clients could link a comdat copy (which would override the import stub)
 until we have a better solution for importing from the DLL.

Yes.  I was just thinking out loud.  I have no objection to your patch. 
Perhaps MULTIPLE_SYMBOL_SPACES should be defined in terms of an
-mmultiple-symbol-spaces target option , since if we depend on auto-import than
we should treat dll imports thae same as static lib imports.

 Also, how come emitting the typeinfo .linkonce as we currently do isn't the
 same as COMDAT for these purposes?
 
I'm not sure I understand your question.  In earlier versions of G++,  both
vtables and typeinfo were  always emitted with linkonce semantics, because of
the MULTIPLE_SYMBOL_SPACES define.  

Regards
Danny


-- 


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



[Bug libstdc++/40278] -std=c++0x is error, but -std=gnu++0x is OK!

2009-05-28 Thread dannysmith at users dot sourceforge dot net


--- Comment #6 from dannysmith at users dot sourceforge dot net  2009-05-28 
08:26 ---
(In reply to comment #4)
 Because __STRICT_ANSI__ means strict to the standard so -std=c++0x enables
 __STRICT_ANSI__.  But the mingw headers don't know about C++0x standard so it
 does not know those functions should be enabled.
 

mingw does not yet provide ANSI (c99) compliant swprintf or vswprintf
implementations. The functions it does provide, _swprintf and _vswprintf, are
pre-c99 MSVCRT implementations.

Danny


-- 


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



[Bug target/42213] GCC chkstk clash with Microsoft version

2009-11-29 Thread dannysmith at users dot sourceforge dot net


--- Comment #3 from dannysmith at users dot sourceforge dot net  2009-11-29 
17:36 ---
see
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39356#c9

and discussion of
http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00914.html

I think that patch should go into 4.5

Danny


-- 


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



[Bug target/37629] auto-import of constant data results in a crash at runtime

2008-09-23 Thread dannysmith at users dot sourceforge dot net


--- Comment #1 from dannysmith at users dot sourceforge dot net  2008-09-24 
03:12 ---
This bug is linker related.  It is fixed on 32-bit windows by this patch
http://sourceware.org/ml/binutils-cvs/2007-10/msg2.html
Have you tried with recent binutils and explict -Wl,--enable-auto-import
switch?

Danny


-- 


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



[Bug c++/34749] Incorrect warning when applying dllimport to friend function

2008-09-25 Thread dannysmith at users dot sourceforge dot net


--- Comment #7 from dannysmith at users dot sourceforge dot net  2008-09-26 
03:15 ---
*** Bug 37652 has been marked as a duplicate of this bug. ***


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 CC||v dot haisman at sh dot cvut
   ||dot cz


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



[Bug target/37652] Bogus redeclaration warning for `friend __declspec(dllimport) int foo ()'

2008-09-25 Thread dannysmith at users dot sourceforge dot net


--- Comment #1 from dannysmith at users dot sourceforge dot net  2008-09-26 
03:15 ---
This is duplicate of 34749

*** This bug has been marked as a duplicate of 34749 ***


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug target/37216] [cygming] Invalid alignment for SSE store to .comm data generated with -O3

2008-09-29 Thread dannysmith at users dot sourceforge dot net


--- Comment #19 from dannysmith at users dot sourceforge dot net  
2008-09-29 18:43 ---
Created an attachment (id=16427)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16427action=view)
Nick's aligned common testcase


-- 


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



[Bug target/37216] [cygming] Invalid alignment for SSE store to .comm data generated with -O3

2008-09-30 Thread dannysmith at users dot sourceforge dot net


--- Comment #26 from dannysmith at users dot sourceforge dot net  
2008-10-01 01:33 ---
(In reply to comment #14)
 Hi Guys,
 
   I am not able to reproduce the build problems that were reported with the
 first version of my patch, but then again I do not have a native cygwin build
 system or a system in which I can bootstrap mingw32.  I think that Brian may
 well be right however in that the patch is behaving badly when it manually
 switches into the .bss section.  I have uploaded a revised version of the 
 patch
 which uses the correct gcc function to perform the section switch, so please
 can anyone who is interested give this new patch a run.


This latter patch, applied to R139853 [*] (just before the big IRA merge) does
not cause the build problems of the prior patch but does not solve the problem
either.

With this patch, using your _align.c test case which I uploaded in previous
comment:

gcc -DHAVE_ALIGNED_COMMON _align.c   a.exe
fails.

The assembler code, specifically the .balign 32 directive applied to the
_common object looks like it should do the right thing, but doesn't (:

.file   _align.c
.bss
.balign 1
.comm   _a, 1
.balign 32
.comm   _common, 64
.globl _b
.section.bss,w
_b:
.space 1
.globl _bss
.align 32
_bss:
.space 64
.globl _c
.data
_c:
.byte   1
.globl _data
.align 32
_data:
.long   1
.space 4
.long   2
.space 4
.long   3
.space 12
.long   4
.space 28
.text
.globl _test
.def_test;  .scl2;  .type   32; .endef
_test:
pushl   %ebp
movl%esp, %ebp
subl$8, %esp
movl8(%ebp), %eax
addl$8, %eax
andl$7, %eax
testl   %eax, %eax
jne L2
movl8(%ebp), %eax
addl$16, %eax
andl$15, %eax
testl   %eax, %eax
jne L2
movl8(%ebp), %eax
addl$32, %eax
andl$31, %eax
testl   %eax, %eax
je  L4
L2:
call_abort
L4:
leave
ret
.def___main;.scl2;  .type   32; .endef
.globl _main
.def_main;  .scl2;  .type   32; .endef
_main:
pushl   %ebp
movl%esp, %ebp
andl$-16, %esp
subl$16, %esp
call___main
movl$_common, (%esp)
call_test
movl$_bss, (%esp)
call_test
movl$_data, (%esp)
call_test
movl$0, (%esp)
call_exit
.def_abort; .scl2;  .type   32; .endef
.def_exit;  .scl2;  .type   32; .endef




[*] Since the IRA merge, mingw32  has been broken, failing to compile libstdc++
and raising many (500 in gcc.dg) new testcase errors.  


-- 


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



[Bug target/37216] [cygming] Invalid alignment for SSE store to .comm data generated with -O3

2008-10-01 Thread dannysmith at users dot sourceforge dot net


--- Comment #27 from dannysmith at users dot sourceforge dot net  
2008-10-01 10:22 ---
(In reply to comment #13)
 Created an attachment (id=16425)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16425action=view) [edit]
 Revised patch with correct section switching
 
That patch causes other problems
This test case:

/* t1.c */
int  i[0];
int k;

void testi (void)
{
  i[0] = 0;
}

void testk (void)
{
  k = 0;
}


int main (void)
{
  return 0;
} 

now fails with 
t1.c:(.text+0x5): undefined reference to `_i' 

The assembler code is
.file   t1.c
.text
.p2align 4,,15
.globl _testi
.def_testi; .scl2;  .type   32; .endef
_testi:
pushl   %ebp
movl%esp, %ebp
movl$0, _i
popl%ebp
ret
.p2align 4,,15
.globl _testk
.def_testk; .scl2;  .type   32; .endef
_testk:
pushl   %ebp
movl%esp, %ebp
movl$0, _k
popl%ebp
ret
.def___main;.scl2;  .type   32; .endef
.p2align 4,,15
.globl _main
.def_main;  .scl2;  .type   32; .endef
_main:
pushl   %ebp
movl%esp, %ebp
andl$-16, %esp
call___main
xorl%eax, %eax
movl%ebp, %esp
popl%ebp
ret
.bss
.balign 4
.comm   _i, 0  size of i[0]
.balign 4
.comm   _k, 4


I suspect we need to add this bit, or similar, back in
-  rounded = size ? size : 1;
-  rounded += (BIGGEST_ALIGNMENT / BITS_PER_UNIT) - 1;
-  rounded = (rounded / (BIGGEST_ALIGNMENT / BITS_PER_UNIT)
-* (BIGGEST_ALIGNMENT / BITS_PER_UNIT));

and output rounded rather than size.

Testing now.


-- 


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



[Bug bootstrap/37702] Stage 2- C compiler cannot create executables-recent svn

2008-10-01 Thread dannysmith at users dot sourceforge dot net


--- Comment #6 from dannysmith at users dot sourceforge dot net  2008-10-02 
00:20 ---
In reply to comment #4)
 xgcc: error trying to exec
 '/cygdrive/c/jimdata/home/cvsroot/gcc-obj/./prev-gcc/cc1.exe': execv:
 Permission denied
 
This may be related to:
http://gcc.gnu.org/ml/gcc-bugs/2007-05/msg00228.html
Windows filesystems have woefully poor timestamp resolution, so it is easy to
get in race situation with modern CPUS. I find that it helps to disable
explorer.exe in the Windows TaskManager while doing a bootstrap.


Danny


-- 


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



[Bug target/37528] [4.4 Regression] boostrap failure due to configure problems

2008-10-02 Thread dannysmith at users dot sourceforge dot net


--- Comment #10 from dannysmith at users dot sourceforge dot net  
2008-10-02 08:47 ---
Fixed on mingw32 at revision 140803. 


-- 


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



[Bug target/37216] [cygming] Invalid alignment for SSE store to .comm data generated with -O3

2008-10-06 Thread dannysmith at users dot sourceforge dot net


--- Comment #41 from dannysmith at users dot sourceforge dot net  
2008-10-06 20:18 ---
(In reply to comment #35)

 As I suspected.  The PE/COFF file format does not provide for specifying 
 the alignment of commons.
 
 Hmm, I wonder if gcc should complain if it finds aligned commons with 
 COFF backends or if we should try to generate a GNU extension to the 
 COFF format.
 

Aligned commons are not part of the PE COFF spec and AFAICT neither MASM nor
NASM provide a way to specify aligned commons.  I am afraid that a GNU
extension will cause object incompatibility, so it would it need to be a
non-default option.  We already have
 -fno-common
__attribute__((no_common)) 
#pragma gcc optimize (no_common)  

G++ already puts commons in .bss

Perhaps a new option -fno_large_common that applies -fcommon only to objects
with align = 4 bytes?

A warning would be useful in any case.

Danny


-- 


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



[Bug target/37989] PR37528 fix broke --disable-shared on mingw32

2008-11-02 Thread dannysmith at users dot sourceforge dot net


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dannysmith at users dot
   |dot org |sourceforge dot net
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-11-03 06:09:24
   date||


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



[Bug target/37989] PR37528 fix broke --disable-shared on mingw32

2008-11-02 Thread dannysmith at users dot sourceforge dot net


--- Comment #2 from dannysmith at users dot sourceforge dot net  2008-11-03 
07:45 ---
Created an attachment (id=16614)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16614action=view)
revised patch to quard with ENABLE_SHARED_LIBGCC

Hi Mikael,

I have modified your patch slightly and added a ChangeLog entry.  It works for
me with host=build=target=mingw32.  Does attached it work for you.
Danny


-- 


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



[Bug target/37989] PR37528 fix broke --disable-shared on mingw32

2008-11-03 Thread dannysmith at users dot sourceforge dot net


--- Comment #5 from dannysmith at users dot sourceforge dot net  2008-11-04 
02:21 ---
Fixed by Mikael's patch


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.4.0


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



[Bug middle-end/38054] Assertion failed in change_decl_assembler_name()

2008-11-08 Thread dannysmith at users dot sourceforge dot net


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dannysmith at users dot
   |dot org |sourceforge dot net
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-11-09 00:41:29
   date||


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



[Bug target/38054] Assertion failed in change_decl_assembler_name()

2008-11-09 Thread dannysmith at users dot sourceforge dot net


--- Comment #2 from dannysmith at users dot sourceforge dot net  2008-11-09 
08:20 ---
This a target bug (stdcall symbol name decorati0on on windows targets)


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

  Component|middle-end  |target


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



[Bug target/38054] Assertion failed in change_decl_assembler_name()

2008-11-09 Thread dannysmith at users dot sourceforge dot net


--- Comment #3 from dannysmith at users dot sourceforge dot net  2008-11-09 
08:24 ---
Patch at:
http://gcc.gnu.org/ml/gcc-patches/2008-11/msg00321.html


-- 


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



[Bug target/38054] Assertion failed in change_decl_assembler_name()

2008-11-10 Thread dannysmith at users dot sourceforge dot net


--- Comment #5 from dannysmith at users dot sourceforge dot net  2008-11-11 
06:27 ---
(In reply to comment #3)
 Patch at:
 http://gcc.gnu.org/ml/gcc-patches/2008-11/msg00321.html
 

That patch also fixes the FAIL of testsuite\g++.old-deja\g++.dg\otherg++
pr35504.C .  Currently it fails on mingw32 and cygwin with:

Warning: resolving non-virtual thunk to c3::method5()@4 by linking to
non-virtual thunk to c3::method5()
Use --enable-stdcall-fixup to disable these warnings
Use --disable-stdcall-fixup to disable these fixups
c:\tmp/ccisCRqc.o:pr35504.C:(.rdata$_ZTV2c3[vtable for c3]+0x44): undefined
reference to [EMAIL PROTECTED]@4'
collect2: ld returned 1 exit status 


-- 


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



[Bug target/38130] New: [4.4.0 regression]__builtin_alloca (vs IRA?) testsuite failures on mingw32

2008-11-15 Thread dannysmith at users dot sourceforge dot net
Execution testcases c-torture/execute/920929-1.c and
c-torture/execute/built-in-setjmp.c began failing on mingw32 in late August,
coincident with merge of IRA into trunk. 

In both cases, the execution tests pass if -fno-ira is added to command line.

The problem appears to be in the call of the target stack-probing code
(__chkstk) in cygwin.asm from allocate_stack_worker instruction. __chkstk has
unusual calling convention, with the input argument as well as the
output passed in eax.

From i386.md:

(define_insn allocate_stack_worker_32
  [(set (match_operand:SI 0 register_operand +a)
(unspec_volatile:SI [(match_dup 0)] UNSPECV_STACK_PROBE))
   (set (reg:SI SP_REG) (minus:SI (reg:SI SP_REG) (match_dup 0)))
   (clobber (reg:CC FLAGS_REG))]
  !TARGET_64BIT  TARGET_STACK_PROBE
  call\t___chkstk
  [(set_attr type multi)
   (set_attr length 5)])


The relevant part of the output of 
gcc  -S  -O -funroll-all-loops  920929-1.c -o 920929-1-IRA.s:

f:
pushl   %ebp
movl%esp, %ebp
pushl   %ebx
subl$4, %esp
movl8(%ebp), %edx
call___chkstk
leal15(%esp), %ecx
andl$-16, %ecx
testl   %edx, %edx
...

__chkstk allocates only 1 byte and the code segfault on the first
attempt to assign a double to the allocated array.


The output, with -fno-ira 
gcc  -S  -O -funroll-all-loops -fno-ira 920929-1.c -o 920929-1-NOIRA.s:
_f:
pushl   %ebp
movl%esp, %ebp
pushl   %ebx
subl$4, %esp
movl8(%ebp), %ebx
leal30(,%ebx,8), %eax
andl$-16, %eax
call___chkstk
leal15(%esp), %eax
movl%eax, %edx
andl$-16, %edx
testl   %ebx, %ebx

__chkstk allocates 816 bytes


A comparison of built-in-setjmp.c with amd without -fno-ira switch also shows
incorrect input to __chkstk

Probably related to these failure is miscompilation of the C++ compiler
code cp/pt.c, which segfaults following call to alloca in
process_partial_specialization when building libstdc++. If cp/pt.c is
compiled with -fno-ira, libstdc++ builds successfully.

Danny


-- 
   Summary: [4.4.0 regression]__builtin_alloca (vs IRA?)  testsuite
failures on  mingw32
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dannysmith at users dot sourceforge dot net
 GCC build triplet: i686-pc-mingw32
  GCC host triplet: i686-pc-mingw32
GCC target triplet: i686-pc-mingw32


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



[Bug target/38130] [4.4 regression]__builtin_alloca (vs IRA?) testsuite failures on mingw32

2008-11-17 Thread dannysmith at users dot sourceforge dot net


--- Comment #5 from dannysmith at users dot sourceforge dot net  2008-11-18 
05:55 ---
(In reply to comment #4)
 Created an attachment (id=16713)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16713action=view) [edit]
 gcc44-pr38130.patch
 
 I've talked about this with Honza on IRC:
 honza I would just use 0 constraint. At least in old times with regmove,
 regmove was able to discover that it should use same pseudo for input and
 output.  If you use pair of =a and a only reload sees this fact
 honza so patch is OK with that change.
 This is an updated patch which uses 0 instead of a constraint for operand
 1.
 So, can anyone please test it?  Thanks.
 

This patch  bootstraps on mingw32 (c,c++,gfortran) successfully,  libstcd++ now
compiles and the two testcases reported as failing now pass.

A full regtest is in progress and so far looks good.

Thanks


-- 


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



[Bug bootstrap/37915] bootstrap broken for cygwin

2008-11-17 Thread dannysmith at users dot sourceforge dot net


--- Comment #3 from dannysmith at users dot sourceforge dot net  2008-11-18 
06:26 ---
Hello Murali, 
Does the patch for PR 38130 fix the build of libstdc++ on cygwin?

http://gcc.gnu.org/bugzilla/attachment.cgi?id=16713action=view

Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 CC||dannysmith at users dot
   ||sourceforge dot net


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



[Bug bootstrap/37915] bootstrap broken for cygwin

2008-11-20 Thread dannysmith at users dot sourceforge dot net


--- Comment #5 from dannysmith at users dot sourceforge dot net  2008-11-21 
05:51 ---
(In reply to comment #4)
 Creating library file: .libs/libssp.dll.a
 .libs/ssp.o: In function `fail':
 /home/vmk/gccdev/gcctr11/gcc/libssp/ssp.c:109: undefined reference to
 `___chkstk'
 .libs/gets-chk.o: In function `__gets_chk':
 /home/vmk/gccdev/gcctr11/gcc/libssp/gets-chk.c:66: undefined reference to
 `___chkstk'


This is a different bug.  Cygwin uses the rules in gcc.c:init_gcc_specs to 
 Add appropriate libgcc specs to OBSTACK, taking into account
   various permutations of -shared-libgcc, -shared, and such.  
These do not quite work for Windows targets because dll's do not allow any
reference to be undefined whey they are built.  Thus, the static libgcc.a must
generally be  included to resolve, eg __chkstk.mingw works around this by
defining it's own REAL_LIBGCC_SPEC in mingw32.h that does this.  Perhaps cygwin
should do the same.  

Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 CC||dave dot korn at artimi dot
   ||com


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



[Bug middle-end/17982] stop calling assemble_external before final assembly output time

2008-11-23 Thread dannysmith at users dot sourceforge dot net


--- Comment #33 from dannysmith at users dot sourceforge dot net  
2008-11-24 06:41 ---
(In reply to comment #32)
 I've been told that this is related to the test case I just attached

Your testcase is more closely related to PR 38054.

Danny


-- 


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



[Bug target/38054] Assertion failed in change_decl_assembler_name()

2008-12-02 Thread dannysmith at users dot sourceforge dot net


--- Comment #11 from dannysmith at users dot sourceforge dot net  
2008-12-02 08:05 ---
I have committed a patch to 4.4.0  to fix  bug in compilation of desktop.cpp


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

   Target Milestone|--- |4.3.4


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



[Bug target/38054] Assertion failed in change_decl_assembler_name()

2008-12-03 Thread dannysmith at users dot sourceforge dot net


--- Comment #13 from dannysmith at users dot sourceforge dot net  
2008-12-04 07:16 ---
Fixed in 4.3.3


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|4.3.4   |4.3.3


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



[Bug target/38294] Enable multilib support for mingw

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


--- Comment #9 from dannysmith at users dot sourceforge dot net  2008-12-14 
05:54 ---
(In reply to comment #5)
 Reasoned by the fact, that this patch will solve our build failures for w64, 
 it
 is really more to be treated as regression.
 
 NightStrike, when all tests you are doing at the moment are passing, I'll sent
 it tomorrow to gcc-patches.
 
 Danny is this ok for you?
 
I would prefer that this be left until 4.5. I don't understand how failing to
add a new feature is now a regression.

(In reply to comment #6)
 Created an attachment (id=16906)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16906action=view) [edit]
 Third attempt
 
 There were a few lines in t-mingw32 that were commented out and shouldn't have
 been there.  Fixed in this patch.


Please also remove this unnecessary change in mingw32.h

+#if TARGET_64BIT_DEFAULT
 #define STANDARD_INCLUDE_DIR /mingw/include
+#else
+#define STANDARD_INCLUDE_DIR /mingw/include
 #endif

Nightstrike,  have you completed FSF copyright assignment formality

Danny


-- 


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



[Bug bootstrap/38580] Bootstrap broken on mingw32

2008-12-19 Thread dannysmith at users dot sourceforge dot net


--- Comment #1 from dannysmith at users dot sourceforge dot net  2008-12-19 
23:01 ---
Patch for this was submitted 4 months ago:

http://gcc.gnu.org/ml/gcc-patches/2008-08/msg01143.html
Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-12-19 23:01:36
   date||


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



[Bug c++/36654] [4.2/4.3 Regression] Inlined con/de-structor breaks virtual inheritance dllimport classes

2009-01-01 Thread dannysmith at users dot sourceforge dot net


--- Comment #8 from dannysmith at users dot sourceforge dot net  2009-01-02 
04:19 ---
Hello John,
This patch:

Index: gcc/config/i386/winnt-cxx.c
===
--- gcc/config/i386/winnt-cxx.c (revision 142383)
+++ gcc/config/i386/winnt-cxx.c (working copy)
@@ -65,7 +65,7 @@
   ignore the class attribute.  */
   else if (TREE_CODE (decl) == VAR_DECL
TREE_STATIC (decl)  TREE_PUBLIC (decl)
-   !DECL_EXTERNAL (decl))
+   DECL_NOT_REALLY_EXTERN (decl))
 {
   if (!DECL_VIRTUAL_P (decl))
  error (definition of static data member %q+D of 

fixes your testcase and causes no regressions in g++ testsuite.  I have only
tested on narrow range of dll builds, to check that the patch does not break
anything.  I think it may cause spurious errors with import of static data
members, but that can be fixed.  Could you please test with your projects.

Thanks

Danny


-- 


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



[Bug bootstrap/35273] New: [4.3.0 regression] Bootstrap of mingw32 using non-MSYS sehll broken

2008-02-20 Thread dannysmith at users dot sourceforge dot net
 gcc/ChangeLog:
 2008-02-17  Ralf Wildenhues  [EMAIL PROTECTED]

 PR bootstrap/35218
 * Makefile.in (build_file_translate): New.
 (gcc-vers.texi): Use it for translating $(abs_srcdir).
 * config.build (build_file_translate): Set to `CMD //c' on MinGW.
 * configure.ac (build_file_translate): Substitute it.
 * configure: Regenerate.


This patch breaks native bootstrap on mingw systems that use
cygwin1.dll-dependent bash and development tools.  As such, that would
be a regression against all versions of gcc since at least 2.95.3

I did not see an approval of this patch in GCC-patches.  Was it approved
off-line?

The  ' CMD  //c' (with 2 slashes preceding the switch  rather than the
one documented for cmd by Micrsosoft) is a MSYS-ism that causes
problems  with non-MSYS shells (including cygwin bash, ZSH, and the shell
provided by MS in its SFU package)

Prior to this patch, GCC bootstrapped just fine (with or without the earlier
abs_srcdir patch that broke MSYS build) on mingw using the cygwin bash shell,
make and configure. Using cygwin shell rather than the MSYS shell means that
DejaGnu testsuite can be run.  The last time I checked this was not
possible with MSYS.

Danny


-- 
   Summary: [4.3.0  regression] Bootstrap of mingw32 using  non-MSYS
sehll broken
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dannysmith at users dot sourceforge dot net
 GCC build triplet: i686-pc-mingw32


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



[Bug bootstrap/35273] [4.3.0 regression] Bootstrap of mingw32 using non-MSYS shell broken

2008-02-20 Thread dannysmith at users dot sourceforge dot net


--- Comment #1 from dannysmith at users dot sourceforge dot net  2008-02-21 
06:53 ---
Fix typo in summary


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

Summary|[4.3.0  regression] |[4.3.0  regression]
   |Bootstrap of mingw32 using  |Bootstrap of mingw32 using
   |non-MSYS sehll broken   |non-MSYS shell broken


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



[Bug c++/35421] ICE on Valid Code

2008-03-02 Thread dannysmith at users dot sourceforge dot net


--- Comment #5 from dannysmith at users dot sourceforge dot net  2008-03-03 
03:32 ---
(In reply to comment #4)

 
  A 65,000 line testcase?  Seriously?
 
 
  I'll try to make a smaller one. But it most likely won't be small.
  I think the bug is caused by a VERY large expression used with a  
  constructor
  within a try-catch.
 
 
 
 Most likely this is just a stack overflow so really not an interesting  
 testcase.
 

Your testcase works for me if I make gcc with 
LDFLAGS=-Wl,--stack=0x200

 Thanks,
 Andrew Pinski
 
 
 


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 CC||dannysmith at users dot
   ||sourceforge dot net


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



[Bug target/35054] No documentation of #pragma push_macro(macro_name)

2008-03-13 Thread dannysmith at users dot sourceforge dot net


--- Comment #3 from dannysmith at users dot sourceforge dot net  2008-03-13 
07:08 ---
Fixed for 4.4.0


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.4.0


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



[Bug bootstrap/25502] Werror problem in build

2008-03-19 Thread dannysmith at users dot sourceforge dot net


--- Comment #12 from dannysmith at users dot sourceforge dot net  
2008-03-19 21:35 ---
(In reply to comment #11)
 (In reply to comment #10)
  Still, 4.3.0 can't recoginze %I64d
 
 
 And that is because it is just being added:
 http://gcc.gnu.org/ml/gcc-patches/2008-03/msg01109.html
 

Even with that patch, we still get 
ISO C does not support the 'I64' printf length modifier warnings because of
--predantic.  IMO, that warning is valid and useful and should not be fixed.
Danny


-- 


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



[Bug target/35921] Con/de-structor definition fails to override dllimport declaration

2008-04-13 Thread dannysmith at users dot sourceforge dot net


--- Comment #3 from dannysmith at users dot sourceforge dot net  2008-04-13 
09:39 ---
Patch at:
http://gcc.gnu.org/ml/gcc-patches/2008-04/msg01048.html


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dannysmith at users dot
   |dot org |sourceforge dot net
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-04-13 09:39:48
   date||


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



[Bug target/35921] Con/de-structor definition fails to override dllimport declaration

2008-04-15 Thread dannysmith at users dot sourceforge dot net


--- Comment #6 from dannysmith at users dot sourceforge dot net  2008-04-16 
01:54 ---
(In reply to comment #5)
 The issue is fixed for me when applying the mentioned patch to 4.3.0, so as 
 far
 as I'm concerned we can close this bug as soon as someone applies the fix to
 4.3 SVN.
 

I'll wait a week to see if it causes any problems on trunk, then apply to 4.3
branch.

Danny


-- 


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



[Bug debug/33155] _stdcall assembler names in win32 vs gdb

2008-04-25 Thread dannysmith at users dot sourceforge dot net


--- Comment #2 from dannysmith at users dot sourceforge dot net  2008-04-26 
03:17 ---
(In reply to comment #1)
 What is the status on this?  Does reverting the langhooks.c change remanifest
 PR27067?
 

No. PR27067 is fixed by 
cp/mangle.c (mangle_decl): Call targetm.mangle_decl_assembler_name.



Danny


-- 


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



[Bug debug/33155] _stdcall assembler names in win32 vs gdb

2008-04-26 Thread dannysmith at users dot sourceforge dot net


--- Comment #4 from dannysmith at users dot sourceforge dot net  2008-04-26 
07:23 ---
(In reply to comment #3)
 (In reply to comment #2)
  (In reply to comment #1)
   What is the status on this?  Does reverting the langhooks.c change 
   remanifest
   PR27067?
   
  No. PR27067 is fixed by 
  cp/mangle.c (mangle_decl): Call targetm.mangle_decl_assembler_name.
 
 I see; then should the langhooks.c bit be reverted to fix this bug, or do you
 think it will be able to be solved soon some other way?
 

I don't know how to solve it. I thought it might be a GDB bug concerning
DW_AT_MIPS_linkage_name and an assumption by GDB  that C assembler names are
not mangled, but I haven't had time to follow up.  But on windows, the external
DECL_ASSEMBLER_NAME for stdcall symbols look mangled to me,  in C as well as
C++,  and gcc/dwarf2out.c:add_name_and_src_coords_attributes() does the right
thing.  

But ,as I said,  I haven't had time to study GDB.
Danny


I 


-- 


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



[Bug debug/33155] _stdcall assembler names in win32 vs gdb

2008-04-26 Thread dannysmith at users dot sourceforge dot net


--- Comment #5 from dannysmith at users dot sourceforge dot net  2008-04-26 
08:24 ---
(In reply to comment #4)
 (In reply to comment #3)
  (In reply to comment #2)
   (In reply to comment #1)
What is the status on this?  Does reverting the langhooks.c change 
remanifest
PR27067?

   No. PR27067 is fixed by 
   cp/mangle.c (mangle_decl): Call targetm.mangle_decl_assembler_name.
  
  I see; then should the langhooks.c bit be reverted to fix this bug, or do 
  you
  think it will be able to be solved soon some other way?
  
 
 I don't know how to solve it. I thought it might be a GDB bug concerning
 DW_AT_MIPS_linkage_name and an assumption by GDB  that C assembler names are
 not mangled, but I haven't had time to follow up.  But on windows, the 
 external
 DECL_ASSEMBLER_NAME for stdcall symbols look mangled to me,  in C as well as
 C++,  and gcc/dwarf2out.c:add_name_and_src_coords_attributes() does the right
 thing.  
 
 But ,as I said,  I haven't had time to study GDB.
 Danny
 

Huh, it is quite easy to ensure the old gdb assumptions about GNU C
name mangling.
This fixes the PR testcase for me, with GNU gdb 6.5.50.20060706-cvs
(cygwin-special).  GCC make check  is in progress. 


* dwarf2out.c (is c): New function.
(add_name_and_src_coords_attributes): Don't add
 DW_AT_MIPS_linkage_name if is_c ().



Index: dwarf2out.c
===
--- dwarf2out.c (revision 134429)
+++ dwarf2out.c (working copy)
@@ -5558,6 +5558,15 @@
   return a ? AT_file (a) : NULL;
 }

+/* Return TRUE if the language is C.  */
+static inline bool
+is_c (void)
+{
+  unsigned int lang = get_AT_unsigned (comp_unit_die, DW_AT_language);
+
+  return (lang == DW_LANG_C || lang == DW_LANG_C89  || lang == DW_LANG_C99);
+}
+
 /* Return TRUE if the language is C or C++.  */

 static inline bool
@@ -11558,7 +11567,7 @@
   DECL_ASSEMBLER_NAME (decl) != DECL_NAME (decl)
   !DECL_ABSTRACT (decl)
   !(TREE_CODE (decl) == VAR_DECL  DECL_REGISTER (decl))
-  !is_fortran ())
+  !is_fortran ()  !is_c ())
add_AT_string (die, DW_AT_MIPS_linkage_name,
   IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)));
 }


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 CC||dannysmith at users dot
   ||sourceforge dot net
 AssignedTo|unassigned at gcc dot gnu   |dannysmith at users dot
   |dot org |sourceforge dot net
 Status|NEW |ASSIGNED
  Known to fail||4.3.0
  Known to work||4.2.1
   Last reconfirmed|2008-04-26 04:13:31 |2008-04-26 08:24:46
   date||


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



[Bug testsuite/36057] New: struct-layout-1_generate.c uses non-standard '%n$' operand number formats

2008-04-26 Thread dannysmith at users dot sourceforge dot net
This commit 
2008-02-20  Uros Bizjak  [EMAIL PROTECTED]

* g++.dg/compat/struct-layout-1_generate.c (DG_OPTIONS): New define.
(switchfiles): Use DG_OPTIONS. Explicitly name arguments in fprintf
templates to reduce number of passed arguments.

breaks the G++  struct-layout tests on MS Windows since the host printf family
does not support the '%n$' extension.  The dg-options in generated files 
look like 
 /* { dg-options -w $s -I$s } */

After reverting that patch all 150 tescase succeed.


-- 
   Summary: struct-layout-1_generate.c  uses non-standard  '%n$'
operand number formats
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dannysmith at users dot sourceforge dot net
 GCC build triplet: i686-pc-mingw32
  GCC host triplet: i686-pc-mingw32
GCC target triplet: i686-pc-mingw32


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



[Bug debug/33155] _stdcall assembler names in win32 vs gdb

2008-04-26 Thread dannysmith at users dot sourceforge dot net


--- Comment #6 from dannysmith at users dot sourceforge dot net  2008-04-26 
22:29 ---
Patch submitted at 
http://gcc.gnu.org/ml/gcc-patches/2008-04/msg01977.html
Danny


-- 


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



<    1   2   3   4   >