linux/tools/perf/ui
James Clark f2195c5b43 perf annotate: Fix Clang build by adding block in switch case
Clang and GCC disagree with what constitutes a "declaration after
statement". GCC allows declarations in switch cases without an extra
block, as long as it's immediately after the label. Clang does not.
Unfortunately this is the case even in the latest versions of both
compilers. The only option that makes them behave in the same way is
-Wpedantic, which can't be enabled in Perf because of the number of
warnings it generates.

Add a block to fix the Clang build, which is the only thing we can do.

Fixes the build error:

  ui/browsers/annotate.c:999:4: error: expected expression
  struct annotation_line *al = NULL;

  ui/browsers/annotate.c:1008:4: error: use of undeclared identifier 'al'
  al = annotated_source__get_line(notes->src, offset);

  ui/browsers/annotate.c:1009:24: error: use of undeclared identifier 'al'
  browser->curr_hot = al ? &al->rb_node : NULL;

  ui/browsers/annotate.c:1009:30: error: use of undeclared identifier 'al'
  browser->curr_hot = al ? &al->rb_node : NULL;

  ui/browsers/annotate.c:1000:8: error: mixing declarations and code is incompatible with standards before C99 [-Werror,-Wdeclaration-after-statement]
  s64 offset = annotate_browser__curr_hot_offset(browser);

Fixes: ad83f3b715 ("perf c2c annotate: Start from the contention line")
Signed-off-by: James Clark <james.clark@linaro.org>
Reviewed-by: Ian Rogers <irogers@google.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
2025-10-23 14:28:58 -07:00
..
browsers perf annotate: Fix Clang build by adding block in switch case 2025-10-23 14:28:58 -07:00
gtk perf annotate: Prefer passing evsel to evsel->core.idx 2025-01-18 10:02:10 -08:00
stdio perf hist: Support multi-line header 2025-05-02 15:36:14 -03:00
tui perf debug: Add function symbols to dump_stack 2025-06-25 10:59:19 -07:00
browser.c perf ui browser: Accept the left arrow key as a Zoom out if done on the first column 2025-04-10 10:46:41 -03:00
browser.h perf evlist: Change env variable to session 2025-07-25 10:37:56 -07:00
Build perf ui browser: Add key_name() helper 2025-04-10 10:45:37 -03:00
helpline.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
helpline.h perf tools: Remove needless evlist.h include directives 2019-08-31 22:24:10 -03:00
hist.c perf mem: Show absolute percent in mem_stat output 2025-05-28 14:42:20 -03:00
keysyms.c perf ui browser: Add key_name() helper 2025-04-10 10:45:37 -03:00
keysyms.h perf ui browser: Add key_name() helper 2025-04-10 10:45:37 -03:00
libslang.h tools build: Remove feature-libslang-include-subdir 2025-10-03 16:49:51 -03:00
progress.c perf tools: Remove needless evlist.h include directives 2019-08-31 22:24:10 -03:00
progress.h Merge branch 'linus' into perf/core, to fix conflicts 2017-11-07 10:30:18 +01:00
setup.c perf ui: Move window resize signal functions 2023-04-10 19:20:38 -03:00
ui.h perf ui: Move window resize signal functions 2023-04-10 19:20:38 -03:00
util.c perf tools: Fix "kernel lock contention analysis" test by not printing warnings in quiet mode 2022-10-27 16:37:26 -03:00
util.h tools ui popup: Allow returning hotkeys 2020-01-06 11:46:10 -03:00