compiler: Report init dependency errors with builtin functions.
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Sep 2015 23:12:03 +0000 (23:12 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Sep 2015 23:12:03 +0000 (23:12 +0000)
    Fixes golang/go#12319.

    Reviewed-on: https://go-review.googlesource.com/13931

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227813 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/go/gofrontend/MERGE
gcc/go/gofrontend/expressions.cc

index 21458cd..bcaabac 100644 (file)
@@ -1,4 +1,4 @@
-eac8b31fec761c8da0606a70ae0547ff0b12e8db
+01a574c1b2bb244be764b6a18aab980ca0aef43c
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index 488c76c..1c329b8 100644 (file)
@@ -6885,11 +6885,6 @@ Builtin_call_expression::do_flatten(Gogo*, Named_object*,
                                     Statement_inserter* inserter)
 {
   Location loc = this->location();
-  if (this->is_erroneous_call())
-    {
-      go_assert(saw_errors());
-      return Expression::make_error(loc);
-    }
 
   switch (this->code_)
     {
@@ -8064,6 +8059,13 @@ Builtin_call_expression::do_get_backend(Translate_context* context)
 {
   Gogo* gogo = context->gogo();
   Location location = this->location();
+
+  if (this->is_erroneous_call())
+    {
+      go_assert(saw_errors());
+      return gogo->backend()->error_expression();
+    }
+
   switch (this->code_)
     {
     case BUILTIN_INVALID: