@@ -116,7 +116,7 @@ fn translate_shader(
116116 let mut build = cc:: Build :: new ( ) ;
117117 build. no_default_flags ( true ) ;
118118 if let Ok ( tool) = build. try_get_compiler ( ) {
119- if is_like_msvc ( & tool ) {
119+ if tool . is_like_msvc ( ) {
120120 build. flag ( "/EP" ) ;
121121 if tool. path ( ) . to_str ( ) . is_some_and ( |p| p. contains ( "clang" ) ) {
122122 build. flag ( "/clang:-undef" ) ;
@@ -185,7 +185,7 @@ fn main() {
185185 build. cpp ( true ) ;
186186
187187 if let Ok ( tool) = build. try_get_compiler ( ) {
188- if is_like_msvc ( & tool ) {
188+ if tool . is_like_msvc ( ) {
189189 build
190190 . flag ( "/std:c++17" )
191191 . flag ( "/EHs-" )
@@ -212,7 +212,7 @@ fn main() {
212212 // instructions makes things easier on the processor and in places where it matters we can
213213 // probably explicitly use reciprocal instructions and avoid the refinement step.
214214 // Also, allow checks for non-finite values which fast-math may disable.
215- if is_like_msvc ( & tool ) {
215+ if tool . is_like_msvc ( ) {
216216 build
217217 . flag ( "/fp:fast" )
218218 . flag ( "-Xclang" )
@@ -252,20 +252,3 @@ impl Drop for EnvVarGuard {
252252 }
253253 }
254254}
255-
256- fn is_like_msvc ( tool : & cc:: Tool ) -> bool {
257- tool. is_like_msvc ( ) || {
258- tool. is_like_clang ( )
259- && tool. to_command ( ) . get_args ( ) . any ( |arg| {
260- // `mozilla-central` does this funky thing where it replaces `clang-cl.exe` with
261- // `clang.exe --driver-mode=cl`, which isn't considered by `Tool::is_like_msvc`, _but_
262- // it forces the CLI to adhere to a `cl`-like interface and reject naively `clang`-like
263- // arguments.
264- //
265- // See also `config/static-checking-config.mk`:
266- // <https://searchfox.org/mozilla-central/rev/dd8b64a6198ff599a5eb2ca096845ebd6997457f/config/static-checking-config.mk>
267- arg. to_str ( )
268- . is_some_and ( |a| a. starts_with ( "--driver-mode=cl" ) )
269- } )
270- }
271- }
0 commit comments