/* APPLE LOCAL file radar 5781140 */
/* Check for correct treatment of empty struct when computing ivar layout. */
/* { dg-do run { target powerpc*-*-darwin* i?86*-*-darwin* } } */
/* { dg-options "-mmacosx-version-min=10.5 -Wno-pointer-sign -framework Foundation -fobjc-gc" } */
/* { dg-require-effective-target objc_gc } */

#import <Foundation/Foundation.h>
#import <objc/runtime.h>


//  gcc-4.2 -c test2.m -fobjc-gc
@interface F  : NSObject { id id1; struct { } x; uintptr_t i; id id2; } @end
@implementation F @end

int main()
{
	
  const char *layout = class_getIvarLayout([F class]);

  /* Desired layout: skip 0, scan 2 (isa, ivar); skip 1 (uintptr_t i), scan 1 (id id2). */
  if (!layout  ||  0 != strcmp(layout, "\x02\x11"))
        abort ();
  return 0;
}

