Allow returning something of type void in a function that returns void
[delight/core.git] / ChangeLog
blob2bd23275c973816946444aaf72d4ad511fd46b8c
1 2008-07-21  David Friedman  <David Friedman>
3         * dmd/root.c, dmd2/root.c: Fix earlier patching error.
4         
5         * phobos/config/x3.c, phobos2/config/x3.c: Fix problem when
6         building under MSYS.
8         * config-lang.in: Remove lang_requires.
10 2008-07-20  David Friedman  <David Friedman>
12         * dmd/expression.c, dmd2/expression.c: Make integer conversion 
13         fix work for other hosts/targets.
15 2008-07-20  Arthur Loiret  <arthur.loiret@u-psud.fr>
17         * dmd/expression.c: Fix integer conversion routines on x86_64.
18         Patch from downs <default_357-line@yahoo.de>, thanks!
19         * dmd2/expression.c: Likewise.
21         * config-lang.in: Add lang_requires="c c++".
23 2008-07-19  David Friedman  <David Friedman>
25         * patches/patch-gcc-4.0.x, patches/patch-gcc-4.1.x: Fix infinite
26         loop bug in patch.
27         * patches/patch-apple-gcc-4.0.x: Ditto.
29         * d-lang.cc: Do not assume D_OS_VERSYM is defined.
30         Handle TARGET_xxx_CPP_BUILTINS macros for more targets.
32 2008-07-17  David Friedman  <dvdfrdmn@users.sf.net>
34         * dmd-script: Append an exe suffix to executables when the
35         target is Windows.
37         * phobos/gcc/deh.d, phobos2/gcc/deh.d: Fix for sjlj exceptions.
39 2008-06-16  David Friedman  <dvdfrdmn@users.sf.net>
41         * d-decls.cc: Correct logic for output constanting vars for V1.
43 2008-06-01  David Friedman  <dvdfrdmn@users.sf.net>
45         Merge DMD.1.30 and 2.014
47         * dmd-script: Implement -man, -lib and single-object features.
49         * phobos2/Makefile.am: add bigint
51         * phobos2/config/{ldfuncs,ldfuncs-darwin,ldfuncs-ppclinux,noldfuncs},
52         Merge nanl change from std/c/math.d
53         
54         * phobos2/gcc/support.d: Merge std/c/math.d changes.
56         * d-objfile.cc (obj_append): Implement.
57         * phobos2/std/c/unix/unix.d: Merge linux.d and socket.d changes
59         * d-glue.cc, d-irstate.cc, d-lang.cc: Update
61         * dmd/..., dmd2/..., phbobos/..., phobos2/...: Merge
63 2008-05-26  David Friedman  <dvdfrdmn@users.sf.net>
65         * asmstmt.cc, d-decls.cc, d-glue.cc, d-misc.c, d-objfile.{cc, h}:
66         Fix for -combine compilation.  Remove fileContext global and clean
67         up generation of unique symbol names.
69         * phobos/internal/object.d: Correct merge error
70         
71         ----
73         * dmd-script, lang.opt, d-lang.cc, : support -ignore
75         Merge DMD 1.029 and 2.013
76         
77         * phobos2/std/perf.d: use std.c.unix.unix
79 2008-05-22  Arthur Loiret  <arthur.loiret@u-psud.fr>
81         * target-ver-syms.sh: Add missing CPUs and fix
82         d_cpu_versym/d_cpu_versym64 for each.
84         * d-lang.cc: Fix build on non biarched 64-bit archs (alpha, ia64, ...)
85         and fix 64-bit cpu detection.
87         * Move patch-* to patches/
88         * setup-gcc.sh: Update.
90 2008-05-10  David Friedman  <dvdfrdmn@users.sf.net>
92         * lang-specs.h: Support a "cc1d" spec. (Bugzilla 2068)
94         Merge DMD 1.028 and 2.012
96         * d-codegen.{h,cc}: Add postblitting array libcalls.
98         * phobos2/internal/arrayassign.d
99         (_d_arraysetassign, _d_arraysetctor): Use size_t.
101         * d-glue.cc (AssignExp::toElem): Postblit-aware code
103         * phobos2/Makefile.am: Add arrayssign.d. Remove math2.d.
105         * dmd/..., dmd2/..., phbobos/..., phobos2/...: Merge
107 2008-05-03  David Friedman  <dvdfrdmn@users.sf.net>
109         * d-dmd-gcc.h, d-glue.cc, dmd*/toobj.c: Cleanup: Remove unused
110         d_gcc_aggregate_dtors.
112 2008-05-02  David Friedman  <dvdfrdmn@users.sf.net>
114         Merge DMD 1.027 and 2.011
116         * termios.d: Point to std.c.unix.unix.  Leave original
117         termios.d as termios.d.orig-dmd
119         * asmstsmt.cc: Implement blockExit
120         
121         * phobos2/config/unix.x3: Add termios stuff
123         * phobos2/std/c/unix/unix.d: Merge new funcs from std.c.linux.d
125         * d-objfile.cc: Implement stub obj_startaddress
127         * d-glue.cc (ForStatement::toIR): condition may be NULL
128         (DeleteExp::toIR): Use libcalls for interfaces
130         * dmd*/clone.c, dmd*/e2ir.c: New files.
132         * Make-lang.in: Add new clone.c
134         * d-codegen.{h, cc}, d-glue.cc: Use _d_callinterfacefinalizer.
135         Also use _d_delinterface instead of casting.
137         * dmd/..., dmd2/..., phbobos/..., phobos2/...: Merge
138         
139 2008-04-27  David Friedman  <dvdfrdmn@users.sf.net>
141         Merge DMD 1.026 and 2.010
143         * dmd/..., dmd2/..., phbobos/..., phobos2/...: Merge
145         ---
147         * d-lang.cc (d_write_global_declarations): Make earlier change
148         regarding cgraph_optimize only apply to 4.0.x.
150         ---
152         * d-decls.cc (VarDeclartion::toSymbol): Change for
153         V2 STCmanifest.  Make more constant vars have
154         static storage (instead of making CONST_DECLs) in
155         both V1 and V2.
157         * dmd2/constfold.c (Cmp): Compare wchar and dchar
158         strings portably.
160         * asmstmt.cc (ExtAsmStatement::semantic): Heuristic
161         for evaluating operands:  If an input operand, evaluate.
163         * d-asm-i386.h: Make previous change apply to V1.
165         * d-glue.cc (TypeEnum::toCtype): Update.
167         Phobos changes (applies to V2 Phobos as well):
168         
169         * phobos/Makefile.am, phobos/configure.in:
170         Deal with strerror_r portability.
172         * phobos/Makefile.in, phobos/configure, phobos/config.h.in:
173         Updated.
174         
175         * phobos/gcc/cbridge_strerror.c: New file.
177         * phobos/std/c/string.d: Replace non-portable strerror_r with
178         _d_gnu_cbridge_strerror.
180         * phobos/std/file.d, phobos/std/loader.d, phobos/std/process.d,
181         phobos/std/socket.d, phobos/std/stdio.d: Use
182         _d_gnu_cbridge_strerror.
184         Merge DMD 2.009:
186         * dmd2/..., phobos2/...: Merge.
188         Merge DMD 1.025:
190         * dmd/..., phobos/...: Merge.
192 2008-04-25  David Friedman  <dvdfrdmn@users.sf.net>
194         * asmstmt.cc, d-asm-i386.h: Handle some other cases
195         for constant floating point operands.
197 2008-04-19  David Friedman  <dvdfrdmn@users.sf.net>
199         * dmd/toobj.c, dmd2/toobj.c (EnumDeclaration::toObjFile):
200         Output initializer correctly.
202         * d-decls.cc (EnumDeclaration::toInitializer): Correctly
203         set up initializer symbol. (Bugzilla 1746)
205 2008-04-17  David Friedman  <dvdfrdmn@users.sf.net>
207         * dmd/toobj.c (InterfaceDeclaration::toObjFile): Fix error.
208         (Bugzilla 1844)
210 2008-04-16  David Friedman  <dvdfrdmn@users.sf.net>
212         * d-codegen.{h, cc}: Clean up nested function / nested class /
213         closure code.
215         * phobos/std/c/stdlib.d, phobos2/...: Remove comment that hides
216         atof. (Bugzilla 1888)
218 2008-03-11  David Friedman  <dvdfrdmn@users.sf.net>
220         * d-glue.cc: cleanup
221         
222         * dmd/expression.c (DotVarExp::semantic): Apply fix from dmd2/
224         * dmd2/expression.c (DotVarExp::semantic): Move fix to
225         better location.
227 2008-03-09  David Friedman  <dvdfrdmn@users.sf.net>
229         * dmd2/func.c (FuncDeclaration::needsClosure): Closures fix:
230         Change test from isVirtual to isThis.
232         * dmd2/expression.c (DotVarExp::semantic): Note change from DMD.
234         ----
236         * patch-build_gcc-5465: Correctly build driver-driver
238         * phobos*/Makefile.am (MAIN_OBJS): Add std/cover.o
240         * phobos2/std/file.d: use 'mkdir -p' in unittest
242         * d-builtins2.cc: Fixes for pointer-to-function types (for V2)
244         * d-codegen.cc: Add _d_allocmemory libcall. 
245         (emitLocalVar): Rework.
246         (var): New function to handle static-frame/closure variables
247         (convertTo): Use typesSame instead of typesCompatible
248         (assignValue): New function to handle Exp(v=value) vs. Exp(value)
249         (getFrameForFunction, getFrameForNestedClass): New interface
250         to get frames for nested functions.
251         (functionNeedsChain): Return false for nested functions that
252         take closures.
254         * d-decls.cc: Changes for const/invariant/STCinit
256         * d-glue.cc: Use new interface for nested functions.  Use
257         IRState::var instead of v->toSymbol()->Stree.  Create
258         closures.
260         * d-lang.cc: Implement CONVERT_PARM_FOR_INLINING hook
262         * d-objfile.cc: Add case for closure-using function when
263         setting the link-once attribute.
265         * package/simple.sh: install .../include/d2
267         * patch-build_gcc-4.0, patch-build_gcc-5465: Support D 2.0
268         includes and libraries.
270         * phobos2/std/bitmanip.d: Apply previous bitarray.d changes.
272         * phobos*/std/typeinfo/ti_ptr.d (getHash): Cast to hash_t.
274         * d-decls.cc (VarDeclaration::toSymbol): For D 2.0, use
275         isInvariant() and STCinit as criteria for making CONST_DECLs and
276         setting TREE_READONLY.
278         * phobos2/std/c/linux/linux.d: Do not import std.c.dirent.
279         
280         * phobos2/std/c/dirent.d: Deprecated std.c.dirent.
281         
282         * phobos2/std/c/unix/unix.d: Move dirent/DIR routines here.
284         * phobos*/std/c/darwin/ldblcompat.d: declare constants as 'string'
286         Merge DMD 2.008:
288         * dmd2/..., phobos2/...: Merge.
290         Merge DMD 1.024:
292         * phobos*/config/unix.x3: ensure MSG_NOSIGNAL is defined
294         * dmd/..., phobos/...: Merge.
296         ------
298         * patch-apple-gcc-4.0.x, patch-apple-gcc-5465: Include patch
299         for SRA pass like the other 4.x patches.
301         * d-codegen.cc (convertTo): Ensure pointers are cast to an
302         unsigned type.
304         * d-objfile.cc (dt2tree_list_of_elems): Always generate a
305         CONSTRUCTOR for struct data.
306         (ObjectFile::ObjectFile): Use NULL_TREE for file context instead
307         of TRANSLATION_UNIT_DECL.
309         * d-lang.cc (d_write_global_declarations): Call
310         debug_hooks->global_decl before cgraph_optimize so that nested
311         class functions do not get passed to dwarf2out before the
312         outer class functions.
314         * Rename patch-build_gcc-4.0 to patch-build_gcc-4.0.x
316 2007-12-15  David Friedman  <dvdfrdmn@users.sf.net>
318         * phobos*/Makefile.{am,in}, phobos*/aclocal.m4: Automake changes
320         * setup-gcc.sh: Support Apple GCC build 5465
322         * patch-apple-gcc-5465, patch-build_gcc-5465, patch-toplev-5465:
323         new files
325 2007-12-01  David Friedman  <dvdfrdmn@users.sf.net>
327         * phobos/config/unix.x3, phobos/config/x3.c, phobos/config/x3.h
328         phobos/config/x3, phobos/config/x3main.c: better diagnostics
329         and behavior
330         
331 2007-11-24  David Friedman  <dvdfrdmn@users.sf.net>
333         * setup-gcc.sh: Ignore .svn directories when making symlink trees.
335         * d-bi-attrs-34.h, d-bi-attrs-341.h, d-bi-attrs-40,h,
336         d-bi-attrs-41.h: Support attributes on declarations in
337         other modules.
339         * d-codegen.cc (IRState::attributes): Support constant declarations
340         as string arguments.
342 2007-11-08  David Friedman  <dvdfrdmn@users.sf.net>
344         * d-cppmngl.cc: Use base-36 in substitutions.  Other fixes.
346 2007-10-17  David Friedman  <dvdfrdmn@users.sf.net>
348         * d-cppmngl.cc: More C++ mangling fixes and cleanups.
350 2007-10-16  David Friedman  <dvdfrdmn@users.sf.net>
352         * d-glue.cc (EqualExp::toElem): Convert result to libcall
353         to expression type. (Bugzilla 1573)
355 2007-10-15  David Friedman  <dvdfrdmn@users.sf.net>
357         * d-cppmngl.cc: Improve C++ mangling.
359 2007-10-14  David Friedman  <dvdfrdmn@users.sf.net>
361         Merge DMD 1.022, 2.005
363         * dmd/..., dmd2/..., phobos/..., phobos2/...: Merge.
365         * Make-lang.in: Add builtin.dmd.o and d-cppmngl.o for V2.
367         * d-cppmngl.cc: New file
369         * phobos/std/c/dirent.d, phobos/std/c/linux/linux.d: Update
370         * phobs2/...: same
372         * symbol.h, d-decls.cc: Remove references to Classym
374         ----
376         * d-glue.cc (CatExp::toElem): Null check. (Bugzilla 1581)
378         Remove carriage returns from files
380 2007-10-13  David Friedman  <dvdfrdmn@users.sf.net>
382         * d-glue.cc (CatExp::toElem): Flatten multiple CatExps into a
383         single library call. (Bugzilla 1556)
385         * phobos/std/boxer.d (box, boxArray), phobos2/...: Fix for
386         promoted types. (Bugzilla 1543)
388         * d-codegen.cc (call): Catch a case in which a member function can
389         be called without 'this'. (Bugzilla 1568)
391         * dmd/mtype.c (TypeArray::dotExp): Correct return type of
392         sort and reverse functions. (SF 1809220 / Bugzilla 1554)
394         * dmd2/mtype.c: Ditto.
396         * patch-gcc-4.1.x: Add patch for ARM exception handling int nested
397         functions.
399         * d-objfile.cc: Make DT data TREE_CONSTANT
401         * dmd2/optimize.c: Fix for infinite recursion on initializer
402         when an error has already occurred.
404         -----
406         Add support for ARM EABI.  Fix some missing items from
407         cross-compilation changes.
409         * d-lang.cc: Add "Arm" and "Thumb" version identifiers
411         * phobos/unwind.d: Move pointer encoding to deh_pe.d. Move generic
412         unwinder interface to unwind_generic.d.  Import either generic or
413         ARM interfaces based on config value.
414         
415         * phobos/unwind_generic.d, phobos/unwind_pe.d: New file; old code.
416         
417         * phobos/unwind_arm.d: New file.
419         * phobos/deh.d: Support ARM exception handling ABI.
421         * phobos/configure.in, frag-ac.in: Add config for ARM unwinder
423         * phobos/configure.in, phobos/internal.c, phobos/monitor.c: Support
424         "no system" targets.
426         * phobos/cbridge_math.c: Correct identifier names for earlier
427         changes.
429         * phobos/Makefile.am, phobos/Makefile.in, phobos/config.h.in,
430         phobos/configure : Update.
431         
432         * phobos2/...: Duplicate phobos/ changes
434 2007-10-07  David Friedman  <dvdfrdmn@users.sf.net>
436         Merge cross-compilation changes to phobos2
438         * phobos2/....: Merge
440         ---
442         Enhance cross-compilation support:
444         * phobos/Makefile.am, phobos/Makefile.in, phobos/acinclude.m4,
445         phobos/aclocal.m4, phobos/configure.in, phobos/configure,
446         phobos/config.h.in: Replace "fragment generation" with "X3"
447         system.  Remove obsolete tests.
449         * phobos/config/{config-head, config-mid, config-tail}: Removed
450         * phobos/config/{makestruct.h, unix-head, unix-mid}: Removed
451         * phobos/{darwin8, mingw, skyos}: Removed
453         * phobos/config/{errno.x3, fpcls.x3, libc.x3, unix.x3},
454         phobos/config{x3, x3.c, x3.h, x3main.c}:  New files
456         * phobos/frag-ac.in: Now only contains boolean constants.
457         * phobos/frag-math.in: New file.  Contains old configured math
458         functions.
460         * phobos/gcc/configext.d: Removed
461         * phobos/gcc/support.d: Move fallback strtold definition here.
462         
463         * phobos/Makefile.am: Do not compile std/c/stdio.o
464         * phobos/std/c/stdio.c: Change function definitions to external
465         declarations.
467         * phobos/gcc/deh.d, phobos/gcc/fpcls.d, phobos/gcc/fpmath.d,
468         phobos/gcc/support.d, phobos/gcc/threadsem.d,
469         phobos/internal/dgccmain2.d, phobos/internal/fpmath.d,
470         phobos/internal/gc/gcgcc.d, phobos/phobos-ver-syms.in,
471         phobos/std/c/dirent.d, phobos/std/c/math.d, phobos/std/c/stddef.d,
472         phobos/std/c/stdio.d, phobos/std/c/stdlib.d, phobos/std/c/time.d,
473         phobos/std/c/unix/unix.d, phobos/std/date.d, phobos/std/math.d,
474         phobos/std/math2.d, phobos/std/mmfile.d, phobos/std/random.d,
475         phobos/std/stdio.d, phobos/std/stream.d, phobos/std/system.d,
476         phobos/std/thread.d: Update.  Add some support for targets
477         withouth an operation system.
479 2007-09-24  David Friedman  <dvdfrdmn@users.sf.net>
481         * d-glue.cc (IndeExp::toElem), d-codegen.cc (arrayElemRef):
482         Put the BIND_EXPR "inside the brackets". (Bugzilla 1155)
484         (StructLiteralExp::toElem): Handle NULL elements (for anonymous
485         unions.)
487 2007-09-23  David Friedman  <dvdfrdmn@users.sf.net>
489         * d-codegen.{h,cc}, d-glue.cc: Add type to error_mark_node
490         for code that assumes the type of certain expressions.
491         (Bugzilla 1051)
493         * d-glue.cc (FuncDeclaration::toObjFile): Set DECL_IGNORED_P
494         on the frame paramter.  (Bugzilla 1033)
496         * d-glue.cc, d-codegen.cc, d-objfile.cc: Set DECL_IGNORED_P
497         in most cases where DECL_ARTIFICIAL is set.
499         * d-builtins2.cc (d_gcc_magic_builtins_module): Handle type
500         declarations after converting functions.
502         * d-glue.cc (make_assign_math_op): Special case for division
503         when lhs is imaginary. (Bugzilla 739)
505         * dmd-script: Apply Ander's patch for implicit -H and -D
506         behavior.  (Bugzilla 1502)
508         Use of -of argument does not depend on header generation.
509         (Bugzilla 1501)
511         * d-builtins2.cc,  dmd*/module.c: If the target va_list is a
512         struct, add the struct declaration to the object module.
513         (Bugzilla 1507)
515         * dmd2/parse.c: fix line endings
517         ----
519         Update for D 2.0:
521         * Make-lang.in: Support both DMD front end version 1 and 2.
522         Replace gcc-mars.cc with  d/mars.c.
524         * gcc-mars.cc: Remove file.
526         * d-codegen.h, d-codegen.cc: Update for DMD 2.x.
527         Add _d_hidden_func libcall.
529         * d-decls.cc, d-glue.cc: Update for DMD 2.x.
531         * d-dmd-gcc.h: Add rtlsym, etc.
533         * d-lange.cc: Include mars.h.  Implement rtlsym.
535         * d-objfile.cc (ObjectFile::hasModule): Add checks to allow
536         this function to be called earlier.
537         
538         * dmd*/mars.c: Make changes for GDC.
540         * dmd*/attrib.c: Use WANTinterpret for pragma(GNU_asm)
542         * dmd2/parse.c (parseDeclarator): Fix aliasing bug.
544         * rdmd.d: Update for D 2.0
546         * gdc-version: now only contains the GDC version
548         * setup-gcc.sh: Support building D version 1 or 2.  Take DMD
549         version from dmd*/mars.c.
551         * dmd2/, phobos2/: New directories
553         * phobos2/Makefile.am (MAIN_OBJS): add std.c.stdio module
554         for std{in,out,err} vars
556         * phobos*/std/c/stdio.d: Make functions with definitions
557         extern(D).
559         * phobos2/std/loader.d: Update for D 2.0.
561         * phobos2/std/hiddenfunc.d: Use C calling conventions for GDC.
562         
563 2007-09-14  David Friedman  <dvdfrdmn@users.sf.net>
566         * d-codegen.cc (convertTo, call): Prevent multiple re-evaluation
567         of delgate. (Bugzilla 1492)
569 2007-09-13  David Friedman  <dvdfrdmn@users.sf.net>
571         * d-glue.cc, d-codegen.h, d-codegen.cc: Make it an error
572         to reference a nested function without a body. (SF 1793594)
574 2007-09-12  David Friedman  <dvdfrdmn@users.sf.net>
576         * phobos/config/ldfuncs-ppclinux: Declare sqrt.
578         * target-ver-syms.sh, phobos/acinclude.m4, phobos/configure.in:
579         Support kfreebsd.
581         * d-codegen.{h, cc}, d-glue.cc: Change rawArray to toDArray. Do
582         not cast result to void[]. (Bugzilla 1490)
584 2007-09-07  David Friedman  <dvdfrdmn@users.sf.net>
586         * phobos/std/c/stdio.d: Define fpos_t correctly for Drawin
587         (Bugzilla 1469)
589 2007-09-05  David Friedman  <dvdfrdmn@users.sf.net>
591         Merge DMD 1.021
593         * dmd-script, d-spec.c (lang_specific_driver): Support
594         -debuglib= and -defaultlib= options.
596         * dmd/cast.c, dmd/constfold.c, dmd/declaration.c, dmd/dsymbol.c,
597         dmd/expression.c, dmd/expression.h, dmd/func.c, dmd/identifier.c,
598         dmd/idgen.c, dmd/init.c, dmd/init.h, dmd/interpret.c, dmd/lexer.c,
599         dmd/lexer.h, dmd/link.c, dmd/mars.c, dmd/mars.h, dmd/parse.c,
600         dmd/statement.c, dmd/staticassert.c, dmd/template.c: Merge
602         * internal/object.d, phobos/internal/trace.d, phobos/object.d,
603         phobos/std/c/windows/windows.d, phobos/std/date.d,
604         phobos/std/regexp.d, phobos/std/windows/registry.d: Merge
606         ---
608         * phobos/std/stdio.d (readln): Use the result of getdelim
609         correctly. (SF 1788195)
611         * d-glue.cc (FuncDeclaration::toObjFile): Do not gimplify if
612         there were errors (Bugzilla 1415)
614 2007-08-31  David Friedman  <dvdfrdmn@users.sf.net>
616         * d-objfile.cc (outdata): Do not set TREE_CONSTANT on initializers
617         (Bugzilla 1453)
619 2007-08-29  David Friedman  <dvdfrdmn@users.sf.net>
621         * d-decls.cc (uniqueName): Allow multiple static declaration with
622         the same name if in a function. (SF 1783085)
624 2007-08-28  David Friedman  <dvdfrdmn@users.sf.net>
626         * d-codegen.cc (call): Use CommaExp correctly. (Bugzilla 1443)
628         * dmd/todt.c (createTsarrayDt): Don't take quadratic time to build
629         the initializer. (Bugzilla 1440)
631 2007-08-22  David Friedman  <dvdfrdmn@users.sf.net>
633         Release GDC 0.24
635         ---
637         * rdmd.d: Fix for Windows
639 2007-08-21  David Friedman  <dvdfrdmn@users.sf.net>
641         * GDC.html, History, README, gcc-mars.cc, gdc-version:
642         Update for 0.24
644         * rdmd.d, rdmd.1: New files. (Bugzilla 1152)
646         * patch-build_gcc-4.0: Build universal rdmd. (Bugzilla 1152)
648         * package/simple.sh: Install rdmd. (Bugzilla 1152)
649         Install man pages for MacOS build.
651         * dmd-script: Apply Ander's patch to make -op apply
652         to interface files. (Bugzilla 1137)
654         * d-lang.cc (d_parse_file): In -fall-sources mode,
655         only generate an interface file for the -fonly module.
657         * phobos/internal/adi.d (_adReverseChar, _adReverseWchar):
658         Make sure stride difference is signed.
660 2007-08-20  David Friedman  <dvdfrdmn@users.sf.net>
662         * patch-gcc-4.1.x, patch-gcc-4.0.x: Fix botched patches.
664 2007-08-05  David Friedman  <dvdfrdmn@users.sf.net>
666         * d-codegen.cc (convertForArgument): Recognize
667         pointer arithmetic expression as reference.
668         (Bugzilla 1400)
670         * d-glue.cc (DotVarExp::toElem): Do not NOP_EXPR
671         the result. (Bugzilla 1398)
673 2007-07-27  David Friedman  <dvdfrdmn@users.sf.net>
675         * phobos/std/stdio: Fix breakage from last commit.
676         (SF 1761989)
678 2007-07-26  David Friedman  <dvdfrdmn@users.sf.net>
680         * phobos/std/c/stdio.d: Change import for gcc.config
682         * d-lang.cc: add flag_iso for target macros
684         * patch-gcc-4.0.x:  (gcc/tree-sra.c): Do not use SRA
685         on structs with aliased fields created for anonymous
686         unions.  (Followup to Bugzilla 1034)
688 2007-07-25  David Friedman  <dvdfrdmn@users.sf.net>
690         * d-lang.cc: implement d_gcc_is_target_win32
692         * dmd/parse.c (parseLinkage): use d_gcc_is_target_win32
694         * d-dmd-gcc.h (d_gcc_is_target_win32): added
696 2007-07-24  David Friedman  <dvdfrdmn@users.sf.net>
698         Merge DMD 1.019 - 1.020
700         * dmd/attrib.c, dmd/cast.c, dmd/constfold.c, dmd/declaration.h,
701         dmd/expression.c, dmd/expression.h, dmd/func.c, dmd/idgen.c,
702         dmd/inline.c, dmd/interpret.c, dmd/mars.c, dmd/mars.h,
703         dmd/mtype.c, dmd/mtype.h, dmd/opover.c, dmd/parse.c,
704         dmd/template.c, dmd/template.h, dmd/tocsym.c, dmd/toir.c: Merge
706         * phobos/internal/gc/gc.d, phobos/linux.mak,
707         phobos/std/demangle.d, phobos/std/format.d, phobos/std/loader.d,
708         phobos/std/socket.d, phobos/std/uni.d: Merge
710 2007-07-22  David Friedman  <dvdfrdmn@users.sf.net>
711         
712         Merge DMD 1.015 - 1.018:
714         * dmd/lexer.c (escapeSequence): Change vendor string.
716         * dmd-script: Update documentation link
718         * dmd/attrib.c, dmd/cast.c, dmd/class.c, dmd/declaration.c,
719         dmd/dsymbol.c, dmd/expression.c, dmd/expression.h, dmd/func.c,
720         dmd/hdrgen.h, dmd/idgen.c, dmd/init.c, dmd/init.h, dmd/inline.c,
721         dmd/interpret.c, dmd/lexer.c, dmd/mars.c, dmd/mars.h,
722         dmd/module.c, dmd/mtype.c, dmd/mtype.h, dmd/optimize.c,
723         dmd/parse.c, dmd/scope.c, dmd/scope.h, dmd/statement.c,
724         dmd/statement.h, dmd/staticassert.c, dmd/template.c: Merge
726         * phobos/internal/dmain2.d, phobos/internal/gc/gcx.d,
727         phobos/internal/object.d, phobos/object.d, phobos/std/bind.d,
728         phobos/std/compiler.d, phobos/std/date.d, phobos/std/dateparse.d,
729         phobos/std/format.d, phobos/std/intrinsic.d, phobos/std/loader.d,
730         phobos/std/math2.d, phobos/std/metastrings.d, phobos/std/mmfile.d,
731         phobos/std/outbuffer.d, phobos/std/string.d,
732         phobos/std/windows/registry.d, phobos/win32.mak: Merge
734         ----
736         * gdc_alloca.h: Support OpenBSD. (Bugzilla 1065)
738         * patch-gcc-4.1.x (gcc/tree-sra.c): Do not use SRA
739         on structs with aliased fields created for anonymous
740         unions.  (Bugzilla 1034)
742 2007-07-19  David Friedman  <dvdfrdmn@users.sf.net>
744         * patch-gcc-4.1.x (gcc/predict.c): Add null-pointer check.
745         (Bugzilla 1035)
747         ---
749         * phobos/std/format.d (doFormatPtr): Fix accidental
750         reversion from DMD merge.
752         * d-codegen.cc (maybeSetUpBuiltin): Add some missing
753         instrinsics.
755         * phobos/Makefile.am (MAIN_OBJS): Add gcc.builtins
756         module to get built-instruct initializers.
758         * phobos/Makefile.in: Regenerated
760         * d-lang.cc (d_parse_file): Call d_gcc_magic_module
761         for each module on the command line.
763         * d-builtins2.cc (d_gcc_magic_builtins_module): output
764         declaration other than funcs
766 2007-07-16  David Friedman  <dvdfrdmn@users.sf.net>
768         * dmd/todt.c (StructLiteralExp::toDt): Use target_size_t
769         as in StructInitializer::toDt.
771         Bugzilla 1032:
772         
773         * dmd/todt.c: Use DT_container for arrays, array elements,
774         and structs
776         * dt.h, d-objfile.cc: Add DT_container / dtcontainer
778 2007-07-14  David Friedman  <dvdfrdmn@users.sf.net>
780         * d-codegen.cc (ArrayScope::setArrayExp, finish): Handle
781         constant lengths.  (Bugzilla 1031)
783 2007-07-13  David Friedman  <dvdfrdmn@users.sf.net>
785         * d-codegen.cc (toElemLvalue): Use toElemLvalue recursively.
786         (Bugzilla 1191)
788         * d-codegen.cc (twoFieldCtor): Only set TREE_READONLY if
789         TREE_CONSTANT
791         * d-glue.cc (array_set_expr, AssocArrayLiteralExp::toElem,
792         (StructLiteralExp::toElem, NullExp::toElem):
793         Do not set TREE_READONLY.
795         * d-glue.cc (NewExp::toElem): Do not set TREE_READONLY on
796         new array dimensions.
798         * d-codegen.cc (darrayVal): Do not set TREE_READONLY.
799         (Bugzilla 1329)
800         
801         (delegateVal): ditto
803         * d-codegen.cc (FieldVisitor::visit): Handle classes that
804         are forward references. (Bugzilla 1325)
806         * dmd-script: Pass -J option correctly. (SF 1721435)
808         * d-glue.cc (DeleteExp::toElem): Handle interfaces.
809         (SF 1721496)
811         * d-decls.cc (VarDeclaration::toSymbol): Handle void initializer.
812         (SF 1749622)
814         * d-glue.cc (AndAndExp, OrOrExp): Handle void second expression.
815         (SF 1689634)
817         * phobos/gcc/cbridge_time.c (_d_gnu_cbridge_tza): Remove
818         daylight saving time offset from tm_gmtoff (Bugzilla 1208)
820         * phobos/std/format.d (doFormat): Use original signature.  Actual
821         work is done by new doFormatPtr. (Bugzilla 1109)
822         
823         * phobos/std/boxer.d: Use doFormatPtr
825 2007-07-11  David Friedman  <dvdfrdmn@users.sf.net>
827         * d-convert.cc (default_conversion): make public
828         (SF 1711324 and 1709602)
830         * d-apple-gcc.c (build_function_call): re-enable some code
832 2007-05-08  David Friedman  <dvdfrdmn@users.sf.net>
834         * d-apple-gcc.c: Remove a variable that is now defined in d-lang.c
836         * d-lang.cc: Fix for other GCC versions.
838         * d-c-stubs.c: New file.
840         * Make-lang.in (D_BORROWED_C_OBJS): Always use C_TARGET_OBJS.  Add
841         stubs for C compiler to allow linking target-specific preprocessor
842         defines.
844 2007-05-05  David Friedman  <dvdfrdmn@users.sf.net>
846         * d-codegen.cc (hwi2toli, getTargetSizeConst): Fix 2x wide int to
847         long int conversion.
849         * dmd/cast.c (implicitConvTo): Use GCC floating point
850         routines instead of native.
852         * d-gcc-real.cc (toInt): Correctly convert to long integer
853         
854         * Make-lang.in (D_DMD_H): Add d/d-gcc-real.h
856         * phobos/internal/dgccmain2.d: Print newline after error message
858 2007-04-29  David Friedman  <dvdfrdmn@users.sf.net>
860         Merge DMD 1.014:
862         * dmd/aggregate.h, dmd/constfold.c, dmd/delegatize.c, dmd/enum.c,
863         dmd/enum.h, dmd/expression.c, dmd/expression.h, dmd/idgen.c,
864         dmd/inline.c, dmd/interpret.c, dmd/lexer.c, dmd/lexer.h,
865         dmd/mars.c, dmd/mtype.c, dmd/optimize.c, dmd/struct.c,
866         dmd/template.c, dmd/tocsym.c, dmd/todt.c, dmd/toobj.c,
867         dmd/typinf.c: Merge.
869         * phobos/internal/gc/gc.d, phobos/internal/gc/gcx.d,
870         phobos/std/format.d, phobos/std.ddoc: Merge.
872         * d-glue.d (StructLiteralExp::toElem): implement
873         * d-decls.d (EnumDeclaration::toInitializer): copy from tocsym.c
875         ------------
877         Merge DMD 1.013:
878         
879         * dmd/cast.c, dmd/constfold.c, dmd/declaration.c,
880         dmd/expression.c, dmd/expression.h, dmd/interpret.c, dmd/link.c,
881         dmd/mars.c, dmd/mtype.c, dmd/opover.c, dmd/optimize.c,
882         dmd/parse.c, dmd/port.h, dmd/statement.c: Merge.
883         
884         * phobos/internal/aaA.d, phobos/internal/switch.d,
885         phobos/std/date.d, phobos/std/file.d, phobos/std/format: Merge.
887         * d-codegen.h, d-codegen.cc: add _d_assocarrayliteralTp
888         * d-glue.cc (AssocArrayLiteralExp::toElem): Implement.
890         * phobos/internal/aaA.d (_d_assocarrayliteralT): modified
891         to use pointers to keys, values.
892         
893         --------------
895         Merge DMD 1.012:
897         * arraytypes.h, dmd/declaration.c, dmd/delegatize.c,
898         dmd/expression.c, dmd/expression.h, dmd/init.c, dmd/init.h,
899         dmd/inline.c, dmd/interpret.c, dmd/lexer.c, dmd/lexer.h,
900         dmd/mangle.c, dmd/mars.c, dmd/optimize.c, dmd/template.c,
901         dmd/template.h: Merge
903         * phobos/internal/object.d: Merge
904         
905         * dmd/template.c (TemplateInstance::mangle): printf portability
907         * d-glue.cc (AssocArrayLiteralExp::toElem): non-working implementation
909 2007-04-28  David Friedman  <dvdfrdmn@users.sf.net>
911         Merge DMD 1.011:
913         * dmd/access.c, dmd/aggregate.h, dmd/arraytypes.h, dmd/attrib.c,
914         dmd/attrib.h, dmd/bit.c, dmd/cast.c, dmd/class.c, dmd/complex_t.h,
915         dmd/cond.c, dmd/cond.h, dmd/constfold.c, dmd/declaration.c,
916         dmd/declaration.h, dmd/delegatize.c, dmd/doc.c, dmd/doc.h,
917         dmd/dsymbol.c, dmd/dsymbol.h, dmd/dump.c, dmd/entity.c,
918         dmd/enum.c, dmd/enum.h, dmd/expression.c, dmd/expression.h,
919         dmd/func.c, dmd/hdrgen.c, dmd/hdrgen.h, dmd/html.c, dmd/html.h,
920         dmd/identifier.c, dmd/identifier.h, dmd/idgen.c, dmd/impcnvgen.c,
921         dmd/import.c, dmd/import.h, dmd/inifile.c, dmd/init.c, dmd/init.h,
922         dmd/inline.c, dmd/interpret.c, dmd/lexer.c, dmd/lexer.h,
923         dmd/link.c, dmd/macro.c, dmd/macro.h, dmd/mangle.c, dmd/mars.c,
924         dmd/mars.h, dmd/module.c, dmd/module.h, dmd/mtype.c, dmd/mtype.h,
925         dmd/opover.c, dmd/optimize.c, dmd/parse.c, dmd/parse.h,
926         dmd/scope.c, dmd/scope.h, dmd/statement.c, dmd/statement.h,
927         dmd/staticassert.c, dmd/staticassert.h, dmd/struct.c,
928         dmd/template.c, dmd/template.h, dmd/tocsym.c, dmd/todt.c,
929         dmd/toir.c, dmd/toir.h, dmd/toobj.c, dmd/total.h, dmd/typinf.c,
930         dmd/unialpha.c, dmd/utf.c, dmd/utf.h, dmd/version.c, dmd/version.h:
931         Merge
933         * phobos/internal/gc/gc.d, phobos/internal/gc/gcx.d,
934         phobos/internal/object.d, phobos/std/c/locale.d,
935         phobos/std/stdio.d, phobos/std/windows/registry.d: Merge
937         * dmd/expression.c: Comment out some logging code.
938         * d-builtins2.cc: Update and fix handling of built-in structs.
939         * d-codegen.cc, d-glue.cc: Update
941         ----------------
943         Merge DMD 1.010:
945         * dmd/aggregate.h, dmd/class.c, dmd/declaration.c, dmd/doc.c,
946         dmd/dsymbol.c, dmd/expression.c, dmd/expression.h, dmd/func.c,
947         dmd/interpret.c, dmd/mars.c, dmd/scope.c, dmd/statement.c,
948         dmd/template.c, dmd/template.h, dmd/todt.c: Merge.
950         * phobos/internal/dmain2.d, phobos/internal/gc/gc.d,
951         phobos/internal/gc/gcx.d, phobos/internal/gc/testgc.d,
952         phobos/internal/object.d, phobos/object.d,
953         phobos/std/c/linux/linux.d, phobos/std/c/stdio.d,
954         phobos/std/file.d, phobos/std/gc.d, phobos/std/moduleinit.d,
955         phobos/std/regexp.d, phobos/std/stdio.d, phobos/std/string.d,
956         phobos/std.ddoc, phobos/win32.mak: Merge
958         * dmd/mtype.c, phobos/internal/dgccmain2.d: Update.
959         * d-glue.cc (gcc_d_backend_init): Update.
961         * phobos/config/unix-mid, phobos/std/c/unix/unix.d: Moved dirent
962         and stdio definitions out of configunix to std.c.unix.unix because
963         of compilation problems.
965         * phobos/internal/gc/gcx.d (GC.realloc, GC.extend, GC.free): Clear
966         gcx.p_cache
968         * phobos/std/stdio.d, phobos/frag-ac.in, phobos/configure.in:
969           Account for various configurations.
971         * phobos/phobos-ver-syms.in: Remove GNU_Have_fwide
972         * phobos/configure: Regenerate
974 2007-04-22  David Friedman  <dvdfrdmn@users.sf.net>
976         * d-gcc-includes.h, d-lang.cc: Add target-specific preprocessor
977         symbols to the list of D version symbols.
979         * d-glue.cc (NewExp::toElem): Use NewExp::newtype (Bugzilla 1038)
981 2007-04-16  David Friedman  <dvdfrdmn@users.sf.net>
983         Merge DMD 1.009 (from 1.007):
985         * d-decls.c: Merge changes from dmd/tocsym.c
987         * dmd/constfold.c, dmd/declaration.c, dmd/declaration.h,
988         dmd/expression.c, dmd/expression.h, dmd/init.c, dmd/interpret.c,
989         dmd/mangle.c, dmd/mars.c, dmd/mars.h, dmd/mtype.c,
990         dmd/optimize.c, dmd/statement.c, dmd/staticassert.c,
991         dmd/tocsym.c, dmd/todt.c: Merge changes.
993         * phobos/std/path.d, phobos/std/string.d: Merge changes.
995         ----
997         * d-builtins.c, d-builtins2.cc, d-lang.h: Reworked code to only
998         convert built-in functions when the gcc.builtins module is
999         imported.  RECORD_TYPE is now converted to a TypeStruct.  Fixed
1000         problem that caused some functions to not be available.  Support
1001         targets builtins.
1003 2007-03-11  David Friedman  <dvdfrdmn@users.sf.net>
1005         * d-decls.cc (ClassDeclaration::toSymbol): Do not set TREE_READONLY.
1006         (Bugzilla 1037)
1008 2007-03-10  David Friedman  <dvdfrdmn@users.sf.net>
1010         * d-codegen.cc (call): Handle CommaExp form of a delegate call
1011         (Bugzilla 1043)
1013         * d-decls.cc (VarDeclaration::toSymbol): Partial fix for Bugzilla 1044
1015         * dt.h, d-objfile.cc, dmd/typeinf.c: Only pad 32-bit words in RTTI if
1016         needed. (Bugzilla 1045, 1046)
1017         * dmd/toobj.c: update
1019         * d-glue.cc, d-objfile.cc: Additional GCC 3.3.x cleanup
1021         ----
1023         * ChangeLog, History, Make-lang.in, asmstmt.cc, d-builtins.c,
1024         d-codegen.cc, d-convert.cc, d-decls.cc, d-gcc-includes.h,
1025         d-gcc-real.cc, d-glue.cc, d-gt.c, d-irstate.cc, d-lang.cc,
1026         d-lang.h, d-misc.c, d-objfile.cc, d-spec.c, phobos/configure.in,
1027         setup-gcc.sh: Remove support for GCC 3.3.x
1029         * phobos/configure: Regenerated
1031         * gcc-3.3.5-framework-headers.patch,
1032         gcc-3.3.5-framework-linker.patch, patch-gcc-3.3.x,
1033         patch-gcc-darwin-eh-3.3.x, patch-toplev-3.3.x,
1034         phobos/config/ldfuncs33, phobos/config/noldfuncs33,
1035         d-bi-attrs-33.h: Removed.
1036         
1037 2007-03-05  David Friedman  <dvdfrdmn@users.sf.net>
1039         Release GDC 0.23
1041         * phobos/Makefile.am: Add all-local target to build libgphobos.a
1042         * phobos/Makefile.in: Regenrated
1044         PowerPC 64 fixes:
1046         * d-glue.cc (TypeStruct:toCtype): Add words at the end of a struct.
1048         * phobos/config/darwin8/frag-unix: More accurate struct definitions.
1049         * phobos/internal/gc/gc_dyld.c: Support Mach-O 64.
1050         * phobos/internal/gc/gcgcc.d: Correct stack for 64-bit Darwin.
1051         * phobos/std/thread.d (getESP): Align result.
1053 2007-03-04  David Friedman  <dvdfrdmn@users.sf.net>
1055         Rest of DMD 1.007 Merge:
1057         * package/simple.sh: Install GDC.html
1059         * Make-lang.in (D_DMD_OBJS): add interpret.dmd.o
1061         * gdc-version: update
1063         * GDC.html, d-lang.cc, dmd-script, lang-specs.h, lang.opt,
1064         patch-gcc-4.0.x, patch-gcc-4.1.x, patch-apple-gcc-4.0.x,
1065         patch-gcc-3.4.x, patch-gcc-3.3.x: Add -J option.
1067         * dmd/constfold.d, dmd/declaration.h, dmd/func.c: update
1069         * d-glue.c: update
1071         Initial merge of DMD 1.007 (from DMD 1.005):
1073         * dmd/arraytypes.h, dmd/attrib.c, dmd/cond.c, dmd/constfold.c,
1074         dmd/declaration.c, dmd/declaration.h, dmd/expression.c,
1075         dmd/expression.h, dmd/func.c, dmd/idgen.c, dmd/init.c,
1076         dmd/lexer.c, dmd/lexer.h, dmd/mars.c, dmd/mars.h, dmd/module.c,
1077         dmd/mtype.c, dmd/opover.c, dmd/optimize.c, dmd/parse.c,
1078         dmd/parse.h, dmd/statement.c, dmd/statement.h, dmd/template.c,
1079         dmd/typinf.c: Merge
1081         * phobos/internal/aApply.d, phobos/internal/aApplyR.d,
1082         phobos/internal/adi.d, phobos/internal/dmain2.d,
1083         phobos/internal/gc/gc.d, phobos/internal/gc/gcx.d,
1084         phobos/internal/gc/win32.d, phobos/internal/object.d,
1085         phobos/std/base64.d, phobos/std/c/string.d, phobos/std/c/time.d,
1086         phobos/std/c/windows/com.d, phobos/std/c/windows/windows.d,
1087         phobos/std/dateparse.d, phobos/std/demangle.d, phobos/std/file.d,
1088         phobos/std/format.d, phobos/std/regexp.d, phobos/std/stdio.d,
1089         phobos/std/stream.d, phobos/std/string.d, phobos/std/thread.d,
1090         phobos/std/utf.d: Merge
1092         * dmd/interpret.c: New file
1094 2007-03-03  David Friedman  <dvdfrdmn@users.sf.net>
1096         * phobos/std/c/darwin/darwin.d: Remove. (Bugzilla 984)
1098         * phobos/std/date.d: Cleanup
1100         * d-lang.cc: Evaluate BYTES_BIG_ENDIAN at runtime.
1102         * d-codegen.cc: Cleanup.
1104         * d-glue.cc: Initialize foreach key with zero, not default init.
1106         * patch-gcc-4.0.x, patch-gcc-4.1.x, patch-apple-gcc-4.0.x:
1107         Prevent emission of prologue and epilogue code for naked functions.
1108         (Bugzilla 1013)
1110 2007-03-02  David Friedman  <dvdfrdmn@users.sf.net>
1112         * d-lang.cc: Test BYTES_BIG_ENDIAN at runtime.
1114         * d-glue.cc (ForeachStatement::toIR): Initialize key to zero, not
1115         defaultInit.
1117         * patch-build_gcc-4.0, phobos/acinclude.m4, phobos/configure.in,
1118         phobos/Makefile.am: Remove references to libgphobos.spec
1120         * phobos/Makefile.in, phobos/configure: Regenerate
1122         * patch-gcc-3.4.x, patch-gcc-3.3.x, patch-gcc-4.0.x,
1123         patch-gcc-4.1.x, patch-apple-gcc-4.0.x: Support enabling
1124         -pthread option by default without 'unrecognized option'
1125         error message.
1127         * d-spec.c (lang_specific_driver): Enable -pthread option
1129         * phobos/libgphobos.spec.in: Remove
1131 2007-02-28  David Friedman  <dvdfrdmn@users.sf.net>
1133         * phobos/std/loader.d: Fix error
1135 2007-02-27  David Friedman  <dvdfrdmn@users.sf.net>
1137         * setup-gcc.sh: Create directory of links instead of a single
1138         link.  No longer need to copy support files.
1140         * target-ver-syms.sh: Support targets with both 32-bit and
1141         64-bit modes.  Output preprocessor definitions instead of
1142         command line otions.
1144         * Make-lang.in: Put target-ver-syms.sh output in d-confdefs.h.
1146         * package/simple.sh: Handle multilib.
1147         
1148         * phobos/configure.in: Use Automake, multilib.
1149         * phobos/Makefile.am: New file.
1150         * phobos/acinclude.m4: Fix quoting.
1152         * phobos/Makefile.in, phobos/configure: regenerated
1154         * patch-gcc-3.3.x, patch-gcc-3.4.x, patch-gcc-4.0.x,
1155           patch-gcc-4.1.x, lang-specs.h: Add %N spec code.
1157         * patch-build_gcc-4.0: Grab 64-bit libgphobos.a
1159         * dt.h, d-objfile.cc
1160         (dt_size): Change return type to target_size_t.  Use target_size_t.
1161         (dtnzeros, dtdword, dtxoff): Change count to target_size_t
1162         (dtabytes, dtnbytes, dtawords, dtnwords, dtnbits): Change count to size_t
1163         (dti32): added
1165         * d-todt.cc: Cleanup.
1167         * d-objfile.cc:
1168         (dt2node): use Type::tsize_t for DT_word and DT_xoff
1170         * d-glue.cc:
1171         (PtrExp::toElem): Use target_size_t for offset
1172         (gcc_d_backend_init): Set CLASSINFO_SIZE and Tindex.
1173         (AssignExp::toElem): Use tsize_t for _d_arraycopy arg
1174         (CaseStatement::toIR): (not really a 64-bit change) Use int32 for
1175         case value to match libcall
1176         (CatAssignExp::toElem): cleanup (not 64-bit)
1177         (ForeachStatement::toIR): fix bug in key increment expression
1179         * d-codegen.{cc,h}
1180         (AggLayout::addField): use target_size_t for offset
1182         * d-codegen.cc:
1183         (...): LIBCALL_ARRAYCAST: Use size_t args (libcall already uses size_t)
1184         LIBCALL_ARRAYCOPY: ditto
1185         (convertTo): Use Type::tsize_t for _d_arraycat arguments
1187         * d-decls.cc
1188         (ClassDeclaration::toVtblSymbol): Use Type::tindex for array size.
1189         (FuncDeclaration::toThunkSymbol): Use target_ptrdiff_t
1191         * lang.opt: add -fmultilib-dir
1193         * d-lang.cc: Use -fmultilib-dir
1195         (d_init): Set global.params.isX86_64 if TARGET_64BIT.
1196         Set CPU version symbol according to TARGET_64BIT.
1197         Remove BitsPerPointer and BitsPerWord version symbols.
1199         * d-builtins2.cc
1200         (d_gcc_magic_builtins_module): Change "abi" integer types
1201         to "C".  Add "pointer" integer types.
1202         (gcc_type_to_d_type): Use Type::tindex for array types.  Use whole
1203         back-end size.
1205         * symbol.h
1206         (Thunk): Use target_ptrdiff_t for offset.
1208         * dmd/mars.h: Define target_size_t and target_ptrdiff_t to allow use of
1209         32-bit size-tracking variables when generating 32-bit code.
1211         * dmd/aggregate.h:
1212         (CLASSINFO_SIZE) change to 'extern int' %%....
1213         * dmd/cast.d: Use target_ptrdiff_t with isBaseOf.
1215         * dmd/class.c:
1216         (ClassDeclaration::semantic): use PTRSIZE
1217         (InterfaceDeclaration::semantic): Use sc->offset = PTRSIZE * 2 instead of
1218         8 -- not sure what this is for...
1220         * dmd/dsymbol.[ch]
1221         (Dsymbol::size): Change to target_size_t
1223         * dmd/init.h: ArrayInitializer::dim <- chg to target_size_t
1225         * dmd/aggregate.h: Use target_ptrdiff_t and target_size_t
1227         * dmd/typinf.c (TypeInfoStructDeclaration::toDt): Use dti32 for flags.
1228         * dmd/toobj.c (Module::genmoduleinfo, ClassDeclaration::toObjFile,
1229         InterfaceDeclaration::toObjFile): ditto
1231         * dmd/func.c: Use target_ptrdiff_t with isBaseOf.
1232         (NewDeclaration::semantic): Allow Type::tuns64 if 64-bit.
1234         * dmd/mtype.c
1235         (Type::init): set CLASSINFO_SIZE
1236         (Type::dotExp): use Type::tsize_t for .offsetof property
1237         (TypeArray::dotExp): use Type::tsize_t for _adReverse args
1238         (TypeAArray::dotExp): use PTRSIZE to align keysize
1239         (TypeStruct::dotExp): use Type::tsize_t for offset
1240         (TypeStruct::alignsize): use target_size_t
1242         * dmd/mtype.h: Add Tindex global variable.
1243         (Type): Change tindex to baseic[Tindex].
1244         (Type::isBaseOf): use target_ptrdiff_t
1246         * dmd/expression.[ch]:
1247         (SymOffExp): offset changed to target_size_t
1248         (NewExp::semantic): use size_t as argument
1249         (ArrayLiteralExp::toMangleBuffer, SymOffExp::toCBuffer): fix printf
1251         * dmd/declaration.c
1252         (VarDeclaration::semantic): use sinteger_t for dim
1254         * dmd/declaration.h:
1255         (Declaration::size): Use target_size_t
1256         (VarDeclaration): Use target_size_t for offset
1258         * dmd/schope.h:
1259         (Scope::offset) Use target_size_t.
1261         * dmd/statement.c:
1262         (ForeachStatement::semantic): Change return value of _a*Apply* to
1263         Type::tint32.  Fix logic for allowed index variable types.
1264         Use PTRSIZE to align keysize.
1266         * dmd/struct.c
1267         (AggregateDeclaration::addField): use target_size_t
1269         * dmd/todt.c
1270         (StructInitializer::toDt): Use target_size_t for offsets
1271         (ClassDeclaration::toDt2): Use PTRSIZE
1273         * phobos/object.d, phobos/internal/object.d:
1274         (Interface): Use ptrdiff_t for offset.
1275         (*.toHash): cast pointer to size_t
1277         * phobos/internal/object.d: Use integer type definitions from
1278         phobos/object.d.  Split %.*s args.
1279   
1280         * phobos/internal/adi.d:
1281         (_adReverse): Use size_t for szelem.
1282         * phobos/configure.in: fix multilib dir
1283         * phobos/configure: updated
1285         * phobos/config/cb_unix.c: Removed.
1287         * phobos/config/gen_config1.c: Add ssize_t.
1289         * phobos/config/config-head: Use __builtin_Clong and __builtin_Culong.
1290         * phobos/config/config-mid: Support X86_64 and other 64-bit CPUs.
1291         * phobos/config/unix-mid: Some size_t and ssize_t arg/return type fixes.
1293         * phobos/config/darwin8/frag-gen, phobos/config/darwin8/frag-unix:
1294         Support 32- and 64-bit.
1295         * phobos/config/mingw/frag-unix, phobos/config/skyos/frag-unix:
1296         Add ssize_t.
1298         * phobos/gcc/builtins.d: Update documentation
1300         * phobos/gcc/unwind.d: Use different builtin integer types.
1302         * phobos/internal/arraycat.d (_d_arraycopy): use size_t arg
1304         * phobos/std/c/fenv.d: Add field for 64-bit Linux.
1306         * phobos/std/c/linuxextern.d: Use C long for timezone.
1308         * phobos/std/c/stdio.d,
1309           phobos/std/c/stdlib.d, phobos/std/c/math.d,
1310           phobos/std/c/time.d: use C long types
1312         * phobos/std/stdint.d: Add C long types.
1313         Use ptrdiff_t and size_t for *intptr_t types.
1315         * phobos/std/format.d: Formatting structs on X86_64 looses
1317         * phobos/internal/cast.d (_d_isbaseof2): change offset to size_t
1319         * phobos/internal/fpmath.d: Support 64-bit CPUs.
1321         * phobos/std/file.d: Type of stat.st_size may vary; use auto.
1322         (Unix read): Make sure file's size is within range.
1324         * phobos/crc32.d, phobos/gcstats.d,
1325         phobos/internal/qsortg.d: 
1326         phobos/internal/gc/gc.d (_d_arraycatnT),
1327         phobos/internal/gc/gcold.d (_d_arraycatn),
1328         phobos/internal/gc/gcx.d,
1329         phobos/internal/mars.h,
1330         phobos/std/base64.d, phobos/std/bitarray.d, phobos/std/math.d,
1331         phobos/std/math2.d, phobos/std/md5sum.d, phobos/std/outbuffer.d, 
1332         phobos/std/path.d, phobos/std/string.d, phobos/std/uri.d
1333         phobos/std/typeinfo/ti_AC.d,
1334         use size_t, ptrdiff_t/ssize_t
1336         * phobos/std/loader.d: Add definitions for 64-bit Mach-O objects.
1337         
1338         * phobos/std/openrj.d, phobos/std/loader.d, phobos/std/moduleinit.d,
1339         phobos/std/socket.d, phobos/std/regexp.d, phobos/std/uri.
1340         d, phobos/std/zip.d: split '%.*s' args
1342         * phobos/std/typeinfo/ti_A*.d, phobos/std/typeinfo/ti_ptr.d:
1343         fix compare methods
1345         * phobos/internal/gc/gc_dyld.c: use uintptr_t
1347         * phobos/std/c/stdio.d, phobos/internal/gc/gcgcc.d: 
1348         Don't use old version symbols.
1350         * phobos/std/c/mach/mach.d (natural_t): always a uint
1352         * phobos/etc/c/zlib.d: use Culog_t
1354 2007-02-13  David Friedman  <dvdfrdmn@users.sf.net>
1356         * setup-gcc.sh: Copy the removed files from the top-level
1357         directory.
1359 2007-02-10  David Friedman  <dvdfrdmn@users.sf.net>
1361         * phobos/config.guess, phobos/config.sub, phobos/install-sh:
1362         Remove files.
1364         * phobos/std/format.d (putAArray): account for
1365         alignment of the value
1367         * phobos/Makefile.in: fix metastrings.o
1369 2007-02-09  David Friedman  <dvdfrdmn@users.sf.net>
1371         * phobos/std/format.d (doFormat): use aligntsize
1373         Rest of DMD 1.005 merge:
1375         * phobos/Makefile.in (MAIN_OBJS): add metastrings.o
1377 2007-02-08  David Friedman  <dvdfrdmn@users.sf.net>
1379         * d-lang.cc, lang.opt: support -v1 option
1381         * lang.opt (d_init_options): set global.params.Dversion
1383         * dmd-script: -v1 -> -fd-version=1
1385         * phobos/std/format.d (doFormat): Fix for var args differences
1387         Initial merge of DMD 1.005:
1389         dmd/attrib.c, dmd/attrib.h, dmd/cast.c, dmd/cond.c,
1390         dmd/constfold.c, dmd/dsymbol.c, dmd/dsymbol.h, dmd/expression.c,
1391         dmd/expression.h, dmd/func.c, dmd/idgen.c, dmd/inline.c,
1392         dmd/lexer.c, dmd/lexer.h, dmd/mars.c, dmd/module.c, dmd/mtype.c,
1393         dmd/mtype.h, dmd/optimize.c, dmd/parse.c, dmd/parse.h,
1394         dmd/scope.c, dmd/statement.c, dmd/statement.h, dmd/template.c,
1395         dmd/template.h, dmd/toobj.c, dmd/typinf.c: Merge.
1397         phobos/internal/aaA.d, phobos/internal/gc/gc.d,
1398         phobos/internal/object.d, phobos/linux.mak, phobos/std/c/stdlib.d,
1399         phobos/std/conv.d, phobos/std/ctype.d, phobos/std/format.d,
1400         phobos/std/regexp.d, phobos/std/zlib.d, phobos/std.ddoc,
1401         phobos/win32.mak: Merge.
1403         phobos/std/metastrings.d: New file
1405 2007-02-05  David Friedman  <dvdfrdmn@users.sf.net>
1407         Release GDC 0.22
1409         * d-codegen.cc (twoFieldType): Fix back end -> front end type
1410         mapping.
1412         * Make-lang.in: Enable ELFOBJ to put some RTTI in the read-only
1413         data section.
1415         * GDC.html: Update
1417 2007-02-04  David Friedman  <dvdfrdmn@users.sf.net>
1419         * phobos/gcc/cbridge_time.c (_d_gnu_cbridge_tza),
1420         phobos/std/date.d: Fix timezone adjust sign
1422 2007-02-03  David Friedman  <dvdfrdmn@users.sf.net>
1424         * phobos/config/unix-mid: Correctly initialize sockaddr*
1425         (Bugzilla 818)
1427         * dmd-script: Fix -H* options (Bugzilla 896).
1428         Support -framework. Fix error message.
1430         * d-lang.cc (d_write_global_declarations), patch-gcc-4.1.x:
1431         Fixes for dwarf2out ICEs
1433         * d-objfile.cc (check_static_sym): Fix setting TREE_CONSTANT.
1435         Rest of DMD 1.004 merge:
1437         * gcc-mars.cc, gdc-version: Update
1439         * phobos/std/regexp.d: update
1441         * phobos/internal/gc/gcold.d (_d_newarrayip): 
1443         * phobos/internal/gc/gc.d: Fix argument and result types.
1445         * phobos/config/unix-head, phobos/config/unix-mid: Update
1447         * phobos/Makefile.in: Update for files removed in DMD 1.004
1449         * d-decls.cc (TypedefDeclaration::toInitializer): Copy
1450         from dmd/tocsym.c.  Create the Sdt here.
1451         
1452         * dmd/toobj.c (TypedefDeclaration::toObjFile): Update
1453         for toInitializer change
1455         * dmd/mtype.c (TypeArray::dotExp): Fix library call decls
1457         * d-lang.cc: Update
1459         * d-codegen.[ch], d-glue.cc: Update memory allocation library
1460         calls.
1462         * d-lang.cc (d_write_global_declarations): call
1463         emit_debug_global_declarations only for GCC 4.0
1465         * dmd/mtype.c (TypeArray::dotExp): update
1467         * phobos/config/unix-head, phobos/config/unix-mid: update
1469         * phobos/internal/gc/gcold.d: Use old GDC modifications.
1470         
1471 2007-02-02  David Friedman  <dvdfrdmn@users.sf.net>
1473         Initial merge DMD 1.004:
1475         * dmd/aggregate.h, dmd/attrib.c, dmd/attrib.h, dmd/declaration.c,
1476         dmd/declaration.h, dmd/dsymbol.c, dmd/dsymbol.h, dmd/expression.c,
1477         dmd/import.c, dmd/import.h, dmd/inline.c, dmd/mars.c, dmd/mars.h,
1478         dmd/module.c, dmd/module.h, dmd/mtype.c, dmd/mtype.h,
1479         dmd/struct.c, dmd/template.c, dmd/template.h, dmd/tocsym.c,
1480         dmd/todt.c, dmd/toobj.c, dmd/typinf.c: Merge DMD 1.004
1482         * phobos/internal/aaA.d, phobos/internal/adi.d,
1483         phobos/internal/arraycast.d, phobos/internal/arraycat.d,
1484         phobos/internal/gc/gc.d, phobos/internal/gc/gcx.d,
1485         phobos/internal/gc/linux.mak, phobos/internal/gc/win32.mak,
1486         phobos/internal/object.d, phobos/linux.mak, phobos/object.d,
1487         phobos/std/c/linux/linux.d, phobos/std/compiler.d,
1488         phobos/std/file.d, phobos/std/gc.d, phobos/std/outbuffer.d,
1489         phobos/std/random.d, phobos/std/regexp.d,
1490         phobos/std/typeinfo/ti_AC.d, phobos/std/typeinfo/ti_Acdouble.d,
1491         phobos/std/typeinfo/ti_Acfloat.d, phobos/std/typeinfo/ti_Acreal.d,
1492         phobos/std/typeinfo/ti_Adouble.d, phobos/std/typeinfo/ti_Afloat.d,
1493         phobos/std/typeinfo/ti_Ag.d, phobos/std/typeinfo/ti_Aint.d,
1494         phobos/std/typeinfo/ti_Along.d, phobos/std/typeinfo/ti_Areal.d,
1495         phobos/std/typeinfo/ti_Ashort.d, phobos/std/typeinfo/ti_C.d,
1496         phobos/std/typeinfo/ti_cdouble.d, phobos/std/typeinfo/ti_cfloat.d,
1497         phobos/std/typeinfo/ti_char.d, phobos/std/typeinfo/ti_creal.d,
1498         phobos/std/typeinfo/ti_dchar.d, phobos/std/typeinfo/ti_delegate.d,
1499         phobos/std/typeinfo/ti_double.d, phobos/std/typeinfo/ti_float.d,
1500         phobos/std/typeinfo/ti_ptr.d, phobos/std/typeinfo/ti_real.d,
1501         phobos/std/typeinfo/ti_void.d, phobos/std/typeinfo/ti_wchar.d,
1502         phobos/win32.mak: Merge DMD 1.004
1504         * phobos/std/typeinfo/ti_Aa.d, phobos/std/typeinfo/ti_Adchar.d,
1505         phobos/std/typeinfo/ti_Aubyte.d, phobos/std/typeinfo/ti_Auint.d,
1506         phobos/std/typeinfo/ti_Aulong.d, phobos/std/typeinfo/ti_Aushort.d,
1507         phobos/std/typeinfo/ti_Awchar.d: Removed in DMD 1.004
1509         * phobos/internal/gc/gcold.d: New in DMD 1.004
1511 2007-02-01  David Friedman  <dvdfrdmn@users.sf.net>
1513         * d-lang.cc (d_write_global_declarations): Emit debug info.
1515         * d-codegen.cc (twoFieldType): Fix debugging information.
1516         * d-objfile.cc (initTypeDecl): Ditto.
1518         * d-glue.cc (PtrExp::toElem): Don't wrap the result in
1519         a NOP_EXPR.
1521         * Make-lang.in: Add d-tree.def to dependencies
1523 2007-01-30  David Friedman  <dvdfrdmn@users.sf.net>
1525         GCC 4.1.x changes:
1527         * GDC.html, INSTALL, INSTALL.html, README: update
1529         * dmd/idgen.c, dmd/impcnvgen.c, dmd/mtype.h: Change to allow
1530         compilation as C.
1532         * patch-gcc-4.1.x, patch-toplev-4.1.x: New files
1534         * Make-lang.in: Use $(version) instead of $(gcc_version). 
1535         Add d-bi-attrs-41.h.  Use C for generator programs instead of C++.
1537         * d-bi-attrs-41.h: New file.
1539         * d-builtins.c: update
1541         * d-builtins2.cc: Do not associate d_gcc_builtin_va_list_d_type with
1542         va_list_type_node.  Do this for GCC 4.0 and 4.1.
1544         * d-codegen.cc: Use CtorEltMaker.
1545         (maybeExpandSpecialCall): Cast d_gcc_builtin_va_list_d_type to
1546         va_list_type_node.
1547         (hostToTargetString): Update.
1549         * d-codegen.h: Add CtorEltMaker class for before/after 4.1.x
1550         compatibility.
1552         * d-convert.cc: Add special case for pointer/int comparison
1554         * d-decls.cc: Do not use SET_DECL_ASSEMBLER_NAME for CONST_DECLs
1556         * d-gcc-includes.h: Include vec.h
1558         * d-glue.cc: Use CtorEltMaker.
1559         (gcc_d_backend_init): Call default_init_unwind_resume_libfunc
1561         * d-lang.cc: Add d_types_compatible_p hook for va_list conversion
1563         * d-lang.h: Update
1565         * d-objfile.cc: CtorEltMaker.
1567         * phobos/std/conv.d: Do not assume signed integer wraparound.
1569 2007-01-28  David Friedman  <dvdfrdmn@users.sf.net>
1571         * d-asm-i386.h, d-codegen.cc, d-gcc-real.cc,
1572         d-decls.cc, d-glue.cc, d-lanc.cc: various fixes
1574         * d-codegen.cc, d-codegen.h, d-glue.cc, d-lang.h:
1575         Remove bit array code
1577 2007-01-27  David Friedman  <dvdfrdmn@users.sf.net>
1579         * d-asm-i386.h: fix fistp, lmsw, lldt, mov[sz]x, setCC, smsw, and
1580         sldt instructions (Bugzilla 836, 837, 838, 839, 841, 843, 844).
1581         Also r[co][lr].
1583         * d-glue.cc (StringExp::toElem): Correct termination of wchar
1584         and dchar (Bugzilla 889)
1586 2007-01-11  David Friedman  <dvdfrdmn@users.sf.net>
1588         * INSTALL.html: fix corruption
1590 2007-01-03  David Friedman  <dvdfrdmn@users.sf.net>
1592         Release GDC 0.21
1594         * GDC.html: New file.
1596         * README: Update, refer to GDC.html
1597         
1598         Rest of DMD 1.00 merge:
1600         * d-codegen.cc: Patch from Anders BjÅ¡rklund for GCC 3.3
1602         * d-glue.cc (FuncDeclaration::toObjFile): Fix shouldDefer/outputStage
1603         logic.
1605         * dmd/attrib.c (PragmaDeclaration::semantic): uint -> unsigned
1607         * dmd/module.c (load): output to stdmsg
1609         * dmd/mtype.c: revert '@' mangling changes
1611         * gdc-version, gcc-mars.cc: update
1613         * phobos/config/unix-mid: Support more functions
1615         * phobos/acinclude.m4, phobos/config/gen_unix.c (c_pthread):
1616         Support more types
1618         * phobos/configure, phobos/config.h.in: update
1620         * phobos/config/darwin8/frag-unix: update
1622         Initial merge of DMD 1.00:
1624         * dmd/cond.c, dmd/constfold.c, dmd/delegatize.c, dmd/dsymbol.c,
1625         dmd/enum.c, dmd/expression.c, dmd/expression.h, dmd/init.c,
1626         dmd/inline.c, dmd/mars.c, dmd/module.c, dmd/module.h, dmd/mtype.c,
1627         dmd/parse.c, dmd/statement.c, dmd/struct.c, dmd/template.c,
1628         dmd/todt.c: Merge 1.00
1630         * internal/gc/gc.d, phobos/linux.mak,
1631         phobos/std/c/linux/linux.d.orig-dmd, phobos/std/c/stdlib.d,
1632         phobos/std/conv.d, phobos/win32.mak: Merge 1.00
1633         
1634         * phobos/std/c/linux/pthread.d.orig-dmd: New file (originally
1635         pthread.d DMD)
1636         
1637         ------------------------
1639         * dmd/init.c (ArrayInitializer::semantic),
1640         * dmd/root.c (OutBuffer::write4): 64-bit host cleanup
1642         * d-asm-i386.h: cleanup, saftey
1644 2007-01-02  DF  <dvdfrdmn@users.sf.net>
1646         * d-codegen.cc (convertTo): Use 64-bit for Tarray, Tsarray conversion.
1648         * d-codegen.{h, cc} (darrayVal): use uinteger_t arg
1650 2006-12-27  DF  <dvdfrdmn@users.sf.net>
1652         * phobos/internal/fpmath.d: Support x86_64
1654         * phobos/configure.in: x86_64 can use fpmath.d
1655         * phobos/configure: update
1657         * target-ver-syms.sh: Add some CPU architectures
1659 2006-12-26  DF  <dvdfrdmn@users.sf.net>
1661         * phobos/configure.in: actually use value of
1662         --enable-phobos-config-dir
1664 2006-12-26  David Friedman  <dvdfrdmn@users.sf.net>
1666         Rest of 0.178 changes:
1668         * phobos/std/bitarray.d: revert previous changes
1670         * d-decls.cc (toSymbolX): update
1672         * d-glue.cc (TypeFunction::retStyle): implement
1674         * phobos/std/format.d: update for Mangle.Tenum
1676         -------------
1678         Initial merge of 0.178:
1680         * dmd/class.c, dmd/declaration.c, dmd/declaration.h, dmd/doc.c,
1681         dmd/expression.c, dmd/expression.h, dmd/func.c, dmd/init.c,
1682         dmd/lexer.c, dmd/mangle.c, dmd/mars.c, dmd/mars.h, dmd/mtype.c,
1683         dmd/optimize.c, dmd/parse.c, dmd/statement.c, dmd/statement.h,
1684         dmd/template.c, dmd/tocsym.c, dmd/toobj.c: Merge 0.178
1686         * phobos/internal/gc/win32.d, phobos/internal/object.d,
1687         phobos/std/c/linux/linux.d, phobos/std/date.d,
1688         phobos/std/dateparse.d, phobos/std/format.d, phobos/std/gc.d,
1689         phobos/std/regexp.d, phobos/std/socket.d, phobos/std.ddoc: Merge
1690         0.178
1692         ---------------
1694         * dmd/constfold.c (CastExp::constFold): Fix Bugzilla 738.
1696         * dmd/todt.c (StructDeclaration::toDt): Fix Bugzilla 736.
1698         * d-decls.cc (VarDeclaration::toSymbol): Fix Bugzilla 737.
1700         * d-glue.cc (make_assign_math_op): Fix Bugzilla 739.
1702         * d-codegen.cc, d-decls.cc, d-glue.cc, symbol.cc, symbol.h:
1703         Use toParent2.  Handle nested template instance functions.
1704         (Bugzilla 742, 743)
1706 2006-12-25  David Friedman  <dvdfrdmn@users.sf.net>
1708         * dmd/mtype.c: Don't use '@' in mangled names
1710         * d-glue.cc (TypeFunction::toCtype): Handle recursive type
1711         reference (Bugzilla 745)
1713         * d-codegen.cc, d-codegen.h, d-glue.cc, d-objfile.cc, d-objfile.h,
1714         dmd/aggregate.h, dmd/attrib.c, dmd/class.c, dmd/declaration.c,
1715         dmd/declaration.h, dmd/enum.c, dmd/enum.h, dmd/func.c,
1716         dmd/idgen.c, dmd/scope.c, dmd/scope.h, dmd/struct.c: Implement
1717         GCC attributes.
1718         
1719         * dmd/mtype.c (TypeDelegate::dotExp): Fix regression caused by
1720         last fix.
1722 2006-12-24  David Friedman  <dvdfrdmn@users.sf.net>
1724         * dmd/parse.h, dmd/parse.c(parseStatement, parseExtAsm),
1725         dmd/statement.h, asmstmt.cc: Implement GCC extended assembler.
1727 2006-12-20  David Friedman  <dvdfrdmn@users.sf.net>
1729         * dmd/mars.h: format issues are due to newlib, not Cygwin 
1731         * setup-gcc.sh: Fix sed patterns and options.
1733         * dmd/mtype.c (TypeDelegate::dotExp): Handle .ptr so that
1734         it can be an lvalue. (Bugzilla 696)
1736         * d-irstate.cc (getLoopForLabel): Handle labels pointing to
1737         ScopeStatements. (Bugzilla 695)
1739 2006-12-16  David Friedman  <dvdfrdmn@users.sf.net>
1741         Release GDC 0.20
1743         * setup-gcc.sh: account for modified version strings
1745         * dmd/mtype.c (TypeTuple::toDecoBuffer): workaround newlib bug
1747         * dmd/mars.h: fix printf formats for Cygwin
1749         * d-builtins.c (d_init_builtins): Handle va_list type when it is
1750         an array.
1752         * gcc-mars.cc, gdc-version: update
1754         * d-decls.cc: warnings cleanup 
1756         * dmd/expression.c (realToMangleBuffer): filter out 'x'
1758 2006-12-13  David Friedman  <dvdfrdmn@users.sf.net>
1760         * package/simple.sh: use MAKE environment variable
1762 2006-12-11  David Friedman  <dvdfrdmn@users.sf.net>
1764         * patch-build_gcc-4.0: don't disable Objective C
1766 2006-12-09  David Friedman  <dvdfrdmn@users.sf.net>
1768         * phobos/std/bitarray.d (unittest): workaround 0.177 breakage
1770         * phobos/std/format.d,
1771         * phobos/std/string.d,
1772         * phobos/std/loader.d: update
1773         
1774         * phobos/std/file.d: fix merge. update.
1776         * dmd/root.[ch] (writestring): make arg const
1778         * dmd/expression.c (toMangleBuffer): update
1780         Initial 0.177 merges
1782         * dmd/constfold.c, dmd/declaration.c, dmd/expression.[ch],
1783         dmd/func.c, dmd/idgen.c, dmd/manlge.c, dmd/mars.c, dmd/mtype.[ch],
1784         dmd/opover.c, dmd/tocsym.c, dmd/toobj.c, dmd/typinf.c: Merge 0.177
1786         * etc/c/zlib.d, phobos/internal/aaA.d, phobos/internal/adi.d,
1787         phobos/internal/arraycat.d, phobos/internal/gc/gc.d,
1788         phobos/internal/gc/testgc.d, phobos/internal/object.d,
1789         phobos/internal/qsort.d, phobos/internal/switch.d,
1790         phobos/internal/trace.d, phobos/object.d, phobos/std/array.d,
1791         phobos/std/boxer.d, phobos/std/conv.d, phobos/std/cover.d,
1792         phobos/std/cpuid.d, phobos/std/date.d, phobos/std/file.d,
1793         phobos/std/format.d, phobos/std/loader.d, phobos/std/math2.d,
1794         phobos/std/md5.d, phobos/std/mmfile.d, phobos/std/outbuffer.d,
1795         phobos/std/path.d, phobos/std/regexp.d, phobos/std/socket.d,
1796         phobos/std/stream.d, phobos/std/string.d, phobos/std/switcherr.d,
1797         phobos/std/syserror.d, phobos/std/typeinfo/ti_Acdouble.d,
1798         phobos/std/typeinfo/ti_Acfloat.d, phobos/std/typeinfo/ti_Acreal.d,
1799         phobos/std/typeinfo/ti_Adchar.d, phobos/std/typeinfo/ti_Adouble.d,
1800         phobos/std/typeinfo/ti_Afloat.d, phobos/std/typeinfo/ti_Ag.d,
1801         phobos/std/typeinfo/ti_Aint.d, phobos/std/typeinfo/ti_Along.d,
1802         phobos/std/typeinfo/ti_Areal.d, phobos/std/typeinfo/ti_Ashort.d,
1803         phobos/std/typeinfo/ti_Aubyte.d, phobos/std/typeinfo/ti_Auint.d,
1804         phobos/std/typeinfo/ti_Aulong.d, phobos/std/typeinfo/ti_Aushort.d,
1805         phobos/std/typeinfo/ti_Awchar.d, phobos/std/uri.d,
1806         phobos/std/utf.d, phobos/std/windows/charset.d,
1807         phobos/std/windows/registry.d, phobos/std/zlib.d: Merge 0.177
1809         --------------
1810         
1811         * patch-apple-gcc-4.0.x, patch-build_gcc-4.0: Support
1812         building the Apple way on PowerPC machines.
1814 2006-12-06  David Friedman  <dvdfrdmn@users.sf.net>
1816         * d-codegen.cc (call): Fix for calling delegate literal.
1818         * setup-gcc.sh: fail if patching build_gcc fails
1820         * d-glue.cc (NewExp::toElem): expand stack vars
1821         for GCC 3.x
1823         * phobos/std/cpuid.d: fix for cpuid kludge
1825 2006-12-05  David Friedman  <dvdfrdmn@users.sf.net>
1827         * dmd/mars.h: Handle msvcrt C99 printf incompatibility.
1828         
1829         * dmd/template.c, dmd/declaration.c, dmd/expression.c, dmd/func.c,
1830         dmd/init.c, dmd/lexer.c, dmd/mangle.c, dmd/mtype.c,
1831         dmd/optimize.c, dmd/root.c: ditto
1833         * phobos/config/unix-mid: fix compile error
1835 2006-12-04  David Friedman  <dvdfrdmn@users.sf.net>
1837         More 0.176 merges
1839         * phobos/config/unix-mid: add reentrant funcs
1841         * d-glue.cc (DeleteExp::toElem): handle on-stack vars
1843         * d-glue.cc (FuncDeclaration::toObjFile): emit _arguments
1845         * dmd/declaration.h, dmd/func.c: save _arguments local var for
1846         backend
1848 2006-12-03  David Friedman  <dvdfrdmn@users.sf.net>
1850         * d-glue.cc: New _arguments ABI.
1852         * gcc-mars.cc: Update for verror.
1854         * d-decls.cc, d-objfile.cc,
1855         * d-glue.cc (Module::genobjfile, d_gcc_aggregate_dtors): Update
1856         for new toSymbolX.
1858         * d-glue.cc (TypeAArray::toCtype): Implement new AA ABI.
1860         * d-codegen.cc (convertTo): Don't allow conversion of dynamic
1861         array to associated array and vice versa.
1863         * d-codegen.cc (getLibCallDecl, rawArray, convertForCondition),
1864         d-glue.cc (NullExp::toElem): change AA type
1866         * gcc-mars.cc : printf corrections
1868         * phobos/Makefile.in (MAIN_OBJS): add bind.o
1870         Initial merge of DMD 0.176
1872         * attrib.c, dmd/cast.c, dmd/class.c, dmd/cond.c, dmd/constfold.c,
1873         dmd/declaration.c, dmd/doc.c, dmd/dsymbol.h, dmd/dump.c,
1874         dmd/expression.c, dmd/expression.h, dmd/func.c, dmd/idgen.c,
1875         dmd/init.c, dmd/init.h, dmd/lexer.c, dmd/link.c, dmd/mangle.c,
1876         dmd/mars.c, dmd/mars.h, dmd/module.c, dmd/mtype.c, dmd/optimize.c,
1877         dmd/parse.c, dmd/root.c, dmd/statement.c, dmd/template.c,
1878         dmd/tocsym.c, dmd/todt.c, dmd/toobj.c: Merge 0.176
1880         * internal/aaA.d, phobos/internal/cmath2.d, phobos/internal/deh.c,
1881         phobos/internal/object.d, phobos/linux.mak,
1882         phobos/std/c/linux/linux.d, phobos/std/c/linux/socket.d,
1883         phobos/std/compiler.d, phobos/std/math.d, phobos/std/socket.d,
1884         phobos/std/string.d, phobos/std/traits.d,
1885         phobos/std/typeinfo/ti_Aubyte.d, phobos/std/typeinfo/ti_ubyte.d,
1886         phobos/std.ddoc, phobos/win32.mak: Merge 0.176
1888         * phobos/std/bind.d: New file in 0.176
1889         
1890         * dmd/toir.[ch]: New files (from DMD 0.175)
1892         * phobos/phobos.d: New file (from DMD 0.160)
1894         --------------
1896         * phobos/std/boxer.d (unbox(T : void*).unbox): fix
1898         * d-glue.cc (NewExp::toElem): Support allocation on stack
1900         Initial merge of DMD 0.175
1902         * cast.c, dmd/class.c, dmd/dchar.c, dmd/dchar.h,
1903         dmd/declaration.c, dmd/declaration.h, dmd/delegatize.c,
1904         dmd/dsymbol.c, dmd/dump.c, dmd/enum.c, dmd/expression.c,
1905         dmd/expression.h, dmd/func.c, dmd/identifier.c, dmd/identifier.h,
1906         dmd/inifile.c, dmd/init.c, dmd/lexer.c, dmd/lstring.h,
1907         dmd/mangle.c, dmd/mars.c, dmd/mtype.c, dmd/mtype.h,
1908         dmd/optimize.c, dmd/parse.c, dmd/root.c, dmd/root.h, dmd/scope.c,
1909         dmd/scope.h, dmd/statement.c, dmd/statement.h, dmd/stringtable.c,
1910         dmd/todt.c, dmd/typinf.c: Merge 0.175
1911         
1912         dmd/html.c: not merged
1914         * phobos/internal/object.d, phobos/std/demangle.d,
1915         phobos/std/format.d, phobos/std/socket.d, phobos/std/stdio.d,
1916         phobos/std/traits.d, phobos/std/uni.d, phobos/std.ddoc:
1917         Merge 0.175
1919         ------------
1921         * config/darwin8, config/mingw: update config fragments
1923 2006-11-26  David Friedman  <dvdfrdmn@users.sf.net>
1925         * d-codegen.cc, d-glue.cc: Fix missing continue label
1926         expansion for GCC < 4.0
1928         * d-glue.cc (make_math_op): Convert non-complex to complex
1929         in all version of GCC. (Buzilla 575)
1931         * d-codegen.cc: for tree code class for GCC < 4.0
1933         * phobos/Makefile.in: make test programs dependendent on
1934         libgphobos.a as gdc will still try to find it
1936         * phobos/configure.in: conditionally build std/boxer.o
1938         * phobos/Makefile.in (MAIN_OBJS): remove std/boxer.o
1940         * phobos/internal/arraycat.d (_d_array_literal): disable
1942         * phobos/std/format.d: fix for PowerPC Linux
1944 2006-11-25  David Friedman  <dvdfrdmn@users.sf.net>
1946         * d-gcc-real.h: cleanup for warnings
1948 2006-11-24  David Friedman  <dvdfrdmn@users.sf.net>
1950         * d-glue.cc (DotVarExp::toElem): Handle const members.
1952         * d-codegen.cc (needs_temp): Return false for constants.
1953         (isFreeOfSideEffects): New function.
1955         * d-glue.cc (do_array_set): Evaluate the rvalue only once
1956         (Bugzilla 578).
1958 2006-11-18  David Friedman  <dvdfrdmn@users.sf.net>
1960         Rest of DMD 0.174 merge:
1962         * dmd/mtype.c (TypeDelegate::dotExp): Use cast-to-pointer
1963         for .ptr property
1965         * d-decls.cc (VarDeclaration::toSymbol): Build CONST_DECLs
1966         * d-codegen.cc (IRState::emitLocalVar): Do nothing if CONST_DECL
1968         * d-codegen.cc (ArrayScope::setArrayExp): Handle tuple/constant
1969         lengths.
1971         * dmd/toobj.c (Dsymbol::toObjFile): emit local variables for
1972         tuples
1974         * svn: move traits.d and typetuple.d to the correct directory
1976         * gcc-mars.cc (error): add va_list form
1978         * dmd/mars.h (error): use va_list for 'error'
1980         * dmd/expression.c, dmd/lexer.c: fix compile errors
1982         * phobos/Makefile.in (MAIN_OBJS): add traits.o and typetuple.o
1984         * dmd-script: add -v1 option
1986         * dmd/root.c (FileName::ensurePathExists): fix conditions
1987         for non-win32, non-linux.
1989         * dmd-script (printUsage): add missing options documentation
1991         * d-codegen.{h, cc}: use size_t
1993         * phobos/internal/dgccmain2.d: update
1995         Initial merge of DMD 0.174:
1997         * dmd/attrib.c, dmd/cast.c, dmd/class.c, dmd/declaration.c,
1998         dmd/declaration.h, dmd/doc.c, dmd/dsymbol.c, dmd/dsymbol.h,
1999         dmd/expression.c, dmd/expression.h, dmd/func.c, dmd/hdrgen.c,
2000         dmd/idgen.c, dmd/inline.c, dmd/lexer.c, dmd/mangle.c, dmd/mars.c,
2001         dmd/mars.h, dmd/module.c, dmd/mtype.c, dmd/mtype.h, dmd/parse.c,
2002         dmd/statement.c, dmd/template.c, dmd/template.h, dmd/tocsym.c,
2003         dmd/todt.c, dmd/toobj.c, dmd/typinf.c, dmd/utf.c, dmd/utf.h: Merge
2004         0.174
2006         * phobos/internal/aApplyR.d, phobos/internal/dmain2.d,
2007         phobos/internal/object.d, phobos/linux.mak, phobos/object.d,
2008         phobos/std/date.d, phobos/std/openrj.d, phobos/std/signals.d,
2009         phobos/win32.mak: Merge 0.174
2011         * phobos/std/traits.d, phobos/std/typetuple.d: New files in 0.174
2014 2006-11-17  David Friedman  <dvdfrdmn@users.sf.net>
2016         * package/simple.sh: enhancements
2018         * dmd/attrib.c: fix message
2020 2006-11-16  David Friedman  <dvdfrdmn@users.sf.net>
2022         * d-codegen.cc (continueHere): fix error
2023         * d-glue.cc (d_gcc_aggregate_dtors): "
2025 2006-11-14  David Friedman  <dvdfrdmn@users.sf.net>
2027         * d-builtins2.cc, d-codegen.{cc, h}, d-decls.cc, d-glue.cc,
2028         d-lang.h: remove D_TYPE_IS_NESTED.  Do not pull original
2029         TypeFunction from FUNCTION_TYPE.
2031         * d-codegen.cc: cleanup
2033         * d-codegen.cc, gdc-alloca.h, phobos/config/gen_unix.c: fixes for
2034         older MacOS X builds
2036 2006-11-13  David Friedman  <dvdfrdmn@users.sf.net>
2038         * phobos/std/cpuid.d: fixes for PIC
2040         * d-asm-i386.h: Fix for referencing funcs (Bugzilla 307).       
2041         Correct clobbers for cpuid, but left out EBX as a kludge for
2042         std.cpuid.
2044         * phobos/std/c/linux/linux.d: make imports public (Bugzilla 403)
2046         * d-decls.cc (uniqueName): Fixed logic error (Bugzilla 375). Then
2047         just removed most of the code and comments because the workaround
2048         is no longer needed.
2050 2006-11-12  David Friedman  <dvdfrdmn@users.sf.net>
2052         * dmd/root.c (Object::hashCode): cast to pointer acceptable int type
2054         Rest of DMD 0.173 merge:
2056         * d-glue.cc (UnrolledLoopStatement::toIR): implement
2058         * d-codegen.h (setContinueLabel): add interface for multiple continues
2060         * d-irstate.h (Flow), d-irstate.cc: add overrideContinueLabel for
2061         GCC < 4.0
2063         * d-builtins2.cc, d-glue.cc, d-codegen.cc: update for
2064         TypeFunction::arguments -> parameters and tuples
2066         * dmd/func.c: update
2068         * d-gcc-complex_t.h: update
2070         * phobos/Makefile.in (MAIN_OBJS): add signals.o and cpuid.o
2072         Initial merge of DMD 0.173:
2074         * dmd/arraytypes.h, dmd/cast.c, dmd/class.c, dmd/complex_t.h,
2075         dmd/constfold.c, dmd/declaration.c, declaration.h,
2076         dmd/delegatize.c, dmd/doc.c, dmd/dsymbol.c, dmd/dsymbol.h,
2077         expression.c, dmd/expression.h, dmd/func.c, dmd/html.c,
2078         dmd/html.h, dmd/inline.c, lexer.c, dmd/lexer.h, dmd/mars.c,
2079         dmd/mars.h, dmd/mem.h, dmd/mtype.c, dmd/mtype.h, opover.c,
2080         dmd/optimize.c, dmd/parse.c, dmd/parse.h, dmd/statement.c,
2081         dmd/statement.h, struct.c, dmd/template.c, dmd/template.h,
2082         dmd/tocsym.c, dmd/toobj.c, dmd/typinf.c: Merge 0.173
2084         * phobos/internal/object.d, phobos/linux.mak, phobos/std/stream.d,
2085         phobos/std/string.d, phobos/std/system.d, phobos/std.ddoc,
2086         phobos/unittest.d, phobos/win32.mak: Merge 0.173
2088         * phobos/std/c/locale.d, phobos/std/cpuid.d, phobos/std/signals.d:
2089         New files in 0.173
2090         
2091         ----
2093         * dmd/class.c, dmd/mars.c, dmd/opover.c, dmd/statement.c:
2094         Merge DMD 0.172
2096         Merge DMD 0.171:
2098         * dmd/func.c, dmd/optimize.c: Update comments
2100         * dmd/aggregate.h, dmd/class.c, dmd/func.c, dmd/mars.c:
2101         Merge 0.171
2103         * phobos/internal/aApplyR.d, phobos/internal/gc/gc/.d: Merge 0.171
2105         ----
2107         Rest of DMD 0.170 merge:
2109         * d-glue.cc (ArrayLiteralExp::toElem): Handle the case in which
2110         the type of the expression is a pointer.
2112         * dmd/optimize.c (PtrExp::optimize): Don't change type
2113         of expression without cast
2115         * phobos/internal/aApplyR.d: turn off debug(apply)
2117 2006-11-11  David Friedman  <dvdfrdmn@users.sf.net>
2119         * d-glue.cc (ForeachStatement::toIR): support foreach_reverse
2121         * dmd/lexer.c: size_t -> unsigned
2123         * d-lang.cc (d_handle_option): update
2125         * phobos/Makefile.in: add aApplyR.o
2127         * phobos/internal/monitor.c: merged
2129         Initial merge of DMD 0.170:
2131         * dmd/attrib.c, dmd/cast.c, dmd/class.c, dmd/delegatize.c,
2132         dmd/dsymbol.c, dmd/expression.c, dmd/expression.h, dmd/func.c,
2133         dmd/identifier.c, dmd/idgen.c, dmd/import.c, dmd/lexer.c,
2134         dmd/lexer.h, dmd/mangle.c, dmd/mars.c, dmd/module.c, dmd/mtype.c,
2135         dmd/mtype.h, dmd/opover.c, dmd/parse.c, dmd/statement.c,
2136         dmd/statement.h, dmd/template.h, dmd/utf.h: Merge 0.170
2138         * phobos/internal/aApply, phobos/internal/cast.d,
2139         phobos/internal/gc/gc.d, phobos/internal/mars.h,
2140         phobos/internal/object.d, phobos/linux.mak, phobos/object.d,
2141         phobos/std/gc.d, phobos/std/math.d, phobos/std/outofmemory.d,
2142         phobos/std/path.d, phobos/std/zlib.d, phobos/std.ddoc,
2143         phobos/unittest.d, phobos/win32.mak: Merge 0.170
2145         * internal/monitor.c: not changed; merge deferred for now
2147         * phobos/internal/aApplyR.d: new file in 0.170
2149         ----
2151         Rest of 0.169 merge:
2153         * phobos/internal/object.d: fix merge error
2155         * d-asm-i386.h: update for DMD changes
2157         * dmd/mtype.c, phobos/internal/adi.d (_adSortChar, _adSortWchar):
2158         fix for calling conventions
2160         * d-gcc-complex_t.h: updated
2162         Initial merge of DMD 0.169:
2164         * dmd/aggregate.h, dmd/arraytypes.h, dmd/attrib.h, dmd/class.c,
2165         dmd/complex_t.h, dmd/cond.h, dmd/declaration.h, dmd/declaration.c,
2166         dmd/doc.h, dmd/dsymbol.c, dmd/dsymbol.h, dmd/enum.h,
2167         dmd/expression.c, dmd/expression.h, dmd/hdrgen.h, dmd/html.h,
2168         dmd/identifier.h, dmd/idgen.c, dmd/import.c, dmd/import.h,
2169         dmd/init.c, dmd/init.h, dmd/lexer.h, dmd/macro.h, dmd/macro.c,
2170         dmd/mars.c, dmd/mars.h, dmd/module.c, dmd/module.h, dmd/mtype.c,
2171         dmd/mtype.h, dmd/opover.c, dmd/optimize.c, dmd/parse.h,
2172         dmd/root.c, dmd/scope.c, dmd/scope.h, dmd/statement.c,
2173         dmd/statement.h, dmd/staticassert.h, dmd/struct.c, dmd/template.c,
2174         dmd/template.h, dmd/total.h, dmd/typinf.c, dmd/utf.h,
2175         dmd/version.h: Merge 0.169
2177         * phobos/internal/adi.d, phbobos/internal/critical.c,
2178         phbobos/internal/mars.h, phbobos/internal/monitor.c,
2179         phbobos/internal/object.d, phbobos/object.d, phbobos/std/regexp.d:
2180         Merge 0.169
2182         ----
2184         * dmd-script: Create directories for output files 
2186         Rest of 0.168 changes:
2188         * d-dmd-gcc.h, d-glue.cc (d_gcc_aggregate_dtors): new function
2189         * dmd/toobj.c (ClassDeclaration::toObjFile): use d_gcc_aggregate_dtors
2191         * d-codegen.cc (convertTo): handle delegate .ptr property
2193         * lang-specs.h, dmd-script: handle .xhtml extension 
2195         Initial merge of DMD 0.168
2197         * dmd/aggregate.h, dmd/arraytypes.h, dmd/cast.c, dmd/class.c,
2198         dmd/declaration.c, dmd/expression.h, dmd/func.c, dmd/html.[ch],
2199         dmd/idgen.c, dmd/init.c, dmd/lexer.c, dmd/lexer.h, dmd/link.c,
2200         dmd/mangle.c, dmd/mars.c, dmd/module.c, dmd/mtype.[ch],
2201         dmd/statement.c, dmd/toobj.c, dmd/typeinf.c: Merge 0.168
2203         * phobos/etc/gamma.d, phobos/internal/object.d,
2204         phobos/std/c/linux/linux.d.orig-dmd, phobos/std/date.d,
2205         phobos/std/math.d, phobos/std/socket.d, phobos/std/socketstream.d,
2206         phobos/std/stream.d, phobos/std/uni.d, phobos/win32.mak: Merge 0.168
2208 2006-11-10  David Friedman  <dvdfrdmn@users.sf.net>
2210         * Make-lang.in (d.install-common): cross install fix for gdmd
2212         * d-glue.cc (NewExp::toElem): uint -> unsigned
2214         * package/simple.sh: Don't depend on rsync
2216         * patch-toplev-3.4.x, patch-toplev-4.0.x: Modify top-level
2217         Makefile.in, configure.in, and configure to work with
2218         a Canadian cross build.
2220         * d-glue.cc (SynchronizedStatement::toIR): Remove uneeded
2221         startBindings call.  Add missing _d_criticalenter call.
2223 2006-10-12  David Friedman  <dvdfrdmn@users.sf.net>
2225         * phobos/config/unix-mid: add sysconf
2227 2006-10-11  David Friedman  <dvdfrdmn@users.sf.net>
2229         * phobos/std/format.d (doFormat): support Mangle.Tstruct for p_args
2231         * phobos/config/unix-head: import tm from gcc.config
2233         * phobos/config/gen_unix.c (c_time): Moved out struct tm.
2235         * phobos/config/gen_config1.c: Support clock_t. Move struct tm here.
2237         * d-glue.cc (AssignExp::toElem): use _d_arraysetlength3p
2238         (FuncDeclaration::toObjFile): Fixed assert of class member if
2239         synchronized.
2241         * d-codegen.{h, cc}: replace libcall _d_arraysetlength2p with
2242         _d_arraysetlength3p
2244         * phobos/internal/gc/gc.d (_d_arraysetlength3p): pointer version
2245         of _d_arraysetlength3.  GCC asm jump fix.
2247 2006-10-09  David Friedman  <dvdfrdmn@users.sf.net>
2249         * d-codegen.{h, cc}: new libcalls: _dnewmp, _d_newarraymip
2251         * phobos/internal/gc/gc.d (_dnewmp, _d_newarraymip): pointer version
2252         of _dnewm, _d_newarraymi
2254         * phobos/config/unix-mid: add utime
2256         * phobos/std/file.d: changes for GDC
2258         * phobos/config/gen_unix.c: support utimbuf
2260 2006-09-23  David Friedman  <dvdfrdmn@users.sf.net>
2262         Initial merge of 0.167:
2264         * dmd/array.c, dmd/cast.c, dmd/declaration.c, dmd/delegatize.c,
2265         dmd/expression.[ch], dmd/func.c, dmd/idgen.c, dmd/import.c,
2266         dmd/init.c, dmd/inline.c, dmd/lexer.[ch], dmd/mars.c,
2267         dmd/mtype.[ch], dmd/optimize.c, dmd/parse.c, dmd/statement.c,
2268         dmd/template.c, dmd/typinf.c: Merge 0.167
2270         * phobos/internal/arraycat.d, phobos/internal/gc/gc.d,
2271         phobos/internal/gc/testgc.d, phobos/internal/object.d,
2272         phobos/linux.mak, phobos/object.d, phobos/std/asserterror.d,
2273         phobos/std/c/linux/linux.d.orig-dmd, phobos/std/c/time.d,
2274         phobos/std/file.d, phobos/std/format.d, phobos/std/math.d,
2275         phobos/std/string.d, phobos/std/thread.d, phobos/unittest.d,
2276         phobos/win32.mak: Merge 0.167
2278         * phobos/std/c/windows/stat.d: New 0.167
2280 2006-09-06  David Friedman  <dvdfrdmn@users.sf.net>
2282         * d-glue.cc (FuncDelaration::toObjFile):        
2283         Assert isMember for synchronized functions.
2284         (NewExp::toElem): Correct some cases for nested classes
2286 2006-09-04  David Friedman  <dvdfrdmn@users.sf.net>
2288         * gdc-version, gcc-mars.cc: update
2290         * d-codegen.cc (trueDeclarationType): support lazy arguments
2291         (trueArgumentType): ditto
2293         * d-codegen.{h, cc}: comment out convertForInitialization
2295         * Make-lang.in (D_DMD_OBJS): add delegatize
2297         * dmd/delegatize.c: new, DMD 0.166
2299         * dmd/cast.c, dmd/declaration.[ch], dmd/expression.[ch],
2300         dmd/func.c, dmd/inline.c, dmd/lexer.c, dmd/lexer.h, dmd/mars.c,
2301         dmd/mtype.c, dmd/mtype.h, dmd/opover.c, dmd/parse.c,
2302         dmd/statement.c, dmd/struct.c, dmd/template.c, dmd/tocsym.c,
2303         dmd/typinf.c: Merge DMD 0.166
2305         * phobos/etc/c/zlib/...: Merge 0.166
2306         
2307         * phobos/internal/aApply.d, phobos/internal/gc/linux.mak,
2308         phobos/linux.mak, phobos/std/cover.d, phobos/std/utf.d,
2309         phobos/win32.mak: Merge 0.166
2311         * phobos/etc/zlib/infblock.[ch], phobos/etc/zlib/infcodes.[ch],
2312         phobos/etc/zlib/infutil.[ch], phobos/etc/zlib/maketree.c,
2313         phobos/etc/zlib/zlib.html: remove, DMD 0.166
2315         * gdc-version: update
2317         * d-glue.cc (FuncDeclaration::toObjFile): update
2319         * dmd/cast.c, dmd/declaration.[ch], dmd/enum.c,
2320         dmd/expression.[ch], dmd/func.c, dmd/init.c, dmd/inline.c,
2321         dmd/mars.c, dmd/mtype.c, dmd/statement.c, dmd/template.c,
2322         dmd/typeinf.c: Merge DMD 0.165
2324         * phobos/internal/gc/gcx.d, phobos/std.ddoc: Merge DMD 0.165
2326         * gdc-version: updated
2328         * dmd/aggregate.h, dmd/declaration.[ch], dmd/doc.c, dmd/dsymbol.c,
2329         dmd/expression.c, dmd/import.c, dmd/inifile.c, dmd/mars.c,
2330         dmd/module.[ch], dmd/mtype.c, dmd/parse.c, dmd/statement.c,
2331         dmd/template.c: Merge DMD 0.164
2333         * phobos/std/socket.d: Merge DMD 0.164
2334         * phobos/std/thread.d: no change
2336 2006-07-22  David Friedman  <dvdfrdmn@users.sf.net>
2338         * phobos/internal/gc/testgc.d: add import
2340         * phobos/std/thread.d (Thread.thread_init, Thread.getESP): make
2341         public
2343         * phobos/std/c/unix/unix.d: use public import
2345         * dmd/access.c, dmd/aggregate.h, dmd/attrib.c, dmd/class.c,
2346         dmd/declaration.[ch], dmd/enum.c, dmd/expression.c, dmd/func.c,
2347         dmd/import.[ch], dmd/mars.c, dmd/module.c, dmd/mtype.[ch],
2348         dmd/parse.[ch], dmd/scope.[ch], dmd/struct.c, dmd/template.[ch],
2349         dmd/todt.c: Merge DMD 0.163
2351         * phobos/internal/object.d, phobos/std/c/linux/linux.d.orig-dmd,
2352         phobos/std/regexp.d, phobos/std/stdio.d, phobos/std/stream.d:
2353         Merge DMD 0.163
2355 2006-07-12  David Friedman  <dvdfrdmn@users.sf.net>
2357         Release GDC 0.19
2359         * dmd/template.c: don't use ehfilter
2360         * gdc-version: update
2362 2006-07-11  David Friedman  <dvdfrdmn@users.sf.net>
2364         Support for Apple GCC and other fixes
2366         * setup-gcc.sh: patch build_gcc
2367         * patch-build_gcc-4.0: new
2369         * dmd-script: Support -arch option and apple driver naming.
2370         Use absolute path to execute program with -run.
2372 2006-07-10  David Friedman  <dvdfrdmn@users.sf.net>
2374         * phobos/config/darwin8/{frag-gen,frag-math,frag-unix}: new
2375         * phobos/configure.in: support Darwin cross compiling
2376         * phobos/configure.in: updated
2378         * phobos/config/gen_unix.c (c_fcntl): added *_OK enums
2379         * phobos/config/skyos/frag-unix: updated
2381 2006-07-03  David Friedman  <dvdfrdmn@users.sf.net>
2383         * ../../gcc/tree.h, ../../gcc/tree-dump.c: machine readable dump
2384         
2385         Merge DMD 0.162
2387         * d-glue.cc (AssignExp::toElem): use _d_arraysetlength2p
2389         * phobos/internal/gc/gc.d: chanage _d_arraysetlength2 to
2390         _d_arraysetlength2p
2392 2006-07-02  David Friedman  <dvdfrdmn@users.sf.net>
2394         * d-codegen.{h, cc}: support _d_arraysetlength2
2396         * dmd/cast.c, dmd/declaration.c, dmd/doc.c, dmd/expression.c,
2397         dmd/func.c, dmd/mars.c, dmd/mtype.c, dmd/parse.c, dmd/struct.c,
2398         dmd/template.[ch], dmd/toobj.c: merged
2400         * phobos/internal/gc/gc.d, phobos/object.d,
2401         phobos/std/asserterror.d, phobos/std/moduleinit.d: merged
2403         ---
2405         * phobos/std/regexp.d (RegExp.Range.setbitmax): fix for
2406         big endian
2408 2006-06-28  DF  <dvdfrdmn@users.sf.net>
2410         * d-glue.cc (TypeStruct::toCtype, TypeEnum::toCtype): Move
2411         initTypeDecl call to after size calculation.
2413 2006-06-24  David Friedman  <dvdfrdmn@users.sf.net>
2415         * phobos/Makefile.in: fix and clean up config.d dependencies
2417         * d-gcc-real.cc (real_t): fix assumptions about HOST_WIDE_INT
2419 2006-06-23  David Friedman  <dvdfrdmn@users.sf.net>
2421         * Make-lang.in, asmstmt.cc, d-convert.cc, d-gcc-includes.h,
2422           d-lang.cc, setup-gcc.sh: update to support building with Apple
2423           GCC
2424         * d-apple-gcc.cc, patch-apple-gcc-4.0.x: new
2426         Misc fixes
2428         * Make-lang.in: Add dependencies for DMD header files.
2430         * phobos/config/gen_unix.c (c_time): fix array bounds bug
2432 2006-06-22  David Friedman  <dvdfrdmn@users.sf.net>
2434         * Make-lang.in: use BUILD_LDFLAGS for generator progs
2436 2006-06-21  David Friedman  <dvdfrdmn@users.sf.net>
2438         * d-asm-i386.h: implement offset/offsetof
2440 2006-06-20  David Friedman  <dvdfrdmn@users.sf.net>
2442         Merge DMD 0.161
2444         * gcc-mars.cc, gdc-version: updated
2446         * dmd/cast.c, dmd/class.c, dmd/declaration.[ch], dmd/dsymbol.c,
2447         dmd/expression.[ch], dmd/func.c, dmd/idegen.c, dmd/import.h,
2448         dmd/inline.c, dmd/lexer.[ch], dmd/mars.[ch], dmd/module.c,
2449         dmd/mtype.c, dmd/opover.c, dmd/parse.c, dmd/root.[ch],
2450         dmd/statement.c, dmd/struct.c, dmd/template.[ch], dmd/toobj.c:
2451         Merge DMD 0.161
2453         * phobos/internal/adi.d, phobos/internal/cast.d,
2454         phobos/internal/trace.d, phobos/linux.mak,
2455         phobos/std/asserterror.d, phobos/std/base64.d,
2456         phobos/std/bitarray.d, phobos/std/boxer.d,
2457         phobos/std/c/linux/socket.d, phobos/std/c/windows/windows.d,
2458         phobos/std/c/windows/winsock.d, phobos/std/conv.d,
2459         phobos/std/cstream.d, phobos/std/date.d, phobos/std/dateparse.d,
2460         phobos/std/demangle.d, phobos/std/file.d, phobos/std/format.d,
2461         phobos/std/math.d, phobos/std/math2.d, phobos/std/mmfile.d,
2462         phobos/std/random.d, phobos/std/regexp.d, phobos/std/socket.d,
2463         phobos/std/socketstream.d, phobos/std/stream.d,
2464         phobos/std/string.d, phobos/std/stream.d, phobos/std/thread.d,
2465         phobos/std/typeinfo/ti_Along.d, phobos/std/typeinfo/ti_Aulong.d,
2466         phobos/std/tyeinfo/ti_void.d, phobos/std/uni.d, phobos/std/uri.d,
2467         phobos/std/utf.d, phobos/std/windows/registry.d, phobos/std/zip.d,
2468         phobos/std/zlib.d, phobos/std.ddoc, phobos/unittest.d,
2469         phobos/win32.mak: Merge DMD 0.161
2471         * Make-lang.in, d-lang.cc: Possible workaround for MingGW path
2472         issues.  Create d-confdefs.h to contain the values of D_PHOBOS_DIR
2473         and D_PHOBOS_TARGET_DIR.
2475 2006-06-10  David Friedman  <dvdfrdmn@users.sf.net>
2477         * History: new file
2478         * package/install.sif: ditto
2479         * package/simple.sh: 
2480         
2481         * phobos/std/zip.d (putUshort): fix for BigEndian case
2483         * phobos/internal/gc/gcgccextern.d: update for version(freebsd) 
2485         * target-ver-syms.sh: Use "freebsd" for FreeBSD.
2487         * phobos/configure.in: Enable std.loader for FreeBSD.
2488         * phobos/std/loader.d: ditto
2489         * phobos/configure: updated
2491         * Make-lang.in: Support package building. Cleanup.
2493 2006-06-08  David Friedman  <dvdfrdmn@users.sf.net>
2495         * patch-gcc-4.0.x: updated with...
2496         * .../gcc/tree-nested.c: check if static chain is a PARM_DECL
2497         (Bugzilla 175)
2499 2006-06-07  David Friedman  <dvdfrdmn@users.sf.net>
2501         * Make-lang.in: use CXX_FOR_BUILD
2503         * phobos/std/format.d (unittest): Some C libraries do not support
2504         the %A format.
2506 2006-06-06  David Friedman  <dvdfrdmn@users.sf.net>
2508         * phobos/config/skyos/frag-unix: update for SkyOS beta 10
2510 2006-06-05  David Friedman  <dvdfrdmn@users.sf.net>
2512         Merge DMD 0.160
2514         * d-codegen.cc (arrayType): handle zero-length arrays for local
2515         variables.
2517         * gdc-version, gcc-mars.cc: update
2519         * d-glue.cc (NewExp::toElem): support 'exp. new ...'
2521         * d-codegen.{h, cc}: support _d_assert_msg 
2523         * dmd/attrib.c, dmd/enum.c, dmd/expression.[ch], dmd/idgen.c,
2524         dmd/inifile.c, dmd/inline.c, dmd/mars.c, dmd/module.c,
2525         dmd/mtype.c, dmd/opover.c, dmd/parse.[ch], dmd/statement.[ch],
2526         dmd/staticassert.[ch], dmd/struct.c: Merge DMD 0.160
2528         * phobos/std/asserterror.d, phobos/std/regexp.d,
2529         phobos/std/zlib.d, phobos/std.ddoc, phobos/win32.mak: Merge DMD
2530         0.160
2532 2006-06-04  David Friedman  <dvdfrdmn@users.sf.net>
2534         Various fixes
2536         * d-codegen.cc (twoFieldType): cleanup
2538         * phobos/internal/gc/gc_dyld.c: correct callback signature
2540         * phobos/std/format.d (unittest): Undo test change.
2541         (putreal): Handle the case where real is equivalent to double.
2543         * d-glue.cc (TypeClass::toCtype): use prepareTypeDecl instead of
2544         setting an initial TYPE_NAME (Bugzilla 174)
2545         (TypeStruct::toCtype): ditto
2546         (TypeEnum::toCtype): ditto
2548         * d-objfile.{h, cc} (prepareTypeDecl): New: Create type
2549         declarations, but do not declare them to back end.
2551         Merge DMD 0.159 and more
2553         * d-asm-i386.h (parsePrimaryExp): handle floating point const
2554         decls specially (Bugzilla 141)
2556 2006-06-03  David Friedman  <dvdfrdmn@users.sf.net>
2558         * d-glue.cc (AssertExp::toElem): handle interfaces
2560         * phobos/std/math.d (poly): fix for darwin x86
2562         * phobos/std/format.d (unittest): handle some variation in %a
2563         formats
2565         * gdc-version: updated
2567         * gcc-mars.cc: updated
2569         * dmd/attrib.c, dmd/attrib.h, dmd/class.c, dmd/declaration.c,
2570         dmd/doc.c, dmd/expression.c, dmd/expression.h, dmd/func.c,
2571         dmd/link.c, dmd/mars.c, dmd/module.c, dmd/module.h, dmd/parse.c,
2572         dmd/parse.h, dmd/statement.c, dmd/staticassert.c, dmd/struct.c,
2573         dmd/template.c, dmd/toobj.c: Merge DMD 0.159
2575         * phobos/std/c/linux/linux.d.orig-dmd,
2576         phobos/std/c/linux/linuxextern.d, phobos/std/c/windows/windows.d,
2577         phobos/std/regexp.d, phobos/std/string.d, phobos/std/uni.d,
2578         phobos/std.ddoc: Merge DMD 0.159
2580         * dmd-script: use -O3 for GCC if -O is passed
2582         Fix bugs 157, 162, 164, 171
2584         * d-asm-i386.h: 'invlpg' instruction takes an operand (Bug 171)
2586         * patch-gcc-4.0.x: updated with...
2587         * .../gcc/tree-nested.c: use a VAR_DECL for custom static chain
2588         (Bug 162, Bug 164)
2590         * gdc-version: updated
2592         * d-glue.cc (FuncExp::toElem): Handle Tpointer case. (Bug 157)
2594 2006-06-01  David Friedman  <dvdfrdmn@users.sf.net>
2596         * Start of SourceForge repository