gollvm: fix buglet in Llvm_backend::temporary_variable

In the case where the front end invokes the backend temporary_variable
method and passes in an error function, the method was returning an
error variable immediately without setting the returned statement.
Make sure that in such situations the error statement is returned as
well.

Change-Id: I19b30caadf3bb249ed216a0f1342d2e7177b5730
Reviewed-on: https://go-review.googlesource.com/63691
Reviewed-by: Cherry Zhang <cherryyz@google.com>
diff --git a/llvm-gofrontend/go-llvm.cpp b/llvm-gofrontend/go-llvm.cpp
index cb7245e..8d73dae 100644
--- a/llvm-gofrontend/go-llvm.cpp
+++ b/llvm-gofrontend/go-llvm.cpp
@@ -2077,8 +2077,10 @@
   std::string tname(namegen("tmpv"));
   Bvariable *tvar = local_variable(function, tname, btype,
                                    is_address_taken, location);
-  if (tvar == errorVariable_.get())
+  if (tvar == errorVariable_.get()) {
+    *pstatement = errorStatement();
     return tvar;
+  }
   tvar->markAsTemporary();
   Bstatement *is = init_statement(function, tvar, binit);
   *pstatement = is;