Program: Make LinkResult use gl::ErrorOrResult.

This simplifies the error handling code, and allows the use of the
ANGLE_TRY macro (and friends).

BUG=angleproject:1576

Change-Id: I3142388b10d0dd67a7f49a5c8c3d11102996be93
Reviewed-on: https://chromium-review.googlesource.com/411201
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/renderer/ProgramImpl.h b/src/libANGLE/renderer/ProgramImpl.h
index 45ff0a0..065f6a3 100644
--- a/src/libANGLE/renderer/ProgramImpl.h
+++ b/src/libANGLE/renderer/ProgramImpl.h
@@ -24,14 +24,7 @@
 
 namespace rx
 {
-
-struct LinkResult
-{
-    LinkResult(bool linkSuccess, const gl::Error &error) : linkSuccess(linkSuccess), error(error) {}
-
-    bool linkSuccess;
-    gl::Error error;
-};
+using LinkResult = gl::ErrorOrResult<bool>;
 
 class ProgramImpl : angle::NonCopyable
 {