Mercurial > projects > ldc
view gen/warnings.cpp @ 1647:638a823ace45
Strange workaround for returning from within 'void main()'. The new dmdfe sets the ReturnStatement->exp to null. Fixed bug #391.
author | Kelly Wilson <wilsonk cpsc.ucalgary.ca> |
---|---|
date | Wed, 10 Mar 2010 19:35:14 -0700 |
parents | a591aa6bd6dc |
children |
line wrap: on
line source
#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 }