Fix build on sparc64-linux-gnu.
[official-gcc.git] / gcc / d / ChangeLog-2008
blob23dc712dbf3c9532951dbfc5bebda4f1755c0921
1 2008-12-12  Arthur Loiret  <arthur.loiret@u-psud.fr>
3         Bugzilla 929:
5         * dmd/mtype.c: Provide isZeroInit() overload in TypeAArray that
6         returns TRUE.
7         * dmd/mtype.h: Add prototype for TypeAArray::isZeroInit().
9         * dmd2/mtype.c, dmd2/mtype.h: Ditto.
11 2008-07-21  David Friedman  <David Friedman>
13         * dmd/root.c, dmd2/root.c: Fix earlier patching error.
15         * phobos/config/x3.c, phobos2/config/x3.c: Fix problem when
16         building under MSYS.
18         * config-lang.in: Remove lang_requires.
20 2008-07-20  David Friedman  <David Friedman>
22         * dmd/expression.c, dmd2/expression.c: Make integer conversion
23         fix work for other hosts/targets.
25 2008-07-20  Arthur Loiret  <arthur.loiret@u-psud.fr>
27         * dmd/expression.c: Fix integer conversion routines on x86_64.
28         Patch from downs <default_357-line@yahoo.de>, thanks!
29         * dmd2/expression.c: Likewise.
31         * config-lang.in: Add lang_requires="c c++".
33 2008-07-19  David Friedman  <David Friedman>
35         * patches/patch-gcc-4.0.x, patches/patch-gcc-4.1.x: Fix infinite
36         loop bug in patch.
37         * patches/patch-apple-gcc-4.0.x: Ditto.
39         * d-lang.cc: Do not assume D_OS_VERSYM is defined.
40         Handle TARGET_xxx_CPP_BUILTINS macros for more targets.
42 2008-07-17  David Friedman  <dvdfrdmn@users.sf.net>
44         * dmd-script: Append an exe suffix to executables when the
45         target is Windows.
47         * phobos/gcc/deh.d, phobos2/gcc/deh.d: Fix for sjlj exceptions.
49 2008-06-16  David Friedman  <dvdfrdmn@users.sf.net>
51         * d-decls.cc: Correct logic for output constanting vars for V1.
53 2008-06-01  David Friedman  <dvdfrdmn@users.sf.net>
55         Merge DMD.1.30 and 2.014
57         * dmd-script: Implement -man, -lib and single-object features.
59         * phobos2/Makefile.am: add bigint
61         * phobos2/config/{ldfuncs,ldfuncs-darwin,ldfuncs-ppclinux,noldfuncs},
62         Merge nanl change from std/c/math.d
64         * phobos2/gcc/support.d: Merge std/c/math.d changes.
66         * d-objfile.cc (obj_append): Implement.
67         * phobos2/std/c/unix/unix.d: Merge linux.d and socket.d changes
69         * d-glue.cc, d-irstate.cc, d-lang.cc: Update
71         * dmd/..., dmd2/..., phbobos/..., phobos2/...: Merge
73 2008-05-26  David Friedman  <dvdfrdmn@users.sf.net>
75         * asmstmt.cc, d-decls.cc, d-glue.cc, d-misc.c, d-objfile.{cc, h}:
76         Fix for -combine compilation.  Remove fileContext global and clean
77         up generation of unique symbol names.
79         * phobos/internal/object.d: Correct merge error
81         ----
83         * dmd-script, lang.opt, d-lang.cc, : support -ignore
85         Merge DMD 1.029 and 2.013
87         * phobos2/std/perf.d: use std.c.unix.unix
89 2008-05-22  Arthur Loiret  <arthur.loiret@u-psud.fr>
91         * target-ver-syms.sh: Add missing CPUs and fix
92         d_cpu_versym/d_cpu_versym64 for each.
94         * d-lang.cc: Fix build on non biarched 64-bit archs (alpha, ia64, ...)
95         and fix 64-bit cpu detection.
97         * Move patch-* to patches/
98         * setup-gcc.sh: Update.
100 2008-05-10  David Friedman  <dvdfrdmn@users.sf.net>
102         * lang-specs.h: Support a "cc1d" spec. (Bugzilla 2068)
104         Merge DMD 1.028 and 2.012
106         * d-codegen.{h,cc}: Add postblitting array libcalls.
108         * phobos2/internal/arrayassign.d
109         (_d_arraysetassign, _d_arraysetctor): Use size_t.
111         * d-glue.cc (AssignExp::toElem): Postblit-aware code
113         * phobos2/Makefile.am: Add arrayssign.d. Remove math2.d.
115         * dmd/..., dmd2/..., phbobos/..., phobos2/...: Merge
117 2008-05-03  David Friedman  <dvdfrdmn@users.sf.net>
119         * d-dmd-gcc.h, d-glue.cc, dmd*/toobj.c: Cleanup: Remove unused
120         d_gcc_aggregate_dtors.
122 2008-05-02  David Friedman  <dvdfrdmn@users.sf.net>
124         Merge DMD 1.027 and 2.011
126         * termios.d: Point to std.c.unix.unix.  Leave original
127         termios.d as termios.d.orig-dmd
129         * asmstsmt.cc: Implement blockExit
131         * phobos2/config/unix.x3: Add termios stuff
133         * phobos2/std/c/unix/unix.d: Merge new funcs from std.c.linux.d
135         * d-objfile.cc: Implement stub obj_startaddress
137         * d-glue.cc (ForStatement::toIR): condition may be NULL
138         (DeleteExp::toIR): Use libcalls for interfaces
140         * dmd*/clone.c, dmd*/e2ir.c: New files.
142         * Make-lang.in: Add new clone.c
144         * d-codegen.{h, cc}, d-glue.cc: Use _d_callinterfacefinalizer.
145         Also use _d_delinterface instead of casting.
147         * dmd/..., dmd2/..., phbobos/..., phobos2/...: Merge
149 2008-04-27  David Friedman  <dvdfrdmn@users.sf.net>
151         Merge DMD 1.026 and 2.010
153         * dmd/..., dmd2/..., phbobos/..., phobos2/...: Merge
155         ---
157         * d-lang.cc (d_write_global_declarations): Make earlier change
158         regarding cgraph_optimize only apply to 4.0.x.
160         ---
162         * d-decls.cc (VarDeclartion::toSymbol): Change for
163         V2 STCmanifest.  Make more constant vars have
164         static storage (instead of making CONST_DECLs) in
165         both V1 and V2.
167         * dmd2/constfold.c (Cmp): Compare wchar and dchar
168         strings portably.
170         * asmstmt.cc (ExtAsmStatement::semantic): Heuristic
171         for evaluating operands:  If an input operand, evaluate.
173         * d-asm-i386.h: Make previous change apply to V1.
175         * d-glue.cc (TypeEnum::toCtype): Update.
177         Phobos changes (applies to V2 Phobos as well):
179         * phobos/Makefile.am, phobos/configure.in:
180         Deal with strerror_r portability.
182         * phobos/Makefile.in, phobos/configure, phobos/config.h.in:
183         Updated.
185         * phobos/gcc/cbridge_strerror.c: New file.
187         * phobos/std/c/string.d: Replace non-portable strerror_r with
188         _d_gnu_cbridge_strerror.
190         * phobos/std/file.d, phobos/std/loader.d, phobos/std/process.d,
191         phobos/std/socket.d, phobos/std/stdio.d: Use
192         _d_gnu_cbridge_strerror.
194         Merge DMD 2.009:
196         * dmd2/..., phobos2/...: Merge.
198         Merge DMD 1.025:
200         * dmd/..., phobos/...: Merge.
202 2008-04-25  David Friedman  <dvdfrdmn@users.sf.net>
204         * asmstmt.cc, d-asm-i386.h: Handle some other cases
205         for constant floating point operands.
207 2008-04-19  David Friedman  <dvdfrdmn@users.sf.net>
209         * dmd/toobj.c, dmd2/toobj.c (EnumDeclaration::toObjFile):
210         Output initializer correctly.
212         * d-decls.cc (EnumDeclaration::toInitializer): Correctly
213         set up initializer symbol. (Bugzilla 1746)
215 2008-04-17  David Friedman  <dvdfrdmn@users.sf.net>
217         * dmd/toobj.c (InterfaceDeclaration::toObjFile): Fix error.
218         (Bugzilla 1844)
220 2008-04-16  David Friedman  <dvdfrdmn@users.sf.net>
222         * d-codegen.{h, cc}: Clean up nested function / nested class /
223         closure code.
225         * phobos/std/c/stdlib.d, phobos2/...: Remove comment that hides
226         atof. (Bugzilla 1888)
228 2008-03-11  David Friedman  <dvdfrdmn@users.sf.net>
230         * d-glue.cc: cleanup
232         * dmd/expression.c (DotVarExp::semantic): Apply fix from dmd2/
234         * dmd2/expression.c (DotVarExp::semantic): Move fix to
235         better location.
237 2008-03-09  David Friedman  <dvdfrdmn@users.sf.net>
239         * dmd2/func.c (FuncDeclaration::needsClosure): Closures fix:
240         Change test from isVirtual to isThis.
242         * dmd2/expression.c (DotVarExp::semantic): Note change from DMD.
244         ----
246         * patch-build_gcc-5465: Correctly build driver-driver
248         * phobos*/Makefile.am (MAIN_OBJS): Add std/cover.o
250         * phobos2/std/file.d: use 'mkdir -p' in unittest
252         * d-builtins2.cc: Fixes for pointer-to-function types (for V2)
254         * d-codegen.cc: Add _d_allocmemory libcall.
255         (emitLocalVar): Rework.
256         (var): New function to handle static-frame/closure variables
257         (convertTo): Use typesSame instead of typesCompatible
258         (assignValue): New function to handle Exp(v=value) vs. Exp(value)
259         (getFrameForFunction, getFrameForNestedClass): New interface
260         to get frames for nested functions.
261         (functionNeedsChain): Return false for nested functions that
262         take closures.
264         * d-decls.cc: Changes for const/invariant/STCinit
266         * d-glue.cc: Use new interface for nested functions.  Use
267         IRState::var instead of v->toSymbol()->Stree.  Create
268         closures.
270         * d-lang.cc: Implement CONVERT_PARM_FOR_INLINING hook
272         * d-objfile.cc: Add case for closure-using function when
273         setting the link-once attribute.
275         * package/simple.sh: install .../include/d2
277         * patch-build_gcc-4.0, patch-build_gcc-5465: Support D 2.0
278         includes and libraries.
280         * phobos2/std/bitmanip.d: Apply previous bitarray.d changes.
282         * phobos*/std/typeinfo/ti_ptr.d (getHash): Cast to hash_t.
284         * d-decls.cc (VarDeclaration::toSymbol): For D 2.0, use
285         isInvariant() and STCinit as criteria for making CONST_DECLs and
286         setting TREE_READONLY.
288         * phobos2/std/c/linux/linux.d: Do not import std.c.dirent.
290         * phobos2/std/c/dirent.d: Deprecated std.c.dirent.
292         * phobos2/std/c/unix/unix.d: Move dirent/DIR routines here.
294         * phobos*/std/c/darwin/ldblcompat.d: declare constants as 'string'
296         Merge DMD 2.008:
298         * dmd2/..., phobos2/...: Merge.
300         Merge DMD 1.024:
302         * phobos*/config/unix.x3: ensure MSG_NOSIGNAL is defined
304         * dmd/..., phobos/...: Merge.
306         ------
308         * patch-apple-gcc-4.0.x, patch-apple-gcc-5465: Include patch
309         for SRA pass like the other 4.x patches.
311         * d-codegen.cc (convertTo): Ensure pointers are cast to an
312         unsigned type.
314         * d-objfile.cc (dt2tree_list_of_elems): Always generate a
315         CONSTRUCTOR for struct data.
316         (ObjectFile::ObjectFile): Use NULL_TREE for file context instead
317         of TRANSLATION_UNIT_DECL.
319         * d-lang.cc (d_write_global_declarations): Call
320         debug_hooks->global_decl before cgraph_optimize so that nested
321         class functions do not get passed to dwarf2out before the
322         outer class functions.
324         * Rename patch-build_gcc-4.0 to patch-build_gcc-4.0.x
327 Copyright (C) 2008 Free Software Foundation, Inc.
329 Copying and distribution of this file, with or without modification,
330 are permitted in any medium without royalty provided the copyright
331 notice and this notice are preserved.