int expect_error = 0;
/* Must be BLKmode. Using only two fields gets TImode on Alpha. */
-struct S {
+struct S
+{
unsigned long long ll;
- long xx, yy;
+ long xx;
+ long yy;
};
-unsigned long long x = 0x12345689ULL;
-#define I2 42
-
-/* Leading six arguments force X into stack on both Alpha and MIPS. */
+unsigned long long x = 0x12345689ULL;
+#define I2 42
static int first_time = 1;
-int foo (int a1, int a2, int a3, int a4, int a5, int a6, struct S s) {
- if (a1 != 1 || a2 != 2 || a3 != 3 || a4 != 4 || a5 != 5 || a6 != 6)
+
+/* Leading ten arguments force struct S onto the stack on both Alpha and MIPS. */
+int
+foo (int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9, int a10,
+ struct S s)
+{
+ if (a1 != 1 || a2 != 2 || a3 != 3 || a4 != 4 || a5 != 5 || a6 != 6 || a7 != 7
+ || a8 != 8 || a9 !=9 || a10 != 10)
abort ();
+
if (first_time)
{
if (s.ll != x || s.xx != I2 || s.yy != 0)
abort ();
+
first_time = 0;
}
else
if (s.ll != 0 || s.xx != 0 || s.yy != 0)
abort ();
}
+
return 0;
}
-void test ()
+void
+test ()
{
- foo (1, 2, 3, 4, 5, 6, (struct S) { x, I2 });
- foo (1, 2, 3, 4, 5, 6, (struct S) { 0 });
+ foo (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, (struct S) { x, I2 });
+ foo (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, (struct S) { 0 });
}
-void setup () /* NOCHECK */
+void
+setup () /* NOCHECK */
{
mark_region (&x, sizeof (x), ACCESS_RO);
mark_region (&first_time, sizeof (first_time), ACCESS_RW);
int debug = 0;
int bad_accesses = 0;
-const char *const memory_use_strings[] = {
+const char *const memory_use_strings[] =
+{
#define INIT(x) [x] = #x
INIT (MEMORY_USE_BAD),
INIT (MEMORY_USE_DONT),
/* This won't be used for any really huge test cases, so a simple
linked list is adequate. We won't even worry about overlapping
regions; the matching entry that comes up first wins. */
-const char *const access_mode_strings[] = {
+const char *const access_mode_strings[] =
+{
"none", "ro", "wo", "rw",
};
-struct access_node {
+struct access_node
+{
struct access_node *next;
const void *addr;
size_t sz;
static struct access_node *access_list;
-void mark_region (const void *addr, size_t sz, enum access_mode mode)
+void
+mark_region (const void *addr, size_t sz, enum access_mode mode)
{
struct access_node *a;
if (debug)
}
void report_bad_access (void *, size_t, enum memory_use_mode) NOCHECK;
-void report_bad_access (void *addr, size_t sz, enum memory_use_mode mode)
+void
+report_bad_access (void *addr, size_t sz, enum memory_use_mode mode)
{
if (++bad_accesses > 100)
bad_accesses = 100;
}
int verify1 (void *, size_t, enum access_mode, struct access_node *) NOCHECK;
-int verify1 (void *addr, size_t sz, enum access_mode mode,
- struct access_node *a)
+int
+verify1 (void *addr, size_t sz, enum access_mode mode,
+ struct access_node *a)
{
while (a && (addr + sz <= a->addr || addr >= a->addr + a->sz))
a = a->next;
}
int verify_range_permission (void *, size_t, enum access_mode) NOCHECK;
-
-int verify_range_permission (void *addr, size_t sz, enum access_mode mode)
+int
+verify_range_permission (void *addr, size_t sz, enum access_mode mode)
{
if (debug)
printf ("verify_range_permission (%p, %ld, %s)\n", addr, (long) sz,
}
void chkr_check_addr (void *, size_t, int) NOCHECK;
-
-void chkr_check_addr (void *addr, size_t sz, int mode)
+void
+chkr_check_addr (void *addr, size_t sz, int mode)
{
switch (mode)
{
}
void copy1 (void *, void *, size_t, struct access_node *) NOCHECK;
-void copy1 (void *dest, void *src, size_t sz, struct access_node *a)
+void
+copy1 (void *dest, void *src, size_t sz, struct access_node *a)
{
while (a && (src + sz <= a->addr || src >= a->addr + a->sz))
a = a->next;
}
void chkr_copy_bitmap (void *, void *, size_t) NOCHECK;
-void chkr_copy_bitmap (void *dest, void *src, size_t sz)
+void
+chkr_copy_bitmap (void *dest, void *src, size_t sz)
{
if (verify_range_permission (dest, sz, MEMORY_USE_WO) == 0)
report_bad_access (dest, sz, MEMORY_USE_WO);
}
void chkr_set_right (void *, size_t, enum access_mode) NOCHECK;
-void chkr_set_right (void *addr, size_t sz, enum access_mode mode)
+void
+chkr_set_right (void *addr, size_t sz, enum access_mode mode)
{
mark_region (addr, sz, mode);
}
int main () NOCHECK;
-int main ()
+int
+main ()
{
setup ();
test ();
bad_accesses = !!bad_accesses; /* get 0 or 1 */
- /* Return 0 if got expected results, 1 otherwise. */
- return !(bad_accesses == expect_error);
+
+ if (bad_accesses == expect_error)
+ exit (0);
+ else
+ abort ();
+
+ return 0;
}
-struct malloc_node {
+struct malloc_node
+{
struct malloc_node *next;
void *addr;
size_t sz;
};
static struct malloc_node *malloc_list;
-void *c_malloc (size_t sz)
+void *
+c_malloc (size_t sz)
{
void *p;
struct malloc_node *m;
return p;
}
-void c_free (void *p)
+void
+c_free (void *p)
{
struct malloc_node *m;
if (p == 0)