comparison dmd/declaration.h @ 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 45a67b6f1310
comparison
equal deleted inserted replaced
444:f2b5f86348ef 445:cc40db549aea
640 640
641 // llvmdc stuff 641 // llvmdc stuff
642 std::set<VarDeclaration*> nestedVars; 642 std::set<VarDeclaration*> nestedVars;
643 std::string intrinsicName; 643 std::string intrinsicName;
644 644
645 bool isIntrinsic();
646 bool isVaIntrinsic();
647
645 // we keep our own table of label statements as LabelDsymbolS 648 // we keep our own table of label statements as LabelDsymbolS
646 // don't always carry their corresponding statement along ... 649 // don't always carry their corresponding statement along ...
647 typedef std::map<const char*, LabelStatement*> LabelMap; 650 typedef std::map<const char*, LabelStatement*> LabelMap;
648 LabelMap labmap; 651 LabelMap labmap;
649 }; 652 };