mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-11 18:33:14 +01:00
Forgot to add files.
This commit is contained in:
33
gen/warnings.cpp
Normal file
33
gen/warnings.cpp
Normal file
@@ -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
|
||||
}
|
||||
6
gen/warnings.h
Normal file
6
gen/warnings.h
Normal file
@@ -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__
|
||||
Reference in New Issue
Block a user