annotate tests/mini/bug71.d @ 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 1bb99290e03a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
108
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
1 module bug71;
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
2
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
3 void main()
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
4 {
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
5 static TypeInfo skipCI(TypeInfo valti)
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
6 {
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
7 while (1)
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
8 {
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
9 if (valti.classinfo.name.length == 18 &&
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
10 valti.classinfo.name[9..18] == "Invariant")
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
11 valti = (cast(TypeInfo_Invariant)valti).next;
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
12 else if (valti.classinfo.name.length == 14 &&
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
13 valti.classinfo.name[9..14] == "Const")
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
14 valti = (cast(TypeInfo_Const)valti).next;
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
15 else
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
16 break;
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
17 }
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
18 return valti;
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
19 }
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff changeset
20 }