json: reduce use of naked new in json-building code
commit070944fdd6394c992885f33f5bde8a231d37fa7f
authorDavid Malcolm <dmalcolm@redhat.com>
Tue, 14 Nov 2023 16:01:39 +0000 (14 11:01 -0500)
committerDavid Malcolm <dmalcolm@redhat.com>
Tue, 14 Nov 2023 16:01:39 +0000 (14 11:01 -0500)
tree64c7c7f0674a3bc0084122c1cdb674812993d75d
parent4db820928065eccbeb725406450d826186582b9f
json: reduce use of naked new in json-building code

No functional change intended.

gcc/ChangeLog:
* diagnostic-format-json.cc: Use type-specific "set_*" functions
of json::object to avoid naked new of json value subclasses.
* diagnostic-format-sarif.cc: Likewise.
* gcov.cc: Likewise.
* json.cc (object::set_string): New.
(object::set_integer): New.
(object::set_float): New.
(object::set_bool): New.
(selftest::test_writing_objects): Use object::set_string.
* json.h (object::set_string): New decl.
(object::set_integer): New decl.
(object::set_float): New decl.
(object::set_bool): New decl.
* optinfo-emit-json.cc: Use type-specific "set_*" functions of
json::object to avoid naked new of json value subclasses.
* timevar.cc: Likewise.
* tree-diagnostic-path.cc: Likewise.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
gcc/diagnostic-format-json.cc
gcc/diagnostic-format-sarif.cc
gcc/gcov.cc
gcc/json.cc
gcc/json.h
gcc/optinfo-emit-json.cc
gcc/timevar.cc
gcc/tree-diagnostic-path.cc