view gen/warnings.cpp @ 1635:601d3eea4a68

Make -nodefaultlib override -de{fault,bug}lib=foo instead of vice versa.
author Matti Niemenmaa <matti.niemenmaa+hg@iki.fi>
date Fri, 05 Mar 2010 21:40:51 +0200
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
}