1e01aa904Sopenharmony_ci/*
2e01aa904Sopenharmony_ci * Compile this test with:
3e01aa904Sopenharmony_ci *   gcc -c -g test-headers-dir-v1.c
4e01aa904Sopenharmony_ci *
5e01aa904Sopenharmony_ci *   This test exhibits changes that are redundant in a weird way.
6e01aa904Sopenharmony_ci *   The redundant path through the diff graph involves typedefs,
7e01aa904Sopenharmony_ci *   function types and function parameter diff nodes.
8e01aa904Sopenharmony_ci *
9e01aa904Sopenharmony_ci */
10e01aa904Sopenharmony_ci
11e01aa904Sopenharmony_ci#include "headers-b/header-b-v1.h"
12e01aa904Sopenharmony_ci#include "headers-a/header-a-v1.h"
13e01aa904Sopenharmony_ci
14e01aa904Sopenharmony_cistruct opaque_struct
15e01aa904Sopenharmony_ci{
16e01aa904Sopenharmony_ci  int m0;
17e01aa904Sopenharmony_ci  int m1;
18e01aa904Sopenharmony_ci  struct public_struct_type *m2;
19e01aa904Sopenharmony_ci  char m3;
20e01aa904Sopenharmony_ci};
21e01aa904Sopenharmony_ci
22e01aa904Sopenharmony_cistruct second_opaque_struct
23e01aa904Sopenharmony_ci{
24e01aa904Sopenharmony_ci  int m0;
25e01aa904Sopenharmony_ci  char m1;
26e01aa904Sopenharmony_ci};
27e01aa904Sopenharmony_ci
28e01aa904Sopenharmony_civoid foo(public_struct_pointer_type p __attribute__((unused)))
29e01aa904Sopenharmony_ci{
30e01aa904Sopenharmony_ci}
31e01aa904Sopenharmony_ci
32e01aa904Sopenharmony_civoid
33e01aa904Sopenharmony_cibar(second_public_struct_pointer_type p1 __attribute__((unused)),
34e01aa904Sopenharmony_ci    second_opaque_struct_pointer_type p2 __attribute__((unused)))
35e01aa904Sopenharmony_ci{
36e01aa904Sopenharmony_ci}
37