Mercurial > projects > ldc
annotate LICENSE @ 1047:6bb04dbee21f
Some calling convention work for x86-64:
- Implement x86-64 extern(C), hopefully correctly.
- Tried to be a bit smarter about extern(D) while I was there.
Interestingly, this code seems to be generating more efficient code than
gcc and llvm-gcc in some edge cases, like returning a `{ [7 x i8] }` loaded from
a stack slot from an extern(C) function. (gcc generates 7 1-byte loads, while
this code generates a 4-byte, a 2-byte and a 1-byte load)
I also added some changes to make sure structs being returned from functions or
passed in as parameters are stored in memory where the rest of the backend seems
to expect them to be. These should be removed when support for first-class
aggregates improves.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Fri, 06 Mar 2009 16:00:47 +0100 |
parents | 6cffbfff0363 |
children |
rev | line source |
---|---|
664
eef8ac26c66c
Some missed LLVMDC -> LDC.
Christian Kamm <kamm incasoftware de>
parents:
434
diff
changeset
|
1 LDC is released under the "three-clause BSD" license reproduced below with |
434 | 2 the following exceptions: |
3 | |
4 The DMD frontend in dmd/* is originally written by Walter Bright and released | |
5 under the artistic license (dmd/artistic.txt) or the GPL version 1 (dmd/gpl.txt). | |
6 | |
878
6cffbfff0363
Update to license to adjust inline asm file names and years.
Christian Kamm <kamm incasoftware de>
parents:
693
diff
changeset
|
7 The files gen/asmstmt.cpp and gen/asm-*.h were originally written by David |
434 | 8 Friedman for GDC and released under the artistic license (dmd/artistic.txt) or |
9 the GPL version 2 or later. | |
10 | |
11 | |
12 -- "three-clause BSD" -- | |
878
6cffbfff0363
Update to license to adjust inline asm file names and years.
Christian Kamm <kamm incasoftware de>
parents:
693
diff
changeset
|
13 Copyright (c) 2007-2009 LDC Team. |
434 | 14 All rights reserved. |
15 | |
16 Redistribution and use in source and binary forms, with or without modification, | |
17 are permitted provided that the following conditions are met: | |
18 | |
19 * Redistributions of source code must retain the above copyright notice, this | |
20 list of conditions and the following disclaimer. | |
21 * Redistributions in binary form must reproduce the above copyright notice, this | |
22 list of conditions and the following disclaimer in the documentation and/or | |
23 other materials provided with the distribution. | |
664
eef8ac26c66c
Some missed LLVMDC -> LDC.
Christian Kamm <kamm incasoftware de>
parents:
434
diff
changeset
|
24 * Neither the name of the LDC Team nor the names of its contributors may be |
434 | 25 used to endorse or promote products derived from this software without specific |
26 prior written permission. | |
27 | |
28 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY | |
29 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | |
30 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT | |
31 SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |
32 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED | |
33 TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |
34 BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | |
35 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN | |
36 ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH | |
37 DAMAGE. | |
693
3112d269dd95
Trivial change to test auth.
Christian Kamm <kamm incasoftware de>
parents:
664
diff
changeset
|
38 |