diff options
| author | Tobias Grosser <grosser@fim.uni-passau.de> | 2011-08-20 11:11:18 +0000 |
|---|---|---|
| committer | Tobias Grosser <grosser@fim.uni-passau.de> | 2011-08-20 11:11:18 +0000 |
| commit | 15f5efff8f44ccbb3c1f184bbd858c2b7ff5be4f (patch) | |
| tree | 2931ee6c58cab4ecda225506d00322c397e3f98a /polly/lib/Support/GICHelper.cpp | |
| parent | eec4d56e63acccf6df09fe33c40a055db47a004f (diff) | |
| download | bcm5719-llvm-15f5efff8f44ccbb3c1f184bbd858c2b7ff5be4f.tar.gz bcm5719-llvm-15f5efff8f44ccbb3c1f184bbd858c2b7ff5be4f.zip | |
GICHelper: Fix memory leaks, as we forgot to free some strings.
llvm-svn: 138203
Diffstat (limited to 'polly/lib/Support/GICHelper.cpp')
| -rw-r--r-- | polly/lib/Support/GICHelper.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/polly/lib/Support/GICHelper.cpp b/polly/lib/Support/GICHelper.cpp index 52f2b3637bf..3d8b5f6a24d 100644 --- a/polly/lib/Support/GICHelper.cpp +++ b/polly/lib/Support/GICHelper.cpp @@ -62,7 +62,9 @@ APInt polly::APInt_from_MPZ (const mpz_t mpz) { std::string polly::stringFromIslObj(/*__isl_keep*/ isl_map *map) { isl_printer *p = isl_printer_to_str(isl_map_get_ctx(map)); isl_printer_print_map(p, map); - std::string string(isl_printer_get_str(p)); + char *char_str = isl_printer_get_str(p); + std::string string(char_str); + free(char_str); isl_printer_free(p); return string; } @@ -70,7 +72,9 @@ std::string polly::stringFromIslObj(/*__isl_keep*/ isl_map *map) { std::string polly::stringFromIslObj(/*__isl_keep*/ isl_set *set) { isl_printer *p = isl_printer_to_str(isl_set_get_ctx(set)); isl_printer_print_set(p, set); - std::string string(isl_printer_get_str(p)); + char *char_str = isl_printer_get_str(p); + std::string string(char_str); + free(char_str); isl_printer_free(p); return string; } @@ -78,7 +82,9 @@ std::string polly::stringFromIslObj(/*__isl_keep*/ isl_set *set) { std::string polly::stringFromIslObj(/*__isl_keep*/ isl_union_map *umap) { isl_printer *p = isl_printer_to_str(isl_union_map_get_ctx(umap)); isl_printer_print_union_map(p, umap); - std::string string(isl_printer_get_str(p)); + char *char_str = isl_printer_get_str(p); + std::string string(char_str); + free(char_str); isl_printer_free(p); return string; } @@ -86,7 +92,9 @@ std::string polly::stringFromIslObj(/*__isl_keep*/ isl_union_map *umap) { std::string polly::stringFromIslObj(/*__isl_keep*/ isl_union_set *uset) { isl_printer *p = isl_printer_to_str(isl_union_set_get_ctx(uset)); isl_printer_print_union_set(p, uset); - std::string string(isl_printer_get_str(p)); + char *char_str = isl_printer_get_str(p); + std::string string(char_str); + free(char_str); isl_printer_free(p); return string; } @@ -95,7 +103,9 @@ std::string polly::stringFromIslObj(/*__isl_keep*/ isl_schedule *schedule) { isl_ctx *ctx = isl_union_map_get_ctx(isl_schedule_get_map(schedule)); isl_printer *p = isl_printer_to_str(ctx); isl_printer_print_schedule(p, schedule); - std::string string(isl_printer_get_str(p)); + char *char_str = isl_printer_get_str(p); + std::string string(char_str); + free(char_str); isl_printer_free(p); return string; } |

