OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [compat/] [struct-align-2_y.c] - Rev 689

Compare with Previous | Blame | View Log

/* { dg-options "-Wno-psabi" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
 
/* Disable this test for 16-bit targets.  */
 
#include <limits.h>
 
#if !(defined __GNUC__) || (INT_MAX > 32767)
 
#include "compat-common.h"
#include "struct-align-2.h"
 
#define TEST(NAME)						\
struct outer_##NAME {						\
  int i;							\
  struct epoll_event_##NAME ee;					\
};								\
								\
extern unsigned int v1_##NAME;					\
extern unsigned int v2_##NAME;					\
extern unsigned long long v3_##NAME;				\
								\
extern struct outer_##NAME s_##NAME[2];				\
								\
extern void pass_##NAME (struct outer_##NAME);			\
extern struct outer_##NAME return_##NAME (void);		\
								\
void								\
checkp_##NAME (struct outer_##NAME *p)				\
{								\
  if (p->i != v1_##NAME)					\
    DEBUG_CHECK;						\
  if (p->ee.events != v2_##NAME)				\
    DEBUG_CHECK;						\
  if (p->ee.data != v3_##NAME)					\
    DEBUG_CHECK;						\
}								\
								\
void								\
test_##NAME (void)						\
{								\
  struct outer_##NAME s;					\
  DEBUG_FPUTS (DESC_##NAME);					\
  DEBUG_NL;							\
  DEBUG_FPUTS ("  global array");				\
  checkp_##NAME (&s_##NAME[0]);					\
  checkp_##NAME (&s_##NAME[1]);					\
  DEBUG_NL;							\
  DEBUG_FPUTS ("  argument");					\
  pass_##NAME (s_##NAME[0]);					\
  DEBUG_NL;							\
  DEBUG_FPUTS ("  function result");				\
  s = return_##NAME ();						\
  checkp_##NAME (&s);						\
  DEBUG_NL;							\
}
 
TEST (orig)
#ifndef SKIP_ATTRIBUTE
TEST (structmax)
TEST (struct4)
TEST (struct8)
TEST (data4)
TEST (data8)
TEST (p)
TEST (pstruct4)
TEST (pstruct8)
TEST (pdata4)
TEST (pdata8)
#endif
 
#else
 
int i;  /* prevent compiling an empty file */
 
#endif  /* INT_MAX */
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.