Mercurial > projects > ldc
comparison gen/d-asm-i386.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 | e04389bafb3e |
children | 45a67b6f1310 |
comparison
equal
deleted
inserted
replaced
444:f2b5f86348ef | 445:cc40db549aea |
---|---|
2394 break; | 2394 break; |
2395 case TOKfloat32v: | 2395 case TOKfloat32v: |
2396 case TOKfloat64v: | 2396 case TOKfloat64v: |
2397 case TOKfloat80v: | 2397 case TOKfloat80v: |
2398 // %% need different types? | 2398 // %% need different types? |
2399 if (global.params.useFP80) | 2399 e = new RealExp(stmt->loc, token->float80value, Type::tfloat80); |
2400 e = new RealExp(stmt->loc, token->float80value, Type::tfloat80); | |
2401 else | |
2402 e = new RealExp(stmt->loc, token->float80value, Type::tfloat64); | |
2403 nextToken(); | 2400 nextToken(); |
2404 break; | 2401 break; |
2405 case TOKidentifier: | 2402 case TOKidentifier: |
2406 { | 2403 { |
2407 ident = token->ident; | 2404 ident = token->ident; |