+
    UBi                    
   ^ RI Ht ^ RIt^ RIt^RIHt ^RIHt ^RIH	t	 ^RI
HtHt ^RIHt ^RIHtHt ^R	IHt ^R
IHt ^RIHtHtHt ^RIHt ^RIHt ^RIHtH t  ^RI!H"t"H#t# ^RI$H%t%H&t& ^RI$H't'H(t( ^RI)H*t*H+t+ ^RI,H-t-H.t. ^RI/H0t0 ^RI1H2t2 ^RI3H4t4 ^RI5H6t6 ^RI5H7t7H8t8 ^RI9H:t: ^RI;H<t<H=t=H>t> ]P~                  '       d.   ^RIH@t@ ^RIAHBtB ^RICHDtD ^RIEHFtF ^RI
HGtG ^R I;HHtH ^R!IIHJtJ ]>tKM]LtK. R\OtM]M]M U u. uF  p R"V R#,           2NK  	  up ,          tM]M. R]O,          tM ! R$ R%]]>4      tN ! R& R'].]-]N4      tO ! R( R)]O4      tP ! R* R+]]]O4      tQ ! R, R-]4]O4      tR ! R. R/] ]N4      tS ! R0 R1]&]%]N4      tT ! R2 R3]2]N4      tU ! R4 R5]2]N4      tV ! R6 R7]0]N4      tW ! R8 R9]*]N4      tX ! R: R;]O4      tY ! R< R=]K4      tZ ! R> R?]"]Z]N4      t[ ! R@ RA].]#]Z]N4      t\ ! RB RC]+]Z]N4      t] ! RD RE]]4      t^ ! RF RG]]N4      t_ ! RH RI]]N4      t` ! RJ RK]]N4      ta ! RL RM]]]T4      tb ! RN RO]]N4      tc ! RP RQ]]N4      td ! RR RS]d4      te ! RT RU]d4      tf ! RV RW]6]N4      tg ! RX RY]6]N4      th ! RZ R[]:]N4      tiR# u up i )^    )annotationsN)options)	OptionKey)mlog)MesonExceptionversion_compare)C_FUNC_ATTRIBUTES)AppleCompilerMixinAppleCStdsMixin)CLikeCompiler)CcrxCompiler)Xc16CompilerXc32Compiler	Xc32CStds)CompCertCompiler)
TICompiler)ArmCompilerArmclangCompiler)MSVCCompilerClangClCompiler)GnuCompilerGnuCStds)gnu_common_warning_argsgnu_c_warning_args)IntelGnuLikeCompilerIntelVisualStudioLikeCompiler)ClangCompiler
ClangCStds)ElbrusCompiler)PGICompiler)EmscriptenMixin)MetrowerksCompiler)mwccarm_instruction_set_argsmwcceppc_instruction_set_args)TaskingCompiler)gnu_winlibsmsvc_winlibsCompiler)MutableKeyedOptionDictType)
Dependency)Environment)DynamicLinker)MachineChoice)CompileCheckMode)BuildTargetgnu:   NNc                  ~   a  ] tR t^9tR R ltRtRR R lltR R ltR	 R
 ltRRRR/R R llt	R V 3R llt
RtV ;t# )	CCompilerc                    V ^8  d   QhRRRR/# )   namestrreturn )formats   ";/usr/lib/python3.14/site-packages/mesonbuild/compilers/c.py__annotate__CCompiler.__annotate__:   s     I I I I    c                	Z     \         V,          #   \         d    \        R T R24      hi ; i)zUnknown function attribute "")r	   KeyErrorr   )selfr6   s   &&r;   attribute_check_funcCCompiler.attribute_check_func:   s9    	I$T** 	I #?vQ!GHH	Is    *cNc               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# r5   ccacheT.List[str]exelistversionr7   for_machiner-   envr+   linkerT.Optional['DynamicLinker']full_versionT.Optional[str]r9   )r:   s   "r;   r<   r=   B   sA     % %{ %[ %3 %]j %!%+F%.%r>   c                	f    \         P                  ! WW#WEWvR 7       \        P                  ! V 4       R# ))rP   rN   N)r(   __init__r   rB   rH   rJ   rK   rL   rM   rN   rP   s   &&&&&&&&r;   rS   CCompiler.__init__B   s*     	$+'3	Dt$r>   c                   V ^8  d   QhRR/# r5   r8   rI   r9   )r:   s   "r;   r<   r=   J   s      K r>   c                	    R .# )z	-nostdincr9   rB   s   &r;   get_no_stdinc_argsCCompiler.get_no_stdinc_argsJ   s
    }r>   c                    V ^8  d   QhRRRR/# )r5   work_dirr7   r8   Noner9   )r:   s   "r;   r<   r=   M   s     I IS IT Ir>   c                	,    R pV P                  VRV4      # )z.int main(void) { int class=0; return class; }
zsanitycheckc.c)_sanity_check_impl)rB   r]   codes   && r;   sanity_checkCCompiler.sanity_checkM   s    @&&x1A4HHr>   
extra_argsdependenciesc               0    V ^8  d   QhRRRRRRRRRRR	R
/# )r5   hnamer7   symbolprefixrd   zIT.Union[None, T.List[str], T.Callable[['CompileCheckMode'], T.List[str]]]re    T.Optional[T.List['Dependency']]r8   T.Tuple[bool, bool]r9   )r:   s   "r;   r<   r=   Q   s9     8 8s 8C 8 8&o8(H8Tg8r>   c               	^    R VRVRV/pRpV P                  VP                  ! R/ VB VVR7      # )ri   headerrh   z{prefix}
        #include <{header}>
        int main(void) {{
            /* If it's not defined as a macro, try to use as a symbol */
            #ifndef {symbol}
                {symbol};
            #endif
            return 0;
        }}rd   re   r9   )compilesr:   )rB   rg   rh   ri   rd   re   fargsts   &&&&$$  r;   has_header_symbolCCompiler.has_header_symbolQ   sH     68UHfE }}QXX..:*6  8 	8r>   c                   V ^8  d   QhRR/# r5   r8   z'MutableKeyedOptionDictType'r9   )r:   s   "r;   r<   r=   a         9 r>   c                	   < \         SV `  4       pV P                  R 4      pVP                  V\        P
                  ! R\        4      /4       V# )stdrE   )superget_optionsform_compileropt_keyupdater   UserStdOptionALL_STDSrB   optskey	__class__s   &  r;   rz   CCompiler.get_optionsa   sJ    w"$''.&&sH5
 	 r>   r9   NN)__name__
__module____qualname____firstlineno__rC   languagerS   rZ   rb   rr   rz   __static_attributes____classcell__r   s   @r;   r3   r3   9   s?    I H%I8rv8KO8  r>   r3   c                  ^   a  ] tR t^jtR
R R lltR V 3R lltRR R lltRR R lltR	tV ;t	# )ClangCCompilerc               8    V ^8  d   QhRRRRRRRRRR	R
RRRRR/# r5   rH   rI   rJ   rK   r7   rL   r-   rM   r+   rN   rO   definesT.Optional[T.Dict[str, str]]rP   rQ   r9   )r:   s   "r;   r<   ClangCCompiler.__annotate__l   sK     : :{ :[ :3 :]j :!:+F:6:  /:r>   c	                	    \         P                  WW#WEWhR 7       \        P                  ! W4       RR.p	R. RV	RV	R.,           RV	RR.,           R	R
./V n        R# rN   rP   -Wall-Winvalid-pch012-Wextra3
-Wpedantic
everythingz-WeverythingN)r3   rS   r   	warn_args
rB   rH   rJ   rK   rL   rM   rN   r   rP   default_warn_argss
   &&&&&&&&& r;   rS   ClangCCompiler.__init__l   sn     	4;TZvt-$o6r00I;>0I|3LL&(8	:r>   c                   V ^8  d   QhRR/# ru   r9   )r:   s   "r;   r<   r   y         9 r>   c                	   < \         SV `  4       pV P                  P                  4       '       g!   V P                  P	                  4       '       d?   V P                  R 4      p\        P                  ! V P                  V4      R\        4      W&   V# winlibsz*Standard Windows libraries to link against
ry   rz   info
is_windows	is_cygwinr{   r   UserStringArrayOptionmake_option_namer&   r   s   &  r;   rz   ClangCCompiler.get_optionsy   r    w"$99!!TYY%8%8%:%:++I6C55%%c*<DI r>   c               $    V ^8  d   QhRRRRRR/# r5   targetr/   
subprojectrQ   r8   rI   r9   )r:   s   "r;   r<   r      "      + ? ^i r>   c                	    . pV P                  R W4      p\        V\        4      '       g   Q hVR8w  d   VP                  RV,           4       V# rx   none-std=get_compileropt_value
isinstancer7   appendrB   r   r   argsrx   s   &&&  r;   get_option_std_args"ClangCCompiler.get_option_std_args   H    ((C#s####&=KK#&r>   c               $    V ^8  d   QhRRRRRR/# r5   r   z'BuildTarget'r   rQ   r8   rI   r9   )r:   s   "r;   r<   r      s"      = o al r>   c                	@   V P                   P                  4       '       g!   V P                   P                  4       '       d^   V P                  R W4      p\	        V\
        4      '       g   Q hVP                  4       pV F  p\	        V\        4      '       d   K  Q h	  V# . # r   r   r   r   r   r   listcopyr7   rB   r   r   retvallibsls   &&&   r;   get_option_link_args#ClangCCompiler.get_option_link_args   s~    99!!TYY%8%8%:%://	6NFfd++++ &D!!S)))) K	r>   r   NNNN)
r   r   r   r   rS   rz   r   r   r   r   r   s   @r;   r   r   j   s!    :  r>   r   c                      ] tR t^tRtRtR# )ArmLtdClangCCompilerarmltdclangr9   Nr   r   r   r   idr   r9   r>   r;   r   r      s    	Br>   r   c                      ] tR t^tRtRtR# )AppleClangCCompilerzHandle the differences between Apple Clang and Vanilla Clang.

Right now this just handles the differences between the versions that new
C standards were added.
r9   N)r   r   r   r   __doc__r   r9   r>   r;   r   r      s    r>   r   c                  :    ] tR t^tRtRtRtRtRtRR R llt	Rt
R# )	EmscriptenCCompiler
emscriptenz	>=1.38.35z>=3.1.45Nc               8    V ^8  d   QhRRRRRRRRRR	R
RRRRR/# r   r9   )r:   s   "r;   r<    EmscriptenCCompiler.__annotate__   sU     	[ 	[{ 	[[ 	[3 	[]j 	[!	[+F	[6	[  /	[r>   c	                	    VP                  V4      '       g   \        R 4      h\        VR4      '       g   \        R4      h\        P	                  WW#WEWgVR7	       R# )z;Emscripten compiler can only be used for cross compilation.z	>=1.39.19z$Meson requires Emscripten >= 1.39.19)rN   r   rP   N)is_cross_buildr   r   r   rS   	rB   rH   rJ   rK   rL   rM   rN   r   rP   s	   &&&&&&&&&r;   rS   EmscriptenCCompiler.__init__   sY     !!+.. !^__w44 !GHHg'-\ 	  	[r>   r9   r   )r   r   r   r   r   _C17_VERSION_C18_VERSION_C2X_VERSION_C23_VERSIONrS   r   r9   r>   r;   r   r      s)    	B LLLL	[ 	[r>   r   c                  b   a  ] tR t^tRtRR R lltR V 3R lltRR R lltRR R	 lltR
t	V ;t
# )ArmclangCCompilerz
Keil armclang
c               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# rG   r9   )r:   s   "r;   r<   ArmclangCCompiler.__annotate__   sA     : :{ :[ :3 :]j :!:+F:.:r>   c                	    \         P                  WW#VWVVR 7       \        P                  ! V 4       RR.pR. RVRVR.,           RVRR.,           R	R
./V n        R# r   )r3   rS   r   r   	rB   rH   rJ   rK   rL   rM   rN   rP   r   s	   &&&&&&&& r;   rS   ArmclangCCompiler.__init__   su     	4;L 	 	J!!$'$o6r00I;>0I|3LL&(8	:r>   c                   V ^8  d   QhRR/# ru   r9   )r:   s   "r;   r<   r      rv   r>   c                	   < \         SV `  4       pV P                  R 4      pW,          p\        V\        P
                  4      '       g   Q R4       hVP                  . RORR7       V# )rx   for mypyTr0   )c90c99c11ry   rz   r{   r   r   r}   set_versionsrB   r   r   std_optr   s   &   r;   rz   ArmclangCCompiler.get_options   s^    w"$''.)'7#8#899E:E92=r>   c               $    V ^8  d   QhRRRRRR/# r   r9   )r:   s   "r;   r<   r      r   r>   c                	    . pV P                  R W4      p\        V\        4      '       g   Q hVR8w  d   VP                  RV,           4       V# r   r   r   s   &&&  r;   r   %ArmclangCCompiler.get_option_std_args   r   r>   c               $    V ^8  d   QhRRRRRR/# r   r9   )r:   s   "r;   r<   r      s"      = o al r>   c                	    . # r   r9   )rB   r   r   s   &&&r;   r   &ArmclangCCompiler.get_option_link_args       	r>   r   r   r   )r   r   r   r   r   rS   rz   r   r   r   r   r   s   @r;   r   r      s&    :  r>   r   c                  n   a  ] tR t^tRtRR R lltR V 3R lltRR R lltRR R	 lltR
 R lt	Rt
V ;t# )GnuCCompilerz>=3.4.0c               8    V ^8  d   QhRRRRRRRRRR	R
RRRRR/# r   r9   )r:   s   "r;   r<   GnuCCompiler.__annotate__   sU     X X{ X[ X3 X]j X!X+FX6X  /Xr>   c	                	   \         P                  WW#WEWhR 7       \        P                  ! W4       R.p	\        V P                  V P
                  4      '       d   V	R.,          p	R. RV	RV	R.,           RV	RR.,           R	V	RR.,           V P                  \        4      ,           V P                  \        4      ,           /V n	        R
# )r   r   r   r   r   r   r   r   r   r   N)
r3   rS   r   r   rK   _INVALID_PCH_VERSIONsupported_warn_argsr   r   r   r   s
   &&&&&&&&& r;   rS   GnuCCompiler.__init__   s     	4;TZvT+$I4<<)B)BCC/!22r00I;>0I|3LL&):i=V)V)-)A)ABY)Z*[)-)A)ABT)U*V	Xr>   c                   V ^8  d   QhRR/# ru   r9   )r:   s   "r;   r<   r     r   r>   c                	   < \         SV `  4       pV P                  P                  4       '       g!   V P                  P	                  4       '       d?   V P                  R 4      p\        P                  ! V P                  V4      R\        4      W&   V# r   r   r   s   &  r;   rz   GnuCCompiler.get_options   r   r>   c               $    V ^8  d   QhRRRRRR/# r   r9   )r:   s   "r;   r<   r    "      + ? ^i r>   c                	    . p\        R V P                  R7      pV P                  WAV4      p\        V\        4      '       g   Q hVR8w  d   VP                  RV,           4       V# )c_std)machiner   r   )r   rL   r   r   r7   r   )rB   r   r   r   r   rx   s   &&&   r;   r    GnuCCompiler.get_option_std_args  sZ    )9)9:((jA#s####&=KK#&r>   c               $    V ^8  d   QhRRRRRR/# r   r9   )r:   s   "r;   r<   r    s"     
 
= 
o 
al 
r>   c                	@   V P                   P                  4       '       g!   V P                   P                  4       '       d^   V P                  R W4      p\	        V\
        4      '       g   Q hVP                  4       pV F  p\	        V\        4      '       d   K  Q h	  V# . # r   r   r   s   &&&   r;   r   !GnuCCompiler.get_option_link_args  s~    99!!TYY%8%8%:%://	6NFfd++++ &D!!S)))) K	r>   c               $    V ^8  d   QhRRRRRR/# )r5   pch_dirr7   rm   r8   rI   r9   )r:   s   "r;   r<   r    s&     J J JS J[ Jr>   c                	F    R R\         P                  P                  V4      .# )z-fpch-preprocessz-include)ospathbasename)rB   r  rm   s   &&&r;   get_pch_use_argsGnuCCompiler.get_pch_use_args  s    "J0@0@0HIIr>   r   r   r   )r   r   r   r   r  rS   rz   r   r   r  r   r   r   s   @r;   r  r     s/    $X" 
J Jr>   r  c                  &    ] tR tRtRR R lltRtR# )PGICCompileri  Nc               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# rG   r9   )r:   s   "r;   r<   PGICCompiler.__annotate__  A     # #{ #[ #3 #]j #!#+F#.#r>   c                	f    \         P                  WW#VWVVR 7       \        P                  ! V 4       R# r   Nr3   rS   r    rT   s   &&&&&&&&r;   rS   PGICCompiler.__init__  1     	4;L 	 	JT"r>   r9   r   )r   r   r   r   rS   r   r9   r>   r;   r  r    s    # #r>   r  c                  B   a  ] tR tRtRtRR R lltR V 3R lltRtV ;t# )	NvidiaHPC_CCompileri%  
nvidia_hpcc               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# rG   r9   )r:   s   "r;   r<    NvidiaHPC_CCompiler.__annotate__)  r"  r>   c                	f    \         P                  WW#VWVVR 7       \        P                  ! V 4       R# r$  r%  rT   s   &&&&&&&&r;   rS   NvidiaHPC_CCompiler.__init__)  r'  r>   c                   V ^8  d   QhRR/# ru   r9   )r:   s   "r;   r<   r,  0  rv   r>   c                	   < \         SV `  4       p. ROpWP                  R4      ,          p\        V\        P
                  4      '       g   Q R4       hVP                  VRR7       V# )c89rx   r   Tr   )r1  r   r   r   c17c18r   )rB   r   cppstd_choicesr   r   s   &   r;   rz   NvidiaHPC_CCompiler.get_options0  s^    w"$C0078'7#8#899E:E9^6r>   r9   r   )	r   r   r   r   r   rS   rz   r   r   r   s   @r;   r)  r)  %  s    	B# r>   r)  c                  \   a  ] tR tRtRR R lltR V 3R lltRRRR/R	 V 3R
 llltRtV ;t# )ElbrusCCompileri9  Nc               8    V ^8  d   QhRRRRRRRRRR	R
RRRRR/# r   r9   )r:   s   "r;   r<   ElbrusCCompiler.__annotate__:  sK     & &{ &[ &3 &]j &!&+F&6&  /&r>   c	                	f    \         P                  WW#VWVVR 7       \        P                  ! V 4       R# r$  )r3   rS   r   r   s	   &&&&&&&&&r;   rS   ElbrusCCompiler.__init__:  s1     	4;L 	 	J%r>   c                   V ^8  d   QhRR/# ru   r9   )r:   s   "r;   r<   r9  B  s      9 r>   c                	T  < \         SV `  4       p. R
OpV. RO,          p\        V P                  R4      '       d   VRR.,          p\        V P                  R4      '       d(   \        V P                  R4      '       d   V. RO,          p\        V P                  R4      '       d   V. RO,          p\        V P                  R4      '       d   V. RO,          pV P	                  R4      pW,          p\        V\        P                  4      '       g   Q R	4       hVP                  V4       V# )r1  z	>=1.20.00r   gnu11z	>=1.21.00z<1.22.00z	>=1.23.00z	>=1.26.00rx   r   )r1  c9xr   gnu89gnu9xgnu99)iso9899:1990iso9899:199409iso9899:1999)r   c1xgnu90gnu1xiso9899:2011)r2  r3  iso9899:2017iso9899:2018gnu17gnu18	ry   rz   r   rK   r{   r   r   r}   r   rB   r   stdsr   r   r   s   &    r;   rz   ElbrusCCompiler.get_optionsB  s    w"$?BB4<<55UG$$D4<<55/$,,Xb:c:cDDD4<<55DDD4<<55TTD''.)'7#8#899E:E9T"r>   rd   re   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r5   funcnamer7   ri   rd   T.Optional[T.List[str]]re   rj   r8   rk   r9   )r:   s   "r;   r<   r9  V  s9     h hS h# h!8h#ChObhr>   c               	8   < VR 8X  d   R# \         SV `  WW4R7      # )lchmodrn   )FF)ry   has_function)rB   rS  ri   rd   re   r   s   &&&$$r;   rW  ElbrusCCompiler.has_functionV  s(     xw#H#ggr>   r9   r   )	r   r   r   r   rS   rz   rW  r   r   r   s   @r;   r7  r7  9  s6    & (h;?hFJh h hr>   r7  c                  N   a  ] tR tRtR	R R lltR V 3R lltR
R R lltRtV ;t# )IntelCCompileri^  c               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# rG   r9   )r:   s   "r;   r<   IntelCCompiler.__annotate___  sJ     I I{ I[ I3 I]j I!I+FI.Ir>   c                	    \         P                  WW#VWVVR 7       \        P                  ! V 4       RV n        RR.pR. RVR.,           RVRR.,           R	VRR.,           R
VR.,           /V n        R# )r   zc-headerr   z-w3r   r   z-diag-disable:remarkr   r   r   r   N)r3   rS   r   lang_headerr   r   s	   &&&&&&&& r;   rS   IntelCCompiler.__init___  s     	4;L 	 	J%%d+%$e,r04J3KK0I?U3VV0I?U3VV&(9YK(G	Ir>   c                   V ^8  d   QhRR/# ru   r9   )r:   s   "r;   r<   r\  m  s     	 	9 	r>   c                	  < \         SV `  4       pR R.p\        V P                  R4      '       d   VR.,          pV P	                  R4      pW,          p\        V\        P                  4      '       g   Q R4       hVP                  VRR7       V# )r1  r   z>=16.0.0r   rx   r   Tr   rN  rO  s   &    r;   rz   IntelCCompiler.get_optionsm  s    w"$u~4<<44UGOD''.)'7#8#899E:E9Tt,r>   c               $    V ^8  d   QhRRRRRR/# r   r9   )r:   s   "r;   r<   r\  x  r   r>   c                	    . pV P                  R W4      p\        V\        4      '       g   Q hVR8w  d   VP                  RV,           4       V# r   r   r   s   &&&  r;   r   "IntelCCompiler.get_option_std_argsx  sH    ((C#s####&=KK#&r>   )r^  r   r   r   	r   r   r   r   rS   rz   r   r   r   r   s   @r;   rZ  rZ  ^  s    I	 	 r>   rZ  c                      ] tR tRtRtRtR# )IntelLLVMCCompileri  z
intel-llvmr9   Nr   r9   r>   r;   rh  rh    s    	Br>   rh  c                  B   a  ] tR tRtRtR V 3R lltRR R lltRtV ;t# )	VisualStudioLikeCCompilerMixini  z3Shared methods that apply to MSVC-like C compilers.c                   V ^8  d   QhRR/# )r5   r8   r)   r9   )r:   s   "r;   r<   +VisualStudioLikeCCompilerMixin.__annotate__  s      7 r>   c                	   < \         SV `  4       pV P                  R 4      p\        P                  ! V P                  V4      R\        4      W&   V# r   )ry   rz   r{   r   r   r   r'   r   s   &  r;   rz   *VisualStudioLikeCCompilerMixin.get_options  sM    w"$''	211!!#&8	 r>   c               $    V ^8  d   QhRRRRRR/# r   r9   )r:   s   "r;   r<   rl    s"      = o al r>   c                	    V P                  R W4      p\        V\        4      '       g   Q hVP                  4       pV F  p\        V\        4      '       d   K  Q h	  V# r   )r   r   r   r   r7   r   s   &&&   r;   r   3VisualStudioLikeCCompilerMixin.get_option_link_args  sT    ++IvJ&$''''"KKMAa%%%% r>   r9   r   )	r   r   r   r   r   rz   r   r   r   r   s   @r;   rj  rj    s    =  r>   rj  c                  V   a  ] tR tRtRtRtR
R R lltR V 3R lltRR R lltR	t	V ;t
# )VisualStudioCCompileri  z>=19.28c               8    V ^8  d   QhRRRRRRRRRR	R
RRRRR/# )r5   rH   rI   rJ   rK   r7   rL   r-   rM   r+   r   rN   rO   rP   rQ   r9   )r:   s   "r;   r<   "VisualStudioCCompiler.__annotate__  sK     , ,{ ,[ ,3 ,]j ,!,+.,4,  /,r>   c	                	f    \         P                  WW#VWWVR 7       \        P                  ! W4       R# r$  )r3   rS   r   )	rB   rH   rJ   rK   rL   rM   r   rN   rP   s	   &&&&&&&&&r;   rS   VisualStudioCCompiler.__init__  s1     	4;L 	 	Jd+r>   c                   V ^8  d   QhRR/# ru   r9   )r:   s   "r;   r<   ru    s      9 r>   c                	  < \         SV `  4       pR R.p\        V P                  V P                  4      '       d   VR.,          p\        V P                  V P
                  4      '       d   VRR.,          pV P                  R4      pW,          p\        V\        P                  4      '       g   Q R4       hVP                  VRRR7       V# )	r1  r   r   r2  r3  rx   r   T)r0   gnu_deprecated)ry   rz   r   rK   _C11_VERSIONr   r{   r   r   r}   r   rO  s   &    r;   rz   !VisualStudioCCompiler.get_options  s    w"$u~4<<):):;;UGOD4<<):):;;UEN"D''.)'7#8#899E:E9TtDAr>   c               $    V ^8  d   QhRRRRRR/# r   r9   )r:   s   "r;   r<   ru    s"     	 	+ 	? 	^i 	r>   c                	    . pV P                  R W4      pVR9   d   VP                  R4       V# VR9   d   VP                  R4       V# )rx   z/std:c11z/std:c17>   r   >   r2  r3  )r   r   r   s   &&&  r;   r   )VisualStudioCCompiler.get_option_std_args  sP    ((C '>KK
#  N"KK
#r>   r9   r   r   )r   r   r   r   r{  r   rS   rz   r   r   r   r   s   @r;   rs  rs    s&    LL, 	 	r>   rs  c                  6    ] tR tRtRR R lltR	R R lltRtR# )
ClangClCCompileri  Nc               4    V ^8  d   QhRRRRRRRRR	RR
RRR/# r5   rJ   rI   rK   r7   rL   r-   rM   r+   r   rN   rO   rP   rQ   r9   )r:   s   "r;   r<   ClangClCCompiler.__annotate__  sC     / / /c / /!/+./4/  //r>   c                	h    \         P                  V . WVWFVR 7       \        P                  ! W4       R# r$  )r3   rS   r   rB   rJ   rK   rL   rM   r   rN   rP   s   &&&&&&&&r;   rS   ClangClCCompiler.__init__  s3     	4W{L 	 	J  .r>   c               $    V ^8  d   QhRRRRRR/# r   r9   )r:   s   "r;   r<   r    s"      + ? ^i r>   c                	t    V P                  R W4      p\        V\        4      '       g   Q hVR8w  d   RV 2.# . # )rx   r   z/clang:-std=)r   r   r7   )rB   r   r   rx   s   &&& r;   r   $ClangClCCompiler.get_option_std_args  sC    ((C#s####&="3%())	r>   r9   r   r   )r   r   r   r   rS   r   r   r9   r>   r;   r  r    s    / r>   r  c                  R   a  ] tR tRtRtR
R R lltR V 3R lltRR R lltR	tV ;t	# )IntelClCCompileri  z!Intel "ICL" compiler abstraction.c               4    V ^8  d   QhRRRRRRRRR	RR
RRR/# r  r9   )r:   s   "r;   r<   IntelClCCompiler.__annotate__  sC     = = =c = =!=+.=4=  /=r>   c                	h    \         P                  V . WVWFVR 7       \        P                  ! W4       R# r$  )r3   rS   r   r  s   &&&&&&&&r;   rS   IntelClCCompiler.__init__  s3     	4W{L 	 	J%..t<r>   c                   V ^8  d   QhRR/# ru   r9   )r:   s   "r;   r<   r    rv   r>   c                	   < \         SV `  4       pV P                  R 4      pW,          p\        V\        P
                  4      '       g   Q R4       hVP                  . RO4       V# rx   r   )r1  r   r   r   r   s   &   r;   rz   IntelClCCompiler.get_options  Y    w"$''.)'7#8#899E:E923r>   c               $    V ^8  d   QhRRRRRR/# r   r9   )r:   s   "r;   r<   r    "      + ? ^i r>   c                	    . pV P                  R W4      p\        V\        4      '       g   Q hVR8X  d   \        P                  ! RRR7       V# VR8w  d   VP                  RV,           4       V# )rx   r1  zUICL doesn't explicitly implement c89, setting the standard to 'none', which is close.T)oncer   z/Qstd:)r   r   r7   r   logr   r   s   &&&  r;   r   $IntelClCCompiler.get_option_std_args  sh    ((C#s####%<HHlswx  F]KK3'r>   r9   r   r   )
r   r   r   r   r   rS   rz   r   r   r   r   s   @r;   r  r    s    +=  r>   r  c                      ] tR tRtRtRtR# )IntelLLVMClCCompileri  zintel-llvm-clr9   Nr   r9   r>   r;   r  r    s    	Br>   r  c                  N   a  ] tR tRtR	R R lltR V 3R lltR
R R lltRtV ;t# )ArmCCompileri  c               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# rG   r9   )r:   s   "r;   r<   ArmCCompiler.__annotate__  sC     # #{ #[ #3 #]j #!#4#  /#r>   c                	f    \         P                  WW#VWVVR 7       \        P                  ! V 4       R# r$  )r3   rS   r   rT   s   &&&&&&&&r;   rS   ArmCCompiler.__init__  s1     	4;L 	 	JT"r>   c                   V ^8  d   QhRR/# ru   r9   )r:   s   "r;   r<   r     rv   r>   c                	   < \         SV `  4       pV P                  R 4      pW,          p\        V\        P
                  4      '       g   Q R4       hVP                  . RO4       V# r  r   r   s   &   r;   rz   ArmCCompiler.get_options   r  r>   c               $    V ^8  d   QhRRRRRR/# r   r9   )r:   s   "r;   r<   r    r   r>   c                	    . pV P                  R W4      p\        V\        4      '       g   Q hVR8w  d   VP                  RV,           4       V# rx   r   z--r   r   s   &&&  r;   r    ArmCCompiler.get_option_std_args  H    ((C#s####&=KKs
#r>   r9   r   r   rf  r   s   @r;   r  r    s    #  r>   r  c                     a  ] tR tRtRR R lltR R ltR V 3R lltR R	 ltRR
 R lltR R lt	R R lt
R R ltR R ltR R ltRtV ;t# )CcrxCCompileri  c               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# rG   r9   )r:   s   "r;   r<   CcrxCCompiler.__annotate__  C     $ ${ $[ $3 $]j $!$4$  /$r>   c                	f    \         P                  WW#VWVVR 7       \        P                  ! V 4       R# r$  )r3   rS   r   rT   s   &&&&&&&&r;   rS   CcrxCCompiler.__init__  1     	4;L 	 	Jd#r>   c                   V ^8  d   QhRR/# rW   r9   )r:   s   "r;   r<   r           r>   c                	    R .# )z-nologor9   rY   s   &r;   get_always_argsCcrxCCompiler.get_always_args  
    {r>   c                   V ^8  d   QhRR/# ru   r9   )r:   s   "r;   r<   r    rv   r>   c                	   < \         SV `  4       pV P                  R 4      pW,          p\        V\        P
                  4      '       g   Q R4       hVP                  RR.4       V# rx   r   r1  r   r   r   s   &   r;   rz   CcrxCCompiler.get_options  \    w"$''.)'7#8#899E:E9eU^,r>   c                   V ^8  d   QhRR/# rW   r9   )r:   s   "r;   r<   r  &        K r>   c                	    . # r   r9   rY   s   &r;   rZ    CcrxCCompiler.get_no_stdinc_args&  r  r>   c               $    V ^8  d   QhRRRRRR/# r   r9   )r:   s   "r;   r<   r  )  r  r>   c                	    . pV P                  R W4      p\        V\        4      '       g   Q hVR8X  d   VP                  R4       V# VR8X  d   VP                  R4       V# )rx   r1  z-lang=cr   z	-lang=c99r   r   s   &&&  r;   r   !CcrxCCompiler.get_option_std_args)  s`    ((C#s####%<KK	"  E\KK$r>   c                   V ^8  d   QhRR/# rW   r9   )r:   s   "r;   r<   r  3        { r>   c                	    . # r   r9   rY   s   &r;   get_compile_only_args#CcrxCCompiler.get_compile_only_args3  r  r>   c                   V ^8  d   QhRR/# rW   r9   )r:   s   "r;   r<   r  6  s      + r>   c                	    R .# )z-optimize=0r9   rY   s   &r;   get_no_optimization_args&CcrxCCompiler.get_no_optimization_args6  s
    r>   c                    V ^8  d   QhRRRR/# r5   r   r7   r8   rI   r9   )r:   s   "r;   r<   r  9  s     ) )c )k )r>   c                	    R V 2.# )z-output=obj=r9   rB   r   s   &&r;   get_output_argsCcrxCCompiler.get_output_args9  s    vh'((r>   c                   V ^8  d   QhRR/# rW   r9   )r:   s   "r;   r<   r  <       ) ) )r>   c                	    R .# z-change_message=errorr9   rY   s   &r;   get_werror_argsCcrxCCompiler.get_werror_args<      '((r>   c               $    V ^8  d   QhRRRRRR/# r5   r  r7   	is_systemboolr8   rI   r9   )r:   s   "r;   r<   r  ?  s!     $ $S $T $k $r>   c                	(    VR 8X  d   RpRV,           .# ) .z	-include=r9   rB   r  r  s   &&&r;   get_include_argsCcrxCCompiler.get_include_args?  s    2:Dd"##r>   r9   r   r   )r   r   r   r   rS   r  rz   rZ   r   r  r  r  r  r  r   r   r   s   @r;   r  r    s?    $ ))$ $r>   r  c                     a  ] tR tRtRR R lltR V 3R lltR R ltRR R	 lltR
 R ltR R lt	R R lt
R R ltR R ltRtV ;t# )Xc16CCompileriE  c               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# rG   r9   )r:   s   "r;   r<   Xc16CCompiler.__annotate__F  r  r>   c                	f    \         P                  WW#VWVVR 7       \        P                  ! V 4       R# r$  )r3   rS   r   rT   s   &&&&&&&&r;   rS   Xc16CCompiler.__init__F  r  r>   c                   V ^8  d   QhRR/# ru   r9   )r:   s   "r;   r<   r  N  rv   r>   c                	   < \         SV `  4       pV P                  R 4      pW,          p\        V\        P
                  4      '       g   Q R4       hVP                  RR.RR7       V# )rx   r   r1  r   Tr   r   r   s   &   r;   rz   Xc16CCompiler.get_optionsN  sa    w"$''.)'7#8#899E:E9eU^6r>   c                   V ^8  d   QhRR/# rW   r9   )r:   s   "r;   r<   r  V  r  r>   c                	    . # r   r9   rY   s   &r;   rZ    Xc16CCompiler.get_no_stdinc_argsV  r  r>   c               $    V ^8  d   QhRRRRRR/# r   r9   )r:   s   "r;   r<   r  Y  r  r>   c                	    . pV P                  R W4      p\        V\        4      '       g   Q hVR8w  d*   VP                  R4       VP                  RV,           4       V# )rx   r   z-ansir   r   r   s   &&&  r;   r   !Xc16CCompiler.get_option_std_argsY  sT    ((C#s####&=KK KK#&r>   c                   V ^8  d   QhRR/# rW   r9   )r:   s   "r;   r<   r  b  r  r>   c                	    . # r   r9   rY   s   &r;   r  #Xc16CCompiler.get_compile_only_argsb  r  r>   c                   V ^8  d   QhRR/# rW   r9   )r:   s   "r;   r<   r  e        + r>   c                	    R .# z-O0r9   rY   s   &r;   r  &Xc16CCompiler.get_no_optimization_argse  	    wr>   c                    V ^8  d   QhRRRR/# r  r9   )r:   s   "r;   r<   r  h        c k r>   c                	    R V 2.# z-or9   r  s   &&r;   r  Xc16CCompiler.get_output_argsh      VHr>   c                   V ^8  d   QhRR/# rW   r9   )r:   s   "r;   r<   r  k  r  r>   c                	    R .# r  r9   rY   s   &r;   r  Xc16CCompiler.get_werror_argsk  r  r>   c               $    V ^8  d   QhRRRRRR/# r  r9   )r:   s   "r;   r<   r  n  !      S T k r>   c                	(    VR 8X  d   RpRV,           .# r  r  z-Ir9   r  s   &&&r;   r  Xc16CCompiler.get_include_argsn      2:Dt}r>   r9   r   r   )r   r   r   r   rS   rz   rZ   r   r  r  r  r  r  r   r   r   s   @r;   r  r  E  s:    $ ) r>   r  c                  *    ] tR tRtRtRR R lltRtR# )Xc32CCompilerit  zMicrochip XC32 C compiler.Nc               8    V ^8  d   QhRRRRRRRRRR	R
RRRRR/# )r5   rH   rI   rJ   rK   r7   rL   r-   rM   r+   rN   zT.Optional[DynamicLinker]r   r   rP   rQ   r9   )r:   s   "r;   r<   Xc32CCompiler.__annotate__x  sK     $ ${ $[ $3 $]j $!$+D$6$  /$r>   c	                	f    \         P                  WW#VWVWR 7	       \        P                  ! V 4       R# ))rN   rP   r   N)r  rS   r   r   s	   &&&&&&&&&r;   rS   Xc32CCompiler.__init__x  s1     	dGk!| 	 	^d#r>   r9   r   )r   r   r   r   r   rS   r   r9   r>   r;   r  r  t  s    $$ $r>   r  c                  n   a  ] tR tRtRR R lltR V 3R lltR R ltR R	 ltR
 R ltR R lt	Rt
V ;t# )CompCertCCompileri  c               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# rG   r9   )r:   s   "r;   r<   CompCertCCompiler.__annotate__  sC     ( ({ ([ (3 (]j (!(4(  /(r>   c                	f    \         P                  WW#VWVVR 7       \        P                  ! V 4       R# r$  )r3   rS   r   rT   s   &&&&&&&&r;   rS   CompCertCCompiler.__init__  s1     	4;L 	 	J!!$'r>   c                   V ^8  d   QhRR/# ru   r9   )r:   s   "r;   r<   r    rv   r>   c                	   < \         SV `  4       pV P                  R 4      pW,          p\        V\        P
                  4      '       g   Q R4       hVP                  RR.4       V# r  r   r   s   &   r;   rz   CompCertCCompiler.get_options  r  r>   c                   V ^8  d   QhRR/# rW   r9   )r:   s   "r;   r<   r    r  r>   c                	    R .# r  r9   rY   s   &r;   r  *CompCertCCompiler.get_no_optimization_args  r  r>   c                    V ^8  d   QhRRRR/# r  r9   )r:   s   "r;   r<   r    r  r>   c                	    R V 2.# r  r9   r  s   &&r;   r  !CompCertCCompiler.get_output_args  r  r>   c                   V ^8  d   QhRR/# rW   r9   )r:   s   "r;   r<   r    r  r>   c                	    R .# )z-Werrorr9   rY   s   &r;   r  !CompCertCCompiler.get_werror_args  r  r>   c               $    V ^8  d   QhRRRRRR/# r  r9   )r:   s   "r;   r<   r    r  r>   c                	(    VR 8X  d   RpRV,           .# r
  r9   r  s   &&&r;   r  "CompCertCCompiler.get_include_args  r  r>   r9   r   )r   r   r   r   rS   rz   r  r  r  r  r   r   r   s   @r;   r  r    s+    (  r>   r  c                  f   a  ] tR tRtRR R lltR R ltR V 3R lltR R	 ltRR
 R lltRt	V ;t
# )TICCompileri  c               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# rG   r9   )r:   s   "r;   r<   TICCompiler.__annotate__  sC     " "{ "[ "3 "]j "!"4"  /"r>   c                	f    \         P                  WW#VWVVR 7       \        P                  ! V 4       R# r$  )r3   rS   r   rT   s   &&&&&&&&r;   rS   TICCompiler.__init__  s1     	4;L 	 	JD!r>   c                   V ^8  d   QhRR/# rW   r9   )r:   s   "r;   r<   r+    s       r>   c                	    . # r   r9   rY   s   &r;   r  TICCompiler.get_always_args  r  r>   c                   V ^8  d   QhRR/# ru   r9   )r:   s   "r;   r<   r+    rv   r>   c                	   < \         SV `  4       pV P                  R 4      pW,          p\        V\        P
                  4      '       g   Q R4       hVP                  . RO4       V# r  r   r   s   &   r;   rz   TICCompiler.get_options  r  r>   c                   V ^8  d   QhRR/# rW   r9   )r:   s   "r;   r<   r+    r  r>   c                	    . # r   r9   rY   s   &r;   rZ   TICCompiler.get_no_stdinc_args  r  r>   c               $    V ^8  d   QhRRRRRR/# r   r9   )r:   s   "r;   r<   r+    r   r>   c                	    . pV P                  R W4      p\        V\        4      '       g   Q hVR8w  d   VP                  RV,           4       V# r  r   r   s   &&&  r;   r   TICCompiler.get_option_std_args  r  r>   r9   r   r   )r   r   r   r   rS   r  rz   rZ   r   r   r   r   s   @r;   r)  r)    s&    "  r>   r)  c                      ] tR tRtRtRtR# )C2000CCompileri  c2000r9   Nr   r9   r>   r;   r;  r;    s    	Br>   r;  c                      ] tR tRtRtRtR# )C6000CCompileri  c6000r9   Nr   r9   r>   r;   r>  r>    s    	Br>   r>  c                  ^   a  ] tR tRtRtRR R lltR R ltR V 3R lltRR	 R
 lltRt	V ;t
# )MetrowerksCCompilerARMi  mwccarmc               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# rG   r9   )r:   s   "r;   r<   #MetrowerksCCompilerARM.__annotate__  C     * *{ *[ *3 *]j *!*4*  /*r>   c                	f    \         P                  WW#VWVVR 7       \        P                  ! V 4       R# r$  r3   rS   r"   rT   s   &&&&&&&&r;   rS   MetrowerksCCompilerARM.__init__  1     	4;L 	 	J##D)r>   c                    V ^8  d   QhRRRR/# r5   instruction_setr7   r8   rT  r9   )r:   s   "r;   r<   rD    s     G G G@W Gr>   c                	0    \         P                  ! VR 4      # r   )r#   getrB   rL  s   &&r;   get_instruction_set_args/MetrowerksCCompilerARM.get_instruction_set_args  s    +//FFr>   c                   V ^8  d   QhRR/# ru   r9   )r:   s   "r;   r<   rD          9 r>   c                	J   < \         SV `  4       pV P                  VR .4       V# r   ry   rz   _update_language_stdsrB   r   r   s   & r;   rz   "MetrowerksCCompilerARM.get_options  '    w"$""4%1r>   c               $    V ^8  d   QhRRRRRR/# r   r9   )r:   s   "r;   r<   rD    r  r>   c                	    . pV P                  R W4      p\        V\        4      '       g   Q hVR8w  d#   VP                  R4       VP                  V4       V# )rx   r   z-langr   r   s   &&&  r;   r   *MetrowerksCCompilerARM.get_option_std_args  sP    ((C#s####&=KK KKr>   r9   r   r   r   r   r   r   r   rS   rP  rz   r   r   r   r   s   @r;   rA  rA    s'    	B*G 
 r>   rA  c                  ^   a  ] tR tRtRtRR R lltR R ltR V 3R lltRR	 R
 lltRt	V ;t
# )"MetrowerksCCompilerEmbeddedPowerPCi  mwcceppcc               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# rG   r9   )r:   s   "r;   r<   /MetrowerksCCompilerEmbeddedPowerPC.__annotate__  rE  r>   c                	f    \         P                  WW#VWVVR 7       \        P                  ! V 4       R# r$  rG  rT   s   &&&&&&&&r;   rS   +MetrowerksCCompilerEmbeddedPowerPC.__init__  rI  r>   c                    V ^8  d   QhRRRR/# rK  r9   )r:   s   "r;   r<   rc    s     H H H@W Hr>   c                	0    \         P                  ! VR 4      # r   )r$   rN  rO  s   &&r;   rP  ;MetrowerksCCompilerEmbeddedPowerPC.get_instruction_set_args  s    ,00$GGr>   c                   V ^8  d   QhRR/# ru   r9   )r:   s   "r;   r<   rc    rS  r>   c                	J   < \         SV `  4       pV P                  VR .4       V# rU  rV  rX  s   & r;   rz   .MetrowerksCCompilerEmbeddedPowerPC.get_options  rZ  r>   c               $    V ^8  d   QhRRRRRR/# r   r9   )r:   s   "r;   r<   rc    r   r>   c                	    . pV P                  R W4      p\        V\        4      '       g   Q hVR8w  d   VP                  RV,           4       V# )rx   r   z-lang r   r   s   &&&  r;   r   6MetrowerksCCompilerEmbeddedPowerPC.get_option_std_args  sH    ((C#s####&=KK3'r>   r9   r   r   r^  r   s   @r;   r`  r`    s'    	B*H 
 r>   r`  c                  *    ] tR tRtRtRR R lltRtR# )TaskingCCompileri  taskingNc               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# rG   r9   )r:   s   "r;   r<   TaskingCCompiler.__annotate__  sC     ' '{ '[ '3 ']j '!'4'  /'r>   c                	f    \         P                  WW#VWVVR 7       \        P                  ! V 4       R# r$  )r3   rS   r%   rT   s   &&&&&&&&r;   rS   TaskingCCompiler.__init__  s1     	4;L 	 	J  &r>   r9   r   )r   r   r   r   r   rS   r   r9   r>   r;   rp  rp    s    	B' 'r>   rp  )r1  r?  r   r   rF  r   r2  r3  c2xc23c2y)rC  rD  rE  rI  rJ  rK  )j
__future__r   os.pathr  typingTr  r   r   r   mesonlibr   r   c_function_attributesr	   mixins.appler
   r   mixins.cliker   mixins.ccrxr   mixins.microchipr   r   r   mixins.compcertr   	mixins.tir   
mixins.armr   r   mixins.visualstudior   r   
mixins.gnur   r   r   r   mixins.intelr   r   mixins.clangr   r   mixins.elbrusr   
mixins.pgir    mixins.emscriptenr!   mixins.metrowerksr"   r#   r$   mixins.taskingr%   	compilersr&   r'   r(   TYPE_CHECKINGr)   re   r*   environmentr+   linkers.linkersr,   r-   r.   buildr/   CompilerMixinBaseobjectr~   r3   r   r   r   r   r   r  r  r)  r7  rZ  rh  rj  rs  r  r  r  r  r  r  r  r  r)  r;  r>  rA  r`  rp  )rx   s   0r;   <module>r     sq  
 #      6 4 = ' % C C - ! 5 > - C M 3 ) # . 1 Z +  ???4))/(+# X 1s3r7)_1 1 n n.x .b)Z	 )X> 
,o~ [/> [4#() #L5J8[) 5Jp#;	 #+y ("hni "hJ )9  F 
%6 ,#L*H) #Lz?4RT] "46TV_ >+ 
;	 41$L) 1$h,L) ,^
$I|\ 
$() >*i @[ [ / 8);Y 6	'	 	'S 2s   J 