Add placeholder function in Sema for new format string checking logic.
This function will use the format string parsing logic in libAnalysis,
and once it is shown to be better than the current implementation it
will replace AlternateCheckPrintfString() entirely.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94721 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaChecking.cpp b/lib/Sema/SemaChecking.cpp
index 9305ff7..2a5136e 100644
--- a/lib/Sema/SemaChecking.cpp
+++ b/lib/Sema/SemaChecking.cpp
@@ -1036,6 +1036,14 @@
                              const Expr *OrigFormatExpr,
                              const CallExpr *TheCall, bool HasVAListArg,
                              unsigned format_idx, unsigned firstDataArg) {
+    
+  static bool UseAlternatePrintfChecking = false;
+  if (UseAlternatePrintfChecking) {
+    AlternateCheckPrintfString(FExpr, OrigFormatExpr, TheCall,
+                               HasVAListArg, format_idx, firstDataArg);
+    return;
+  }    
+  
 
   const ObjCStringLiteral *ObjCFExpr =
     dyn_cast<ObjCStringLiteral>(OrigFormatExpr);
@@ -1059,7 +1067,7 @@
       << OrigFormatExpr->getSourceRange();
     return;
   }
-
+  
   // We process the format string using a binary state machine.  The
   // current state is stored in CurrentState.
   enum {
@@ -1271,6 +1279,15 @@
   }
 }
 
+void
+Sema::AlternateCheckPrintfString(const StringLiteral *FExpr,
+                                 const Expr *OrigFormatExpr,
+                                 const CallExpr *TheCall, bool HasVAListArg,
+                                 unsigned format_idx, unsigned firstDataArg) {
+  
+  
+}
+
 //===--- CHECK: Return Address of Stack Variable --------------------------===//
 
 static DeclRefExpr* EvalVal(Expr *E);