1e01aa904Sopenharmony_ci/*
2e01aa904Sopenharmony_ci * Compile this test with:
3e01aa904Sopenharmony_ci *   gcc -c -g test-headers-dir-v0.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#include "headers-b/header-b-v0.h"
11e01aa904Sopenharmony_ci#include "headers-a/header-a-v0.h"
12e01aa904Sopenharmony_ci
13e01aa904Sopenharmony_cistruct opaque_struct
14e01aa904Sopenharmony_ci{
15e01aa904Sopenharmony_ci  int m0;
16e01aa904Sopenharmony_ci  int m1;
17e01aa904Sopenharmony_ci  struct public_struct_type *m2;
18e01aa904Sopenharmony_ci};
19e01aa904Sopenharmony_ci
20e01aa904Sopenharmony_cistruct second_opaque_struct
21e01aa904Sopenharmony_ci{
22e01aa904Sopenharmony_ci  int m0;
23e01aa904Sopenharmony_ci};
24e01aa904Sopenharmony_ci
25e01aa904Sopenharmony_civoid foo(public_struct_pointer_type p __attribute__((unused)))
26e01aa904Sopenharmony_ci{
27e01aa904Sopenharmony_ci}
28e01aa904Sopenharmony_ci
29e01aa904Sopenharmony_civoid
30e01aa904Sopenharmony_cibar(second_public_struct_pointer_type p1 __attribute__((unused)),
31e01aa904Sopenharmony_ci    second_opaque_struct_pointer_type p2 __attribute__((unused)))
32e01aa904Sopenharmony_ci{
33e01aa904Sopenharmony_ci}
34