forked from OSchip/llvm-project
				
			Fixed memory leak mistakenly introduced by https://reviews.llvm.org/D23115
Differential Revision: http://reviews.llvm.org/D25510 llvm-svn: 284747
This commit is contained in:
		
							parent
							
								
									0051efcf97
								
							
						
					
					
						commit
						2e68768d1e
					
				| 
						 | 
				
			
			@ -579,9 +579,11 @@ __kmp_free_task_and_ancestors( kmp_int32 gtid, kmp_taskdata_t * taskdata, kmp_in
 | 
			
		|||
#if OMP_45_ENABLED
 | 
			
		||||
    // Proxy tasks must always be allowed to free their parents
 | 
			
		||||
    // because they can be run in background even in serial mode.
 | 
			
		||||
    kmp_int32 task_serial = taskdata->td_flags.task_serial && !taskdata->td_flags.proxy;
 | 
			
		||||
    kmp_int32 team_serial = ( taskdata->td_flags.team_serial ||
 | 
			
		||||
        taskdata->td_flags.tasking_ser ) && !taskdata->td_flags.proxy;
 | 
			
		||||
#else
 | 
			
		||||
    kmp_int32 task_serial = taskdata->td_flags.task_serial;
 | 
			
		||||
    kmp_int32 team_serial = taskdata->td_flags.team_serial ||
 | 
			
		||||
        taskdata->td_flags.tasking_ser;
 | 
			
		||||
#endif
 | 
			
		||||
    KMP_DEBUG_ASSERT( taskdata -> td_flags.tasktype == TASK_EXPLICIT );
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -603,7 +605,7 @@ __kmp_free_task_and_ancestors( kmp_int32 gtid, kmp_taskdata_t * taskdata, kmp_in
 | 
			
		|||
 | 
			
		||||
        // Stop checking ancestors at implicit task
 | 
			
		||||
        // instead of walking up ancestor tree to avoid premature deallocation of ancestors.
 | 
			
		||||
        if ( task_serial || taskdata -> td_flags.tasktype == TASK_IMPLICIT )
 | 
			
		||||
        if ( team_serial || taskdata -> td_flags.tasktype == TASK_IMPLICIT )
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        // Predecrement simulated by "- 1" calculation
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue