Mercurial > projects > ldc
diff dmd/id.c @ 445:cc40db549aea
Changed the handling of variadic intrinsics a bit.
Removed the -fp80 option and made real be 80bit floats on X86, this is what the D spec really says it should be and fixes a bunch of issues.
Changed the handling of parameter attributes to a bit more generalized approach.
Added sext/zext attributes for byte/short/ubyte/ushort parameters, fixes #60 .
Parameter attribs now properly set for intrinsic calls if necessary.
Made the tango.math.Math patch less intrusive.
Fixed/added some mini tests.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Fri, 01 Aug 2008 17:59:58 +0200 |
parents | 44f08170f4ef |
children | a34078905d01 |
line wrap: on
line diff
--- a/dmd/id.c Fri Aug 01 01:12:33 2008 +0200 +++ b/dmd/id.c Fri Aug 01 17:59:58 2008 +0200 @@ -171,9 +171,11 @@ Identifier *Id::va_intrinsic; Identifier *Id::no_typeinfo; Identifier *Id::no_moduleinfo; -Identifier *Id::alloca; -Identifier *Id::va_start; -Identifier *Id::va_arg; +Identifier *Id::Alloca; +Identifier *Id::vastart; +Identifier *Id::vacopy; +Identifier *Id::vaend; +Identifier *Id::vaarg; Identifier *Id::tohash; Identifier *Id::tostring; Identifier *Id::main; @@ -350,9 +352,11 @@ va_intrinsic = Lexer::idPool("va_intrinsic"); no_typeinfo = Lexer::idPool("no_typeinfo"); no_moduleinfo = Lexer::idPool("no_moduleinfo"); - alloca = Lexer::idPool("alloca"); - va_start = Lexer::idPool("va_start"); - va_arg = Lexer::idPool("va_arg"); + Alloca = Lexer::idPool("alloca"); + vastart = Lexer::idPool("va_start"); + vacopy = Lexer::idPool("va_copy"); + vaend = Lexer::idPool("va_end"); + vaarg = Lexer::idPool("va_arg"); tohash = Lexer::idPool("toHash"); tostring = Lexer::idPool("toString"); main = Lexer::idPool("main");