Remove assertion that OpenGL program linking succeeds.

This assertion is causing problems on the debug bots.  While the assertion is
nice for local debugging, causing the entire run of WebGL cts on the trybots
to fail is too big of a drawback.

BUG=angleproject:889

Change-Id: Ie86d2f0e84132bef8fb94a693440af7e9b7fc8e9
Reviewed-on: https://chromium-review.googlesource.com/314480
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/renderer/gl/ProgramGL.cpp b/src/libANGLE/renderer/gl/ProgramGL.cpp
index 80d8c92..c4739d1 100644
--- a/src/libANGLE/renderer/gl/ProgramGL.cpp
+++ b/src/libANGLE/renderer/gl/ProgramGL.cpp
@@ -13,6 +13,7 @@
 #include "libANGLE/renderer/gl/FunctionsGL.h"
 #include "libANGLE/renderer/gl/ShaderGL.h"
 #include "libANGLE/renderer/gl/StateManagerGL.h"
+#include "platform/Platform.h"
 
 namespace rx
 {
@@ -105,7 +106,6 @@
     // Verify the link
     GLint linkStatus = GL_FALSE;
     mFunctions->getProgramiv(mProgramID, GL_LINK_STATUS, &linkStatus);
-    ASSERT(linkStatus == GL_TRUE);
     if (linkStatus == GL_FALSE)
     {
         // Linking failed, put the error into the info log
@@ -118,8 +118,11 @@
         mFunctions->deleteProgram(mProgramID);
         mProgramID = 0;
 
-        infoLog << &buf[0];
-        TRACE("\n%s", &buf[0]);
+        infoLog << buf.data();
+
+        std::string warning = FormatString("Program link failed unexpectedly: %s", buf.data());
+        ANGLEPlatformCurrent()->logWarning(warning.c_str());
+        TRACE("\n%s", warning.c_str());
 
         // TODO, return GL_OUT_OF_MEMORY or just fail the link? This is an unexpected case
         return LinkResult(false, gl::Error(GL_NO_ERROR));