msvc/icl: Use __declspec(deprecated)
Prior to this on msvc/icl there was no handling of deprecated functions and the deprecated warning was disabled. After enabling there are a number of warnings relating to the CRT and the use of the non-secure versions of several functions. Defining _CRT_SECURE_NO_WARNINGS silences these warnings. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
		
				
					committed by
					
						
						Martin Storsjö
					
				
			
			
				
	
			
			
			
						parent
						
							5532ee6d7d
						
					
				
				
					commit
					09f2581dc5
				
			
							
								
								
									
										5
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								configure
									
									
									
									
										vendored
									
									
								
							@@ -2417,7 +2417,7 @@ msvc_flags(){
 | 
				
			|||||||
            -Wall)                echo -W4 -wd4244 -wd4127 -wd4018 -wd4389     \
 | 
					            -Wall)                echo -W4 -wd4244 -wd4127 -wd4018 -wd4389     \
 | 
				
			||||||
                                       -wd4146 -wd4057 -wd4204 -wd4706 -wd4305 \
 | 
					                                       -wd4146 -wd4057 -wd4204 -wd4706 -wd4305 \
 | 
				
			||||||
                                       -wd4152 -wd4324 -we4013 -wd4100 -wd4214 \
 | 
					                                       -wd4152 -wd4324 -we4013 -wd4100 -wd4214 \
 | 
				
			||||||
                                       -wd4996 -wd4273 ;;
 | 
					                                       -wd4273 ;;
 | 
				
			||||||
        esac
 | 
					        esac
 | 
				
			||||||
    done
 | 
					    done
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -2641,7 +2641,7 @@ probe_cc(){
 | 
				
			|||||||
        _ld_lib='lib%.a'
 | 
					        _ld_lib='lib%.a'
 | 
				
			||||||
        _ld_path='-libpath:'
 | 
					        _ld_path='-libpath:'
 | 
				
			||||||
        _flags='-nologo'
 | 
					        _flags='-nologo'
 | 
				
			||||||
        _cflags='-D_USE_MATH_DEFINES -Dinline=__inline -FIstdlib.h -Dstrtoll=_strtoi64'
 | 
					        _cflags='-D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -Dinline=__inline -FIstdlib.h -Dstrtoll=_strtoi64'
 | 
				
			||||||
        if [ $pfx = hostcc ]; then
 | 
					        if [ $pfx = hostcc ]; then
 | 
				
			||||||
            append _cflags -Dsnprintf=_snprintf
 | 
					            append _cflags -Dsnprintf=_snprintf
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
@@ -4019,6 +4019,7 @@ elif enabled_any msvc icl; then
 | 
				
			|||||||
    enabled x86_32 && disable aligned_stack
 | 
					    enabled x86_32 && disable aligned_stack
 | 
				
			||||||
    enabled_all x86_32 debug && add_cflags -Oy-
 | 
					    enabled_all x86_32 debug && add_cflags -Oy-
 | 
				
			||||||
    enabled debug && add_ldflags -debug
 | 
					    enabled debug && add_ldflags -debug
 | 
				
			||||||
 | 
					    enable pragma_deprecated
 | 
				
			||||||
    if enabled icl; then
 | 
					    if enabled icl; then
 | 
				
			||||||
        # basically -fstrict-aliasing that does not work (correctly) on icl 13.x
 | 
					        # basically -fstrict-aliasing that does not work (correctly) on icl 13.x
 | 
				
			||||||
        check_cpp_condition "windows.h" "__ICL < 1300" && add_cflags -Qansi-alias
 | 
					        check_cpp_condition "windows.h" "__ICL < 1300" && add_cflags -Qansi-alias
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -72,6 +72,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#if AV_GCC_VERSION_AT_LEAST(3,1)
 | 
					#if AV_GCC_VERSION_AT_LEAST(3,1)
 | 
				
			||||||
#    define attribute_deprecated __attribute__((deprecated))
 | 
					#    define attribute_deprecated __attribute__((deprecated))
 | 
				
			||||||
 | 
					#elif defined(_MSC_VER)
 | 
				
			||||||
 | 
					#    define attribute_deprecated __declspec(deprecated)
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
#    define attribute_deprecated
 | 
					#    define attribute_deprecated
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -62,8 +62,16 @@
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if HAVE_PRAGMA_DEPRECATED
 | 
					#if HAVE_PRAGMA_DEPRECATED
 | 
				
			||||||
 | 
					#    if defined(__ICL)
 | 
				
			||||||
 | 
					#        define FF_DISABLE_DEPRECATION_WARNINGS __pragma(warning(push)) __pragma(warning(disable:1478))
 | 
				
			||||||
 | 
					#        define FF_ENABLE_DEPRECATION_WARNINGS  __pragma(warning(pop))
 | 
				
			||||||
 | 
					#    elif defined(_MSC_VER)
 | 
				
			||||||
 | 
					#        define FF_DISABLE_DEPRECATION_WARNINGS __pragma(warning(push)) __pragma(warning(disable:4996))
 | 
				
			||||||
 | 
					#        define FF_ENABLE_DEPRECATION_WARNINGS  __pragma(warning(pop))
 | 
				
			||||||
 | 
					#    else
 | 
				
			||||||
#        define FF_DISABLE_DEPRECATION_WARNINGS _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
 | 
					#        define FF_DISABLE_DEPRECATION_WARNINGS _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
 | 
				
			||||||
#        define FF_ENABLE_DEPRECATION_WARNINGS  _Pragma("GCC diagnostic warning \"-Wdeprecated-declarations\"")
 | 
					#        define FF_ENABLE_DEPRECATION_WARNINGS  _Pragma("GCC diagnostic warning \"-Wdeprecated-declarations\"")
 | 
				
			||||||
 | 
					#    endif
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
#    define FF_DISABLE_DEPRECATION_WARNINGS
 | 
					#    define FF_DISABLE_DEPRECATION_WARNINGS
 | 
				
			||||||
#    define FF_ENABLE_DEPRECATION_WARNINGS
 | 
					#    define FF_ENABLE_DEPRECATION_WARNINGS
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user