1 2002-07-12 Christopher Faylor <cgf@redhat.com>
3 * config/i386/cygwin.h (CPP_SPEC): Fix include/w32api search behavior
4 in absence of -mwin32. Always define STANDARD_INCLUDE_DIR when
6 * config/i386/cygwin2.c (add_mingw): Tack /mingw on the end of
7 directories that have not been otherwise converted.
8 * config/t-cygming (STMP_FIXINC): Define.
10 2002-07-05 Christopher Faylor <cgf@redhat.com>
12 * config/i386/cygming.h (TARGET_SUBTARGET_DEFAULT): Default to
13 MASK_ALIGN_DOUBLE for MSVC compatibility.
14 * config/i386/mingw32.h: Remove cygming.h include. Assume that it is
15 already included in config.h.
16 * config/i386/cygwin.h: Ditto.
17 (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
18 (GCC_DRIVER_HOST_INITIALIZATION): Avoid a compiler warning.
19 * config.gcc: Add cygming.h to mingw32 and cygwin targets.
21 2002-06-28 Christopher Faylor <cgf@redhat.com>
23 * config.gcc: Use new common makefile stub for cygwin and mingw32.
25 2002-06-28 Christopher Faylor <cgf@redhat.com>
27 * config/i386/t-cygming: New makefile stub.
28 * config/i386/t-cygwin: Assume existence of new makefile stub.
29 * config/i386/t-mingw32: Ditto.
30 * config/i386/cygming.h: New file.
31 * config/i386/cygwin.h: Use new common header file.
32 * config/i386/mingw32.h: Ditto.
34 2002-06-27 Christopher Faylor <cgf@redhat.com>
36 * gcc/config.gcc: Add extra files to cygwin targets. Default cygwin to
38 * i386/cygwin.h: Simplify special spec logic. Define "wrappers" around
39 certain path defines to accommodate -mno-cygwin. Remove some #if 0'ed
41 (GCC_DRIVER_HOST_INITIALIZATION): Define.
42 * gcc/config/i386/i386.h: Add appropriate whitespace to some _SPEC
44 * gcc/config/i386/t-cygwin: Add compilation rules for new cygwin
46 * cygwin1.c: New file.
47 * cygwin2.c: New file.
49 2002-06-22 Casper S. Hornstrup <chorns@users.sourceforge.net>
51 * gcc/config/i386/i386.c (ix86_comp_type_attributes): Fix
52 thinko in comparison of fastcall types.
54 2002-05-28 Danny Smith <dannysmith@users.sourceforge.net>
56 * doc/install.texi (binaries): Change mingw binaries
57 link to www.mingw.org.
59 2002-05-28 Danny Smith <dannysmith@users.sourforge.net>
61 * gthr-win32.h: Wrap all functions in extern "C".
62 (__gthread_key_t): Typedef as unsigned long,
64 (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
65 (__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
66 (__gthr_win32_once, __gthr_win32_key_create,
67 __gthr_win32_key_delete, __gthr_win32_getspecific,
68 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
69 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
70 __gthr_win32_mutex_unlock): Declare.
71 (__gthread_once,__gthread_key_create,
72 __gthread_key_delete, __gthread_getspecific,
73 __gthread_setspecific, __gthread_mutex_init_function,
74 __gthread_mutex_lock,__gthread_mutex_trylock,
75 __gthread_mutex_unlock): Call corresponding
76 __gthr_win32_* extern implementations if #defined
77 __GTHREAD_HIDE_WIN32API.
78 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
79 $(srcdir)/config/i386/gthr-win32.c
80 * config/i386/gthr-win32.c: New implementation file.
81 (__gthr_win32_once, __gthr_win32_key_create,
82 __gthr_win32_key_delete, __gthr_win32_getspecific,
83 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
84 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
85 __gthr_win32_mutex_unlock): New functions, based on
86 static inlines in gthr-win32.h.
88 2002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
90 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
92 2002-05-22 Danny Smith <dannysmith@users.sourceforge.net>
94 Backport fixes from 3.2 branch.
95 Tue Apr 23 11:48:53 CEST 2002 Jan HUbicka <jh@suse.cz>
97 * i386.c (ix86_expand_clrstr): Fix pasto.
99 2002-05-21 Danny Smith <dannysmith@users.sourceforge.net>
101 * config/i386/winnt.c (associated_type): Remove test for
104 2002-05-16 Danny Smith <dannysmith@users.sourceforge.net>
106 * ada/gnat_ug.texi (Replace @ifinfo with @ifnottex to allow
109 2002-05-15 Danny Smith <dannysmith@users.sourceforge.net>
111 Add Dwarf2 EH support for mingw.
112 * config/i386/mingw32.h (ENDFILE_SPEC): Define.
113 (STARTFILE_SPEC): Add crtbegin.o.
114 (DWARF2_UNWIND_INFO): Define.
115 * config.gcc(i[34567]86-*-mingw32*): Add crtbegin.o and
116 crtend.o as extra parts
117 * crtstuff.c : Add support for __MINGW32__ and __CYGWIN__.
118 * libgcc2.c (L__main): Don't compile for mingw32.
120 2002-05-07 Donn Terry <donnte@microsoft.com>
122 * stor-layout.c (place_field): Bitfields force alignment of
123 record to underlying type if targetm.ms_bitfield_layout_p.
125 2002-04-16 Danny Smith <dannysmith@users.sourceforge.net>
127 * config/i386/xm-mingw32.h (HOST_WIDEST_INT): Define.
128 (HOST_BITS_PER_WIDEST_INT): Define.
129 (HOST_WIDEST_INT_PRINT_DEC): Define.
130 (HOST_WIDEST_INT_PRINT_UNSIGNED): Define.
131 (HOST_WIDEST_INT_PRINT_HEX): Define.
133 2002-04-05 Danny Smith <dannysmith@users.sourceforge.net>
135 * config/i386/cygwin.h (MASK_MS_BITFIELD_LAYOUT): New mask for
136 target switch -mms-bitfields.
137 (TARGET_USE_MS_BITFIELD_LAYOUT): New define, using mask.
138 (SUBTARGET_SWITCHES): Set mask, document -mms-bitfield switch.
139 * config/i386/i386.c (ix86_ms_bitfield_layout_p): Add new hook
140 function for TARGET_MS_BITFIELD_LAYOUT_P returning ...
141 (TARGET_USE_MS_BITFIELD_LAYOUT): Define to 0 if not defined
143 * doc/invoke.texi (-mms-bitfields): Document target switch.
144 * testsuite/gcc.dg/bf-ms-layout.c: New file.
145 * testsuite/gcc.dg/bf-no-ms-layout.c: New file.
147 2002-03-25 Danny Smith <dannysmith@users.sourceforge.net>
149 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
150 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switch defines.
151 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
152 Remove unnecessary masks.
153 (MASK_NOP_FUN_DLLIMPORT): Use an unused bit.
154 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
155 -mwindows, -mdll switches and their negations.
157 2002-03-24 Danny Smith <dannysmith@users.sourceforge.net>
159 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
162 2002-03-03 Danny Smith <dannysmith@users.sourceforge.net>
164 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
166 2002-02-01 Danny Smith <dannysmith@users.sourceforge.net>
168 * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
170 2001-11-05 Eric Kohl <ekohl@rz-online.de>
172 *config/i386/cygwin.h (CPP_SPEC): Add fastcall attributes.
173 (I386_PE_STRIP_ENCODING): Return length of internal fastcall
175 (ASM_OUTPUT_LABELREF): Add _imp_ prefix now rather than in
176 winnt.c (i386_pe_mark_dllimport). Convert internal
177 fastcall decoration to MS-compatable decoration.
178 * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute
180 * config/i386/mingw32.h(CPP_SPEC): Add fastcall attributes.
181 * config/i386/i386.c (i386_valid_type_attribute_p): Accept
182 'fastcall' as a valid type attribute.
183 (i386_return_pops_args): Fastcall functions pop the stack.
184 (init_cumulative_args): Reserve registers ECX and EDX if
185 function has fastcall attribute.
186 (function_arg_advance): Take care of argument type restrictions
187 of fastcall functions.
188 (function_arg): Use registers ECX and EDX if function has
190 * config/i386/winnt.c (i386_pe_mark_dllimport): Don't add _imp_
191 prefix now. It is done in ASM_OUTPUT_LABELREF in cygwin.h.
192 (gen_fastcall_suffix): New function. Decorates
193 a label name with a preliminary fastcall prefix (+) and the
195 (i386_pe_encode_section_info): Calls gen_fastcall_suffix() if
196 a symbol has a fastcall attribute.
198 * doc/extend.texi: Added documentation of fastcall attribute.
200 2001-11-05 Danny Smith <danny_r_smith_2001@yahoo.com.nz>
202 * config/i386/i386.c (i386_comp_type_attributes): Check for
203 mismatched fastcall types.
204 config/winnt.c (i386_pe_unmark_dllimport): Adjust for changes
205 in i386_pe_mark_dllimport.
206 (i386_pe_mark_dllexport): Likewise.
208 2002-06-30 Danny Smith <dannysmith@users.sourceforge.net>
210 * Makefile.in (PREPROCESSOR_DEFINES): Create a relative path
211 for LOCAL_INCLUDE_DIR.
213 * gcc.c (canon_filename): New function for converting '/' to
215 (execute): Use it when passing filenames to pexecute.
216 * config/i386/xm-mingw32.h (DIR_SEPARATOR): Make '/' the
219 2001-06-20 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
221 * config/i386/winnt.c (i386_pe_dllimport_p): Don't mark
222 initialized variables as dllimported.
224 2001-06-20 Mumit Khan <khan@nanotech.wisc.edu>
226 * config/i386/winnt.c (i386_pe_unmark_dllimport): New static
228 (i386_pe_encode_section_info): Use.
229 (i386_pe_mark_dllimport): Likewise.
230 (i386_pe_dllexport_p): Make static.
231 (i386_pe_dllimport_p): Likewise.
232 (i386_pe_mark_dllexport): Make static. Implement override rules
233 and handle illegal dllimports/exports.
234 (i386_pe_mark_dllimport): Likewise. Don't import C++ methods
237 2001-06-20 Mumit Khan <khan@nanotech.wisc.edu>
239 * ginclude/stdarg.h: Use RC_INVOKED guard for x86-win32 targets.
240 * ginclude/stddef.h: Likewise.
241 * ginclude/varargs.h: Likewise. Replace WINNT macro with __WIN32__.