Browse Source

Only define GCC pragmas for GCC

Rémi Verschelde 6 years ago
parent
commit
a9fcd574f4
1 changed files with 5 additions and 1 deletions
  1. 5 1
      drivers/gles3/rasterizer_scene_gles3.cpp

+ 5 - 1
drivers/gles3/rasterizer_scene_gles3.cpp

@@ -2680,8 +2680,10 @@ void RasterizerSceneGLES3::_setup_environment(Environment *env, const CameraMatr
 // Drop -O3 for this function as it triggers a GCC bug up until at least GCC 8.2.1.
 // Drop -O3 for this function as it triggers a GCC bug up until at least GCC 8.2.1.
 // This refers to GH issue #19633.
 // This refers to GH issue #19633.
 // The bug has been reported to the GCC project.
 // The bug has been reported to the GCC project.
+#ifdef __GNUC__
 #pragma GCC push_options
 #pragma GCC push_options
-#pragma GCC optimize ("-O2")
+#pragma GCC optimize("-O2")
+#endif
 void RasterizerSceneGLES3::_setup_directional_light(int p_index, const Transform &p_camera_inverse_transform, bool p_use_shadows) {
 void RasterizerSceneGLES3::_setup_directional_light(int p_index, const Transform &p_camera_inverse_transform, bool p_use_shadows) {
 
 
 	LightInstance *li = directional_lights[p_index];
 	LightInstance *li = directional_lights[p_index];
@@ -2799,7 +2801,9 @@ void RasterizerSceneGLES3::_setup_directional_light(int p_index, const Transform
 
 
 	glBindBufferBase(GL_UNIFORM_BUFFER, 3, state.directional_ubo);
 	glBindBufferBase(GL_UNIFORM_BUFFER, 3, state.directional_ubo);
 }
 }
+#ifdef __GNUC__
 #pragma GCC pop_options
 #pragma GCC pop_options
+#endif
 
 
 void RasterizerSceneGLES3::_setup_lights(RID *p_light_cull_result, int p_light_cull_count, const Transform &p_camera_inverse_transform, const CameraMatrix &p_camera_projection, RID p_shadow_atlas) {
 void RasterizerSceneGLES3::_setup_lights(RID *p_light_cull_result, int p_light_cull_count, const Transform &p_camera_inverse_transform, const CameraMatrix &p_camera_projection, RID p_shadow_atlas) {