63 lines
		
	
	
	
		
			1.3 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			63 lines
		
	
	
	
		
			1.3 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								/// Use BUG_ON instead of a if condition followed by BUG.
							 | 
						||
| 
								 | 
							
								///
							 | 
						||
| 
								 | 
							
								//# This makes an effort to find cases where BUG() follows an if
							 | 
						||
| 
								 | 
							
								//# condition on an expression and replaces the if condition and BUG()
							 | 
						||
| 
								 | 
							
								//# with a BUG_ON having the conditional expression of the if statement
							 | 
						||
| 
								 | 
							
								//# as argument.
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								// Confidence: High
							 | 
						||
| 
								 | 
							
								// Copyright: (C) 2014 Himangi Saraogi.  GPLv2.
							 | 
						||
| 
								 | 
							
								// Comments:
							 | 
						||
| 
								 | 
							
								// Options: --no-includes, --include-headers
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								virtual patch
							 | 
						||
| 
								 | 
							
								virtual context
							 | 
						||
| 
								 | 
							
								virtual org
							 | 
						||
| 
								 | 
							
								virtual report
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//----------------------------------------------------------
							 | 
						||
| 
								 | 
							
								//  For context mode
							 | 
						||
| 
								 | 
							
								//----------------------------------------------------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@depends on context@
							 | 
						||
| 
								 | 
							
								expression e;
							 | 
						||
| 
								 | 
							
								@@
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								*if (e) BUG();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//----------------------------------------------------------
							 | 
						||
| 
								 | 
							
								//  For patch mode
							 | 
						||
| 
								 | 
							
								//----------------------------------------------------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@depends on patch@
							 | 
						||
| 
								 | 
							
								expression e;
							 | 
						||
| 
								 | 
							
								@@
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-if (e) BUG();
							 | 
						||
| 
								 | 
							
								+BUG_ON(e);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//----------------------------------------------------------
							 | 
						||
| 
								 | 
							
								//  For org and report mode
							 | 
						||
| 
								 | 
							
								//----------------------------------------------------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@r@
							 | 
						||
| 
								 | 
							
								expression e;
							 | 
						||
| 
								 | 
							
								position p;
							 | 
						||
| 
								 | 
							
								@@
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 if (e) BUG@p ();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@script:python depends on org@
							 | 
						||
| 
								 | 
							
								p << r.p;
							 | 
						||
| 
								 | 
							
								@@
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								coccilib.org.print_todo(p[0], "WARNING use BUG_ON")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@script:python depends on report@
							 | 
						||
| 
								 | 
							
								p << r.p;
							 | 
						||
| 
								 | 
							
								@@
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								msg="WARNING: Use BUG_ON"
							 | 
						||
| 
								 | 
							
								coccilib.report.print_report(p[0], msg)
							 | 
						||
| 
								 | 
							
								
							 |