# gcFunctions should be the inverse, but we get to rely on unmangled names here.
gcFunctions = test.load_gcFunctions() assert"void GC()"in gcFunctions assert"void suppressedFunction()"notin gcFunctions assert"void halfSuppressedFunction()"in gcFunctions assert"void unsuppressedFunction()"in gcFunctions assert"int32 Subcell::method()"in gcFunctions assert"Cell* f()"in gcFunctions
# Type names are handy to have in the report. assert hazmap["cell2"].type == "Cell*" assert hazmap["<returnvalue>"].type == "Cell*" assert hazmap["this"].type == "Subcell*"
ti = test.load_typeInfo()
single = ti["SingleGCField"] assert"Cell"in single
scope = "_Z19partial_assignmentsv::" assert (scope + "A") in single assert (scope + "B") in single assert (scope + "C") notin single # Two Cell* assert (scope + "Aw") in single assert (scope + "Bw") in single assert (scope + "D") notin single # 3 x struct A assert (scope + "Cw") notin single # TwoPointers and PairOfPointers indirectly contain multiple GC pointers, but # only a single field contains them. (So overwriting the field should be treated # as overwriting the whole var.) assert (scope + "TwoPointers") in single assert (scope + "PairOfPointers") in single assert (scope + "Av") in single assert (scope + "AAv") in single
# unsafely taking the address of an unrooted value.
info = test.load_json_file("rootingHazards.json")
refs = [r for r in info if r["record"] == "address"]
reffed_vars = {r["variable"]: r for r in refs} assert"addr_unsafe1"in reffed_vars assert"unsafe_address1()"in reffed_vars["addr_unsafe1"]["functionName"] assert"addr_unsafe2"in reffed_vars assert"unsafe_address2()"in reffed_vars["addr_unsafe2"]["functionName"] assert len(refs) == 2
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.21 Sekunden
(vorverarbeitet am 2026-09-30)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.