diff --git a/compiler/i386/n386set.pas b/compiler/i386/n386set.pas index 4be8e8643e..4239f9a2df 100644 --- a/compiler/i386/n386set.pas +++ b/compiler/i386/n386set.pas @@ -118,6 +118,13 @@ implementation compares,maxcompares:word; i:byte; begin + if byteset(Aset^)=[] then + {The expression... + if expr in [] + ...is allways false. It should be optimized away in the + resulttype pass, and thus never occur here. Since we + do generate wrong code for it, do internalerror.} + internalerror(2002072301); analizeset:=false; ranges:=false; numparts:=0; @@ -1016,7 +1023,10 @@ begin end. { $Log$ - Revision 1.35 2002-07-20 11:58:04 florian + Revision 1.36 2002-07-23 14:31:00 daniel + * Added internal error when asked to generate code for 'if expr in []' + + Revision 1.35 2002/07/20 11:58:04 florian * types.pas renamed to defbase.pas because D6 contains a types unit so this would conflicts if D6 programms are compiled + Willamette/SSE2 instructions to assembler added diff --git a/compiler/ncgset.pas b/compiler/ncgset.pas index 16caec8c67..7fff09e08b 100644 --- a/compiler/ncgset.pas +++ b/compiler/ncgset.pas @@ -148,6 +148,13 @@ implementation compares,maxcompares:word; i:byte; begin + if Aset=[] then + {The expression... + if expr in [] + ...is allways false. It should be optimized away in the + resulttype pass, and thus never occur here. Since we + do generate wrong code for it, do internalerror.} + internalerror(2002072301); analizeset:=false; ranges:=false; numparts:=0; @@ -584,7 +591,10 @@ begin end. { $Log$ - Revision 1.9 2002-07-23 12:34:30 daniel + Revision 1.10 2002-07-23 14:31:00 daniel + * Added internal error when asked to generate code for 'if expr in []' + + Revision 1.9 2002/07/23 12:34:30 daniel * Readded old set code. To use it define 'oldset'. Activated by default for ppc.