+
    :i                         ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	t	^ RI
t
^ RIt]! R4       ! R R	]4      4       t]R
8X  d   ]P                  ! 4        R# R# )    )override_config)skip_on_cudasim)cuda)types)CUDATestCaseNz&Simulator does not produce debug dumpsc                      a a ] tR t^t oRtV 3R ltR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tRtVtV ;t# )TestCudaDebugInfoz@
These tests only checks the compiled PTX for debuginfo section
c                F   < \         SV `  4        V P                  R 4       R# )z!Exceptions not supported with LTON)supersetUpskip_if_lto)self	__class__s   &d/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/cuda/tests/cudapy/test_debuginfo.pyr   TestCudaDebugInfo.setUp   s     	<=    c                F    VP                  V4       VP                  V4      # N)compileinspect_asm)r   fnsigs   &&&r   _getasmTestCudaDebugInfo._getasm   s    


3~~c""r   c                    V P                  WR 7      p\        P                  ! R4      pVP                  V4      pV'       d   V P                  MV P
                  pV! WdR7       R# ))r   z\.section\s+\.debug_info\s+{)msgN)r   rer   searchassertIsNotNoneassertIsNone)r   r   r   expectasmre_section_dbginfomatchassertfns   &&&&    r   _checkTestCudaDebugInfo._check   sO    ll2l'ZZ(GH"))#.+14''t7H7H r   c                    \         P                  ! R R7      R 4       pV P                  V\        P                  R,          3R R7       R# )Fdebugc                     ^V ^ &   R#    N xs   &r   foo7TestCudaDebugInfo.test_no_debuginfo_in_asm.<locals>.foo&       AaDr   NNNr   r!   Nr   jitr&   r   int32r   r1   s   & r   test_no_debuginfo_in_asm*TestCudaDebugInfo.test_no_debuginfo_in_asm%   s<    			 
	 	Cekk!n.u=r   c                    \         P                  ! R RR7      R 4       pV P                  V\        P                  R,          3R R7       R# )TFr*   optc                     ^V ^ &   R# r,   r.   r/   s   &r   r1   4TestCudaDebugInfo.test_debuginfo_in_asm.<locals>.foo-   r3   r   r4   r5   Nr6   r9   s   & r   test_debuginfo_in_asm'TestCudaDebugInfo.test_debuginfo_in_asm,   s>    	%	(	 
)	 	Cekk!n.t<r   c                   \        R ^4      ;_uu_ 4        \        P                  ! RR7      R 4       pV P                  V\        P
                  R,          3RR7       \        P                  ! RR7      R 4       pV P                  V\        P
                  R,          3RR7       R	R	R	4       R	#   + '       g   i     R	# ; i)
CUDA_DEBUGINFO_DEFAULTF)r>   c                     ^V ^ &   R# r,   r.   r/   s   &r   r1   8TestCudaDebugInfo.test_environment_override.<locals>.foo6       !r   r4   Tr5   r)   c                     ^V ^ &   R# r,   r.   r/   s   &r   bar8TestCudaDebugInfo.test_environment_override.<locals>.bar=   rG   r   N)r   r   r7   r&   r   r8   )r   r1   rI   s   &  r   test_environment_override+TestCudaDebugInfo.test_environment_override3   s    5q99XX%  ! KK%++a.!24K@ XXE" # KK%++a.!25KA :999s   BB..B?	c                p    \         P                  ! \        P                  R ,          3RRR7      R 4       pR# )NNr-   TFr=   c                     ^ V ^ &   R# )r   Nr.   r/   s   &r   f,TestCudaDebugInfo.test_issue_5835.<locals>.fG   r3   r   Nr   r7   r   r8   r   rP   s   & r   test_issue_5835!TestCudaDebugInfo.test_issue_5835C   s/     
5;;s#%Tu	=	 
>	r   c                \   \         P                  R ,          3p\        P                  ! VR^ R7      R 4       pVP	                  V4      pVP                  4        Uu. uF  pRV9   g   K  VNK  	  ppV P                  \        V4      ^4       V^ ,          pV P                  RV4       R# u upi )rN   Tr=   c                     ^V ^ &   R# r,   r.   r/   s   &r   rP   7TestCudaDebugInfo.test_wrapper_has_debuginfo.<locals>.fN   r3   r   zdefine void @"_ZN6cudapyz!dbgN)	r   r8   r   r7   inspect_llvm
splitlinesassertEquallenassertIn)r   r   rP   llvm_irlinedefineswrapper_defines   &      r   test_wrapper_has_debuginfo,TestCudaDebugInfo.test_wrapper_has_debuginfoK   s    {{3!	#Tq	)	 
*	 ..%$+$6$6$8 :$8D0D8 4$8 : 	Wq) fn-:s   	B))B)c                    \         P                  ! \        P                  R ,          \        P                  R ,          3RRR7      R 4       pR# )r4   TFr=   c                 0    V ^ ,          R9   d   ^M^V^ &   R# )r   N)      r.   )inpoutps   &&r   rP   DTestCudaDebugInfo.test_debug_function_calls_internal_impl.<locals>.fk   s    q6V+aDGr   NrR   rS   s   & r   'test_debug_function_calls_internal_impl9TestCudaDebugInfo.test_debug_function_calls_internal_impl]   s9     
5;;q>5;;q>2$E	J	3 
K	3r   c                   a \         P                  ! R R ^ R7      R 4       o\         P                  ! \        P                  R,          3R ^ R7      V3R l4       pR# )Tdevicer*   r>   c                      \         P                  P                  \         P                  P                  ,          \         P                  P                  ,           # r   )r   blockDimr0   blockIdx	threadIdxr.   r   r   threadidMTestCudaDebugInfo.test_debug_function_calls_device_function.<locals>.threadidt   s,    ==??T]]__4t~~7G7GGGr   r4   r=   c                 j   < \         P                  ! ^4      pV\        V 4      8  d   S! 4       W&   R# R# r,   )r   gridr\   )arrirt   s   & r   kernelKTestCudaDebugInfo.test_debug_function_calls_device_function.<locals>.kernelx   s)    		!A3s8|! r   NrR   )r   rz   rt   s   & @r   )test_debug_function_calls_device_function;TestCudaDebugInfo.test_debug_function_calls_device_functiono   sR    
 
Tq	1	H 
2	H 
5;;q>#4Q	7	$ 
8	$r   c                ,  aa \         P                  ! R VRR7      R 4       o\         P                  ! R VRR7      V3R l4       o\         P                  ! \        P                  \        P                  3VRR7      V3R l4       pVR,          ! ^^4       R# )	TFrn   c                     V ^,           # r-   r.   r/   s   &r   f2;TestCudaDebugInfo._test_chained_device_function.<locals>.f2       q5Lr   c                 "   < V S! V4      ,
          # r   r.   r0   yr   s   &&r   f1;TestCudaDebugInfo._test_chained_device_function.<locals>.f1       r!u9r   r=   c                    < S! W4       R # r   r.   r0   r   r   s   &&r   rz   ?TestCudaDebugInfo._test_chained_device_function.<locals>.kernel   s
    qHr   Nr-   r-   rR   r   kernel_debugf1_debugf2_debugrz   r   r   s   &&&& @@r   _test_chained_device_function/TestCudaDebugInfo._test_chained_device_function~   s    	X5	9	 
:	 
X5	9	 
:	 
5;;,Le	L	 
M	 	tQr   c                    \         P                  ! R.^,          !  pV F>  w  r#pV P                  VVVR7      ;_uu_ 4        V P                  VVV4       RRR4       K@  	  R#   + '       g   i     KU  ; iT)r   r   r   N)TF)	itertoolsproductsubTestr   r   
debug_optsr   r   r   s   &    r   test_chained_device_function.TestCudaDebugInfo.test_chained_device_function   sz    
 &&!(;<
0:,LH<'/'/  1 1 22<3;3;=1 1 1;1 1 1   A##A4c                   aa \         P                  ! R VRR7      R 4       o\         P                  ! R VRR7      V3R l4       o\         P                  ! VRR7      VV3R l4       pVR,          ! ^^4       R# )	TFrn   c                     V ^,           # r   r.   r/   s   &r   r   ETestCudaDebugInfo._test_chained_device_function_two_calls.<locals>.f2   r   r   c                 "   < V S! V4      ,
          # r   r.   r   s   &&r   r   ETestCudaDebugInfo._test_chained_device_function_two_calls.<locals>.f1   r   r   r=   c                 (   < S! W4       S! V 4       R # r   r.   )r0   r   r   r   s   &&r   rz   ITestCudaDebugInfo._test_chained_device_function_two_calls.<locals>.kernel   s    qHqEr   Nr   r   r7   r   s   &&&& @@r   '_test_chained_device_function_two_calls9TestCudaDebugInfo._test_chained_device_function_two_calls   st     
X5	9	 
:	 
X5	9	 
:	 
%	0	 
1	 	tQr   c                    \         P                  ! R.^,          !  pV F>  w  r#pV P                  VVVR7      ;_uu_ 4        V P                  VVV4       RRR4       K@  	  R#   + '       g   i     KU  ; ir   )r   r   r   r   r   s   &    r   &test_chained_device_function_two_calls8TestCudaDebugInfo.test_chained_device_function_two_calls   s{     &&!(;<
0:,LH<'/'/  1 1 <<\=E=EG1 1 1;1 1 1r   c                \    R  pV! RRR7       V! RRR7       V! RRR7       V! RRR7       R# )c                 ,  aaa \         P                  ! R VRR7      R 4       o\         P                  ! R R7      V3R l4       o\         P                  ! R R7      V3R l4       o\         P                  ! V RR7      V3R l4       pVR
,          ! ^^4       R	# )TFrn   c                     W ,          # r   r.   r/   s   &r   f3[TestCudaDebugInfo.test_chained_device_three_functions.<locals>.three_device_fns.<locals>.f3   s	    ur   )ro   c                 "   < S! V 4      ^,           # r   r.   )r0   r   s   &r   r   [TestCudaDebugInfo.test_chained_device_three_functions.<locals>.three_device_fns.<locals>.f2   s    !uqy r   c                 "   < V S! V4      ,
          # r   r.   r   s   &&r   r   [TestCudaDebugInfo.test_chained_device_three_functions.<locals>.three_device_fns.<locals>.f1   s    2a5y r   r=   c                    < S! W4       R # r   r.   r   s   &&r   rz   _TestCudaDebugInfo.test_chained_device_three_functions.<locals>.three_device_fns.<locals>.kernel   s
    1r   Nr   r   )r   
leaf_debugrz   r   r   r   s   && @@@r   three_device_fnsOTestCudaDebugInfo.test_chained_device_three_functions.<locals>.three_device_fns   s    XXT? @ XXT"! #! XXT"! #! XXLe4 5 4LAr   T)r   r   FNr.   )r   r   s   & r   #test_chained_device_three_functions5TestCudaDebugInfo.test_chained_device_three_functions   s1    	( 	dt<du=e=e>r   r.   )__name__
__module____qualname____firstlineno____doc__r   r   r&   r:   rA   rK   rT   rb   rk   r|   r   r   r   r   r   __static_attributes____classdictcell____classcell__)r   __classdict__s   @@r   r	   r	      s\     >#!>=B .$3$$=$G ? ?r   r	   __main__)numba.tests.supportr   numba.cuda.testingr   numbar   
numba.corer   r   r   r   unittestr	   r   mainr.   r   r   <module>r      sZ    / .   +  	  9:M? M? ;M?` zMMO r   