Permalink
Browse files

Forgot to add files.

  • Loading branch information...
1 parent 84f820b commit de0d74dc68e59312fa293eb53f3002de9b7b5208 @lindquist lindquist committed Aug 6, 2009
Showing with 39 additions and 0 deletions.
  1. +33 −0 gen/warnings.cpp
  2. +6 −0 gen/warnings.h
View
@@ -0,0 +1,33 @@
+#include "mars.h"
+#include "mtype.h"
+#include "expression.h"
+
+#include "gen/warnings.h"
+
+void warnInvalidPrintfCall(Loc loc, Expression* arguments, size_t nargs)
+{
+ Expression* arg = arguments;
+
+ // make sure first argument is a string literal, or we can't do much
+ // TODO make it smarter ?
+ if (arg->op != TOKstring)
+ return; // assume valid
+
+ StringExp* strexp = (StringExp*)arg;
+
+ // not wchar or dhar
+ if (strexp->sz != 1)
+ {
+ warning(loc, "printf does not support wchar and dchar strings");
+ return;
+ }
+
+#if 0
+ // check the format string
+ const char* str = (char*)strexp->string;
+ for (size_t i = 0; i < strexp->len; ++i)
+ {
+ // TODO
+ }
+#endif
+}
View
@@ -0,0 +1,6 @@
+#ifndef __LDC_GEN_WARNINGS_H__
+#define __LDC_GEN_WARNINGS_H__
+
+void warnInvalidPrintfCall(Loc loc, Expression* arguments, size_t nargs);
+
+#endif // __LDC_GEN_WARNINGS_H__

0 comments on commit de0d74d

Please sign in to comment.