view gen/warnings.cpp @ 1578:1dee66f6ec0b

Removed a chunk of code in favour of a shorter and more portable method
author Robert Clipsham <robert@octarineparrot.com>
date Tue, 08 Sep 2009 11:21:30 +0100
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
}