/* $NetBSD: opt_dj.c,v 1.9 2023/06/26 12:21:18 rillig Exp $ */
/*
* Tests for the options '-dj' and '-ndj'.
*
* The option '-dj' left-justifies declarations of local variables.
*
* The option '-ndj' indents declarations the same as code.
*/
/* For top-level declarations, '-dj' and '-ndj' produce the same output. */
//indent input
int i;
int *ip;
const char *ccp;
const void *****vppppp;
const void ******vpppppp;
const void ********vpppppppp;
//indent end
//indent run -dj
int i;
int *ip;
const char *ccp;
const void *****vppppp;
const void ******vpppppp;
const void ********vpppppppp;
//indent end
//indent run-equals-prev-output -ndj
//indent input
void example(void) {
int decl;
code();
}
//indent end
//indent run -dj
void
example(void)
{
int decl;
code();
}
//indent end
//indent run -ndj
void
example(void)
{
int decl;
code();
}
//indent end
/*
* The option '-dj' does not influence traditional function definitions.
*/
//indent input
double
dbl_plus3(a, b, c)
double a, b, c;
{
return a + b + c;
}
//indent end
//indent run -dj
double
dbl_plus3(a, b, c)
double a, b, c;
{
return a + b + c;
}
//indent end
//indent input
struct a {
struct b {
struct c {
struct d1 {
int e;
} d1;
struct d2 {
int e;
} d2;
} c;
} b;
};
//indent end
//indent run -d0
struct a {
struct b {
struct c {
struct d1 {
int e;
} d1;
struct d2 {
int e;
} d2;
} c;
} b;
};
//indent end
//indent run-equals-prev-output -dj
//indent run-equals-input -di0
//indent input
{
{
struct a {
struct b {
struct c {
struct d1 {
int e;
} d1;
struct d2 {
int e;
} d2;
} c;
} b;
};
}
}
//indent end
//indent run -dj
{
{
struct a {
struct b {
struct c {
struct d1 {
int e;
} d1;
struct d2 {
int e;
} d2;
} c;
} b;
};
}
}
//indent end