2016-04-13 10 views

Antwort

0

Sie können es auf die gleiche Weise tun - der Coverage-Instrumentation-Pass wird auf der IR-Ebene implementiert und clang kann IR-Dateien (.ll) als Eingabe akzeptieren. Stellen Sie nur sicher, dass diese Dateien über Debug-Informationen verfügen.

+0

Es funktioniert nicht im Anschluss an diese Schritte: 1) 'clang -S-emit-llvm -c test.c' 2)' clang -o-Test-fprofil-Bögen -test-coverage test.ll' 3) ' ./test' Es erzeugt keine gcno-Datei oder Debug-Datei. Was ist los? Können Sie mir ein korrektes Beispiel geben? Grüße – user1301985

+0

@ user1301985 Wie gesagt, die Dateien müssen Debug-Informationen haben. Übergeben Sie "-g" in Schritt 1. –

+0

Mit Ihrem Vorschlag kann ich die Berichterstattung über C-Code bewerten. Ich bin nicht interessiert an Code-Coverage in C (Es war nur ein Beispiel.) Ich habe einen Code-Generator von meiner Sprache zu llvm IR. Ich möchte Code Abdeckung auf der LLVM IR produziert werden. – user1301985