xref: /third_party/ltp/tools/sparse/sparse-src/validation/bug_inline_switch.c
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/ltp/tools/sparse/sparse-src/validation/
1f08c3bdfSopenharmony_ci
2f08c3bdfSopenharmony_ci#define __u16 unsigned short
3f08c3bdfSopenharmony_ciint foo(__u16 n);
4f08c3bdfSopenharmony_cistatic inline __u16 f(__u16 val)
5f08c3bdfSopenharmony_ci{
6f08c3bdfSopenharmony_ci       return val;
7f08c3bdfSopenharmony_ci}
8f08c3bdfSopenharmony_ci
9f08c3bdfSopenharmony_cistatic inline unsigned int bar(__u16 n)
10f08c3bdfSopenharmony_ci{
11f08c3bdfSopenharmony_ci      switch (n) {
12f08c3bdfSopenharmony_ci      case (1 ? 1 : f(1)):
13f08c3bdfSopenharmony_ci              return 4;
14f08c3bdfSopenharmony_ci      }
15f08c3bdfSopenharmony_ci}
16f08c3bdfSopenharmony_ci
17f08c3bdfSopenharmony_ciint foo(__u16 n)
18f08c3bdfSopenharmony_ci{
19f08c3bdfSopenharmony_ci       bar(n);
20f08c3bdfSopenharmony_ci       bar(n);
21f08c3bdfSopenharmony_ci       return 0;
22f08c3bdfSopenharmony_ci}
23f08c3bdfSopenharmony_ci/*
24f08c3bdfSopenharmony_ci * check-name: inlining switch statement
25f08c3bdfSopenharmony_ci */
26

Indexes created Thu Nov 07 10:32:03 CST 2024