view tests/mini/with3.d @ 1330:459b6b6f9a8d

Fixed D-style vararg arguments with types that have sizes bigger that pointers, yet are not aligned to pointer sizes. Fixes ticket #276 .
author Tomas Lindquist Olsen <tomas.l.olsen gmail com>
date Sun, 10 May 2009 04:37:03 +0200
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);
}