public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug other/109163] New: SARIF (and other JSON) output files are non-deterministic
@ 2023-03-16 22:05 dmalcolm at gcc dot gnu.org
  2023-03-16 22:10 ` [Bug other/109163] " dmalcolm at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: dmalcolm at gcc dot gnu.org @ 2023-03-16 22:05 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109163

            Bug ID: 109163
           Summary: SARIF (and other JSON) output files are
                    non-deterministic
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dmalcolm at gcc dot gnu.org
  Target Milestone: ---

gcc/json.cc's json::object uses a hash_map for tracking the key/value pairs,
and object::print iterates through them in arbitrary order, so every time we
emit json files they can potentially vary, which makes it much harder to
compare them from run to run (see e.g. PR 105959).

It would probably be much more user-friendly to use an ordered_hash_map here to
preserve insertion order and thus have deterministic output.  I don't know if
this would have a noticeable performance hit.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-03-31 13:03 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-16 22:05 [Bug other/109163] New: SARIF (and other JSON) output files are non-deterministic dmalcolm at gcc dot gnu.org
2023-03-16 22:10 ` [Bug other/109163] " dmalcolm at gcc dot gnu.org
2023-03-16 22:49 ` dmalcolm at gcc dot gnu.org
2023-03-17 20:57 ` dmalcolm at gcc dot gnu.org
2023-03-24 15:41 ` cvs-commit at gcc dot gnu.org
2023-03-31 13:03 ` dmalcolm at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).