Mercurial > projects > ldc
changeset 1568:a591aa6bd6dc
Forgot to add files.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail com> |
---|---|
date | Thu, 06 Aug 2009 17:04:36 +0200 |
parents | f1f33c8dcd90 |
children | 755abafbf25d |
files | gen/warnings.cpp gen/warnings.h |
diffstat | 2 files changed, 39 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gen/warnings.cpp Thu Aug 06 17:04:36 2009 +0200 @@ -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 +}