[llvm-commits] [llvm] r157450 - /llvm/trunk/runtime/libprofile/GCDAProfiling.c
Bill Wendling
isanbard at gmail.com
Thu May 24 17:55:38 PDT 2012
Author: void
Date: Thu May 24 19:55:38 2012
New Revision: 157450
URL: http://llvm.org/viewvc/llvm-project?rev=157450&view=rev
Log:
Don't call exit from a runtime.
Modified:
llvm/trunk/runtime/libprofile/GCDAProfiling.c
Modified: llvm/trunk/runtime/libprofile/GCDAProfiling.c
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/runtime/libprofile/GCDAProfiling.c?rev=157450&r1=157449&r2=157450&view=diff
==============================================================================
--- llvm/trunk/runtime/libprofile/GCDAProfiling.c (original)
+++ llvm/trunk/runtime/libprofile/GCDAProfiling.c Thu May 24 19:55:38 2012
@@ -121,7 +121,7 @@
fprintf(stderr, "LLVM profiling runtime: while opening '%s': ",
cptr ? cptr + 1 : orig_filename);
perror("");
- exit(1);
+ return;
}
}
@@ -167,6 +167,7 @@
#ifdef DEBUG_GCDAPROFILING
printf("llvmgcda: function id=%x\n", ident);
#endif
+ if (!output_file) return;
/* function tag */
fwrite("\0\0\0\1", 4, 1, output_file);
@@ -179,7 +180,9 @@
void llvm_gcda_emit_arcs(uint32_t num_counters, uint64_t *counters) {
uint32_t i;
- /* counter #1 (arcs) tag */
+
+ /* Counter #1 (arcs) tag */
+ if (!output_file) return;
fwrite("\0\0\xa1\1", 4, 1, output_file);
write_int32(num_counters * 2);
for (i = 0; i < num_counters; ++i) {
@@ -196,6 +199,7 @@
void llvm_gcda_end_file() {
/* Write out EOF record. */
+ if (!output_file) return;
fwrite("\0\0\0\0\0\0\0\0", 8, 1, output_file);
fclose(output_file);
output_file = NULL;
More information about the llvm-commits
mailing list