Only define NAPI_SYMBOL as weak stub on Clang

Change-Id: I0c1752db20343abe03d174c9a9b67f602c5423b5
Bug: dawn:1978
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/146800
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
diff --git a/src/dawn/node/NapiSymbols.cpp b/src/dawn/node/NapiSymbols.cpp
index 01a184f..eaafd5a 100644
--- a/src/dawn/node/NapiSymbols.cpp
+++ b/src/dawn/node/NapiSymbols.cpp
@@ -25,12 +25,16 @@
 #error "NapiSymbols.cpp is not used on Windows"
 #endif
 
+#ifdef __clang__
 #define NAPI_SYMBOL(NAME)                                                              \
     __attribute__((weak)) void NAME() {                                                \
         UNREACHABLE(                                                                   \
             "#NAME is a weak stub, and should have been runtime replaced by the node " \
             "implementation");                                                         \
     }
+#else
+#define NAPI_SYMBOL(NAME)
+#endif
 
 extern "C" {
 // List of Napi symbols generated from the node_api_headers/symbols.js file