BrainF example: fixing output buffering issue

Differential Revision: https://reviews.llvm.org/D27824

llvm-svn: 292216
This commit is contained in:
Boris Ulasevich 2017-01-17 13:27:28 +00:00
parent ba571c82ea
commit 9fe65bc2ad

View File

@ -166,6 +166,10 @@ int main(int argc, char **argv) {
std::vector<GenericValue> args;
Function *brainf_func = M.getFunction("brainf");
GenericValue gv = ee->runFunction(brainf_func, args);
// Genereated code calls putchar, and output is not guaranteed without fflush.
// The better place for fflush(stdout) call would be the generated code, but it
// is unmanageable because stdout linkage name depends on stdlib implementation.
fflush(stdout);
} else {
WriteBitcodeToFile(Mod.get(), *out);
}