Skip to content
Snippets Groups Projects
  • David Malcolm's avatar
    ea1506ad
    libdiagnostics: add a "sarif-replay" command-line tool [PR96032] · ea1506ad
    David Malcolm authored
    
    This patch adds a new "sarif-replay" command-line tool for
    viewing .sarif files.  It uses libdiagnostics to "replay"
    any diagnostics found in the .sarif files in text form as if
    they were GCC diagnostics.
    
    contrib/ChangeLog:
    	PR other/96032
    	* regenerate-sarif-spec-index.py: New file.
    
    gcc/ChangeLog:
    	PR other/96032
    	* Makefile.in (lang_checks): If libdiagnostics is enabled, add
    	check-sarif-replay.
    	(SARIF_REPLAY_OBJS): New.
    	(ALL_HOST_OBJS): If libdiagnostics is enabled, add
    	$(SARIF_REPLAY_OBJS).
    	(sarif-replay): New.
    	(install-libdiagnostics): Add sarif-replay to deps, and install
    	it.
    	* configure: Regenerate.
    	* configure.ac (check_languages): If libdiagnostics is enabled,
    	add check-sarif-replay.
    	(LIBDIAGNOSTICS): If libdiagnostics is enabled, add sarif-replay.
    	* doc/install.texi (--enable-libdiagnostics): Note that it also
    	enables sarif-replay.
    	* libsarifreplay.cc: New file.
    	* libsarifreplay.h: New file.
    	* sarif-replay.cc: New file.
    	* sarif-spec-urls.def: New file.
    
    gcc/testsuite/ChangeLog:
    	PR other/96032
    	* lib/gcc-dg.exp (gcc-dg-test-1): Add "replay-sarif".
    	* lib/sarif-replay-dg.exp: New file.
    	* lib/sarif-replay.exp: New file.
    	* sarif-replay.dg/2.1.0-invalid/3.1-not-an-object.sarif: New test.
    	* sarif-replay.dg/2.1.0-invalid/3.11.11-malformed-placeholder.sarif:
    	New test.
    	* sarif-replay.dg/2.1.0-invalid/3.11.11-missing-arguments-for-placeholders.sarif:
    	New test.
    	* sarif-replay.dg/2.1.0-invalid/3.11.11-not-enough-arguments-for-placeholders.sarif:
    	New test.
    	* sarif-replay.dg/2.1.0-invalid/3.13.2-no-version.sarif: New test.
    	* sarif-replay.dg/2.1.0-invalid/3.13.2-version-not-a-string.sarif:
    	New test.
    	* sarif-replay.dg/2.1.0-invalid/3.13.4-bad-runs.sarif: New test.
    	* sarif-replay.dg/2.1.0-invalid/3.13.4-no-runs.sarif: New test.
    	* sarif-replay.dg/2.1.0-invalid/3.13.4-non-object-in-runs.sarif:
    	New test.
    	* sarif-replay.dg/2.1.0-invalid/3.27.10-bad-level.sarif: New test.
    	* sarif-replay.dg/2.1.0-unhandled/3.27.10-none-level.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/error-with-note.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/escaped-braces.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/null-runs.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/signal-1.c.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/spec-example-1.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/spec-example-2.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/spec-example-3.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/spec-example-4.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/tutorial-example.sarif: New test.
    	* sarif-replay.dg/dg.exp: New script.
    	* sarif-replay.dg/malformed-json/array-missing-comma.sarif: New test.
    	* sarif-replay.dg/malformed-json/array-with-trailing-comma.sarif:
    	New test.
    	* sarif-replay.dg/malformed-json/bad-token.sarif: New test.
    	* sarif-replay.dg/malformed-json/object-missing-comma.sarif: New test.
    	* sarif-replay.dg/malformed-json/object-with-trailing-comma.sarif:
    	New test.
    
    Signed-off-by: default avatarDavid Malcolm <dmalcolm@redhat.com>
    ea1506ad
    History
    libdiagnostics: add a "sarif-replay" command-line tool [PR96032]
    David Malcolm authored
    
    This patch adds a new "sarif-replay" command-line tool for
    viewing .sarif files.  It uses libdiagnostics to "replay"
    any diagnostics found in the .sarif files in text form as if
    they were GCC diagnostics.
    
    contrib/ChangeLog:
    	PR other/96032
    	* regenerate-sarif-spec-index.py: New file.
    
    gcc/ChangeLog:
    	PR other/96032
    	* Makefile.in (lang_checks): If libdiagnostics is enabled, add
    	check-sarif-replay.
    	(SARIF_REPLAY_OBJS): New.
    	(ALL_HOST_OBJS): If libdiagnostics is enabled, add
    	$(SARIF_REPLAY_OBJS).
    	(sarif-replay): New.
    	(install-libdiagnostics): Add sarif-replay to deps, and install
    	it.
    	* configure: Regenerate.
    	* configure.ac (check_languages): If libdiagnostics is enabled,
    	add check-sarif-replay.
    	(LIBDIAGNOSTICS): If libdiagnostics is enabled, add sarif-replay.
    	* doc/install.texi (--enable-libdiagnostics): Note that it also
    	enables sarif-replay.
    	* libsarifreplay.cc: New file.
    	* libsarifreplay.h: New file.
    	* sarif-replay.cc: New file.
    	* sarif-spec-urls.def: New file.
    
    gcc/testsuite/ChangeLog:
    	PR other/96032
    	* lib/gcc-dg.exp (gcc-dg-test-1): Add "replay-sarif".
    	* lib/sarif-replay-dg.exp: New file.
    	* lib/sarif-replay.exp: New file.
    	* sarif-replay.dg/2.1.0-invalid/3.1-not-an-object.sarif: New test.
    	* sarif-replay.dg/2.1.0-invalid/3.11.11-malformed-placeholder.sarif:
    	New test.
    	* sarif-replay.dg/2.1.0-invalid/3.11.11-missing-arguments-for-placeholders.sarif:
    	New test.
    	* sarif-replay.dg/2.1.0-invalid/3.11.11-not-enough-arguments-for-placeholders.sarif:
    	New test.
    	* sarif-replay.dg/2.1.0-invalid/3.13.2-no-version.sarif: New test.
    	* sarif-replay.dg/2.1.0-invalid/3.13.2-version-not-a-string.sarif:
    	New test.
    	* sarif-replay.dg/2.1.0-invalid/3.13.4-bad-runs.sarif: New test.
    	* sarif-replay.dg/2.1.0-invalid/3.13.4-no-runs.sarif: New test.
    	* sarif-replay.dg/2.1.0-invalid/3.13.4-non-object-in-runs.sarif:
    	New test.
    	* sarif-replay.dg/2.1.0-invalid/3.27.10-bad-level.sarif: New test.
    	* sarif-replay.dg/2.1.0-unhandled/3.27.10-none-level.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/error-with-note.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/escaped-braces.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/null-runs.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/signal-1.c.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/spec-example-1.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/spec-example-2.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/spec-example-3.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/spec-example-4.sarif: New test.
    	* sarif-replay.dg/2.1.0-valid/tutorial-example.sarif: New test.
    	* sarif-replay.dg/dg.exp: New script.
    	* sarif-replay.dg/malformed-json/array-missing-comma.sarif: New test.
    	* sarif-replay.dg/malformed-json/array-with-trailing-comma.sarif:
    	New test.
    	* sarif-replay.dg/malformed-json/bad-token.sarif: New test.
    	* sarif-replay.dg/malformed-json/object-missing-comma.sarif: New test.
    	* sarif-replay.dg/malformed-json/object-with-trailing-comma.sarif:
    	New test.
    
    Signed-off-by: default avatarDavid Malcolm <dmalcolm@redhat.com>