view tests/mini/with3.d @ 978:6a32d2e18175

Fix a latent bug in the asm code. I think that technically, using "*m0" instead of "*0" allows LLVM to pick between using the same memory as output 0 and using a new memory location. (So far I haven't been able to construct a testcase that actually breaks because of this, though)
author Frits van Bommel <fvbommel wxs.nl>
date Wed, 18 Feb 2009 03:38:12 +0100
parents 0cc0c6b53372
children
line wrap: on
line source

enum fields 
{ 
    FIELD1, 
    FIELD2 
} 
 
fields find_field(fields f) { 
    with(fields) { 
        switch(f) { 
        case FIELD1:  
	  return FIELD1;
        default: 
	  return FIELD2;
        } 
    } 
} 
 
void main() { 
  assert(find_field(fields.FIELD1) == fields.FIELD1);
  assert(find_field(fields.FIELD2) == fields.FIELD2);
}