summaryrefslogtreecommitdiff
path: root/backend/src/llvm/llvm_printf_parser.cpp
diff options
context:
space:
mode:
authorJunyan He <junyan.he@intel.com>2017-06-23 18:18:29 +0800
committerYang Rong <rong.r.yang@intel.com>2017-08-02 17:16:30 +0800
commit87f7a98225991f99928b3a933c229aed420af61b (patch)
tree689455825b699d5a5b2ce7945763c332e5f65892 /backend/src/llvm/llvm_printf_parser.cpp
parentde4044d0278c8487405d073eab4114c37eb9e5a9 (diff)
downloadbeignet-newRT.tar.gz
Implement printf for new runtime.newRT
We will store printf statement in ELF file and output its log when the ND_Range finished. Signed-off-by: Junyan He <junyan.he@intel.com>
Diffstat (limited to 'backend/src/llvm/llvm_printf_parser.cpp')
-rw-r--r--backend/src/llvm/llvm_printf_parser.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/backend/src/llvm/llvm_printf_parser.cpp b/backend/src/llvm/llvm_printf_parser.cpp
index 6bb7c52a..b8c6114e 100644
--- a/backend/src/llvm/llvm_printf_parser.cpp
+++ b/backend/src/llvm/llvm_printf_parser.cpp
@@ -245,16 +245,18 @@ again:
/* Now parse the % start conversion_specifier. */
ret_char = __parse_printf_state(p, end, &rend, &state);
- if (ret_char < 0)
+ if (ret_char < 0) {
goto error;
+ } else {
+ std::string s(p, size_t(rend - p));
+ printf_fmt->push_back(PrintfSlot(state, s));
+ num++;
- printf_fmt->push_back(state);
- num++;
-
- if (rend == end)
- break;
+ if (rend == end)
+ break;
- begin = rend;
+ begin = rend;
+ }
}
#if 0