mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
upp.src: Fixed CLANG warnings in Win32
git-svn-id: svn://ultimatepp.org/upp/trunk@14099 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
97f0493e6e
commit
301cc8af51
13 changed files with 47 additions and 34 deletions
|
|
@ -247,7 +247,7 @@ LONG __stdcall sDumpHandler(LPEXCEPTION_POINTERS ep) {
|
|||
char h[200];
|
||||
sprintf(h, "CRASH: %d-%02d-%02d %02d:%02d:%02d code: 0x%X address: 0x%p",
|
||||
st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond,
|
||||
er->ExceptionCode, er->ExceptionAddress);
|
||||
(int)er->ExceptionCode, er->ExceptionAddress);
|
||||
RLOG("============ CRASH ================================================");
|
||||
RLOG(h);
|
||||
return sPrev ? (*sPrev)(ep) : 0 /*EXCEPTION_CONTINUE_SEARCH*/;
|
||||
|
|
|
|||
|
|
@ -262,7 +262,7 @@ template<> void Jsonize(JsonIO& io, int64& var)
|
|||
}
|
||||
if(IsNumber(v)) {
|
||||
double d = v;
|
||||
if(d >= INT64_MIN && d <= INT64_MAX) {
|
||||
if(FitsInInt64(d)) {
|
||||
var = (int64)d;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -318,6 +318,11 @@ int SignificantBits64(uint64 x)
|
|||
#endif
|
||||
}
|
||||
|
||||
inline bool FitsInInt64(double x)
|
||||
{
|
||||
return x >= -9223372036854775808.0 && x < 9223372036854775808.0;
|
||||
}
|
||||
|
||||
#if defined(COMPILER_MINGW) && !defined(COMPILER_CLANG)
|
||||
|
||||
#define MINGW_TLS_PATCH
|
||||
|
|
|
|||
|
|
@ -762,7 +762,7 @@ AbortExc::AbortExc() :
|
|||
|
||||
String GetErrorMessage(DWORD dwError) {
|
||||
char h[2048];
|
||||
sprintf(h, "%08x", dwError);
|
||||
sprintf(h, "%08x", (int)dwError);
|
||||
#ifdef PLATFORM_WINCE //TODO
|
||||
return h;
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ struct alignas(16) DbgBlkHeader {
|
|||
|
||||
static const char *DbgFormat(char *b, DbgBlkHeader *p)
|
||||
{
|
||||
sprintf(b, "--memory-breakpoint__ %u ", (dword)~(p->serial ^ (uintptr_t)p));
|
||||
sprintf(b, "--memory-breakpoint__ %u ", (unsigned int)~(p->serial ^ (uintptr_t)p));
|
||||
return b;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ int64 ffloor64(double value)
|
|||
|
||||
int64 fceil64(double value)
|
||||
{
|
||||
return value >= INT64_MAX ? INT64_MAX : value <= INT64_MIN ? INT64_MIN
|
||||
return value >= (double)INT64_MAX ? INT64_MAX : value <= (double)INT64_MIN ? INT64_MIN
|
||||
: (int64)ceil(value);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,13 @@
|
|||
|
||||
namespace Upp {
|
||||
|
||||
#ifdef COMPILER_CLANG
|
||||
#define CLANG_NOTHROW __attribute__((nothrow))
|
||||
#else
|
||||
#define CLANG_NOTHROW
|
||||
#endif
|
||||
|
||||
|
||||
#define LLOG(x) // DLOG(x)
|
||||
|
||||
int GetClipboardFormatCode(const char *format_id);
|
||||
|
|
@ -82,7 +89,7 @@ String Get(UDropTarget *dt, const char *fmt)
|
|||
return dt->Get(fmt);
|
||||
}
|
||||
|
||||
STDMETHODIMP UDropTarget::QueryInterface(REFIID iid, void ** ppv)
|
||||
STDMETHODIMP CLANG_NOTHROW UDropTarget::QueryInterface(REFIID iid, void ** ppv)
|
||||
{
|
||||
if(iid == IID_IUnknown || iid == IID_IDropTarget) {
|
||||
*ppv = this;
|
||||
|
|
@ -152,7 +159,7 @@ void UDropTarget::Repeat()
|
|||
Ctrl::DnDRepeat();
|
||||
}
|
||||
|
||||
STDMETHODIMP UDropTarget::DragEnter(LPDATAOBJECT pDataObj, DWORD grfKeyState, POINTL pt, LPDWORD pdwEffect)
|
||||
STDMETHODIMP CLANG_NOTHROW UDropTarget::DragEnter(LPDATAOBJECT pDataObj, DWORD grfKeyState, POINTL pt, LPDWORD pdwEffect)
|
||||
{
|
||||
GuiLock __;
|
||||
LLOG("DragEnter " << pt);
|
||||
|
|
@ -177,7 +184,7 @@ STDMETHODIMP UDropTarget::DragEnter(LPDATAOBJECT pDataObj, DWORD grfKeyState, PO
|
|||
}
|
||||
|
||||
|
||||
STDMETHODIMP UDropTarget::DragOver(DWORD grfKeyState, POINTL pt, LPDWORD pdwEffect)
|
||||
STDMETHODIMP CLANG_NOTHROW UDropTarget::DragOver(DWORD grfKeyState, POINTL pt, LPDWORD pdwEffect)
|
||||
{
|
||||
LLOG("DragOver " << pt << " keys: " << grfKeyState);
|
||||
DnD(pt, false, pdwEffect, grfKeyState);
|
||||
|
|
@ -197,7 +204,7 @@ void UDropTarget::EndDrag()
|
|||
Ctrl::DnDLeave();
|
||||
}
|
||||
|
||||
STDMETHODIMP UDropTarget::DragLeave()
|
||||
STDMETHODIMP CLANG_NOTHROW UDropTarget::DragLeave()
|
||||
{
|
||||
LLOG("DragLeave");
|
||||
EndDrag();
|
||||
|
|
@ -205,7 +212,7 @@ STDMETHODIMP UDropTarget::DragLeave()
|
|||
return NOERROR;
|
||||
}
|
||||
|
||||
STDMETHODIMP UDropTarget::Drop(LPDATAOBJECT, DWORD grfKeyState, POINTL pt, LPDWORD pdwEffect)
|
||||
STDMETHODIMP CLANG_NOTHROW UDropTarget::Drop(LPDATAOBJECT, DWORD grfKeyState, POINTL pt, LPDWORD pdwEffect)
|
||||
{
|
||||
LLOG("Drop");
|
||||
if(Ctrl::GetDragAndDropSource())
|
||||
|
|
@ -285,7 +292,7 @@ struct UDropSource : public IDropSource {
|
|||
UDropSource() { rc = 1; }
|
||||
};
|
||||
|
||||
STDMETHODIMP UDataObject::QueryInterface(REFIID iid, void ** ppv)
|
||||
STDMETHODIMP CLANG_NOTHROW UDataObject::QueryInterface(REFIID iid, void ** ppv)
|
||||
{
|
||||
if(iid == IID_IUnknown || iid == IID_IDataObject) {
|
||||
*ppv = this;
|
||||
|
|
@ -311,7 +318,7 @@ void SetMedium(STGMEDIUM *medium, const String& data)
|
|||
}
|
||||
}
|
||||
|
||||
STDMETHODIMP UDataObject::GetData(FORMATETC *fmtetc, STGMEDIUM *medium)
|
||||
STDMETHODIMP CLANG_NOTHROW UDataObject::GetData(FORMATETC *fmtetc, STGMEDIUM *medium)
|
||||
{
|
||||
String fmt = FromWin32CF(fmtetc->cfFormat);
|
||||
ClipData *s = data.FindPtr(fmt);
|
||||
|
|
@ -323,17 +330,17 @@ STDMETHODIMP UDataObject::GetData(FORMATETC *fmtetc, STGMEDIUM *medium)
|
|||
return DV_E_FORMATETC;
|
||||
}
|
||||
|
||||
STDMETHODIMP UDataObject::GetDataHere(FORMATETC *, STGMEDIUM *)
|
||||
STDMETHODIMP CLANG_NOTHROW UDataObject::GetDataHere(FORMATETC *, STGMEDIUM *)
|
||||
{
|
||||
return DV_E_FORMATETC;
|
||||
}
|
||||
|
||||
STDMETHODIMP UDataObject::QueryGetData(FORMATETC *fmtetc)
|
||||
STDMETHODIMP CLANG_NOTHROW UDataObject::QueryGetData(FORMATETC *fmtetc)
|
||||
{
|
||||
return data.Find(FromWin32CF(fmtetc->cfFormat)) >= 0 ? S_OK : DV_E_FORMATETC;
|
||||
}
|
||||
|
||||
STDMETHODIMP UDataObject::GetCanonicalFormatEtc(FORMATETC *, FORMATETC *pformatetcOut)
|
||||
STDMETHODIMP CLANG_NOTHROW UDataObject::GetCanonicalFormatEtc(FORMATETC *, FORMATETC *pformatetcOut)
|
||||
{
|
||||
pformatetcOut->ptd = NULL;
|
||||
return E_NOTIMPL;
|
||||
|
|
@ -345,7 +352,7 @@ static int CF_PERFORMEDDROPEFFECT = RegisterClipboardFormat(_T("Performed DropEf
|
|||
static int CF_PERFORMEDDROPEFFECT = RegisterClipboardFormat("Performed DropEffect");
|
||||
#endif
|
||||
|
||||
STDMETHODIMP UDataObject::SetData(FORMATETC *fmtetc, STGMEDIUM *medium, BOOL release)
|
||||
STDMETHODIMP CLANG_NOTHROW UDataObject::SetData(FORMATETC *fmtetc, STGMEDIUM *medium, BOOL release)
|
||||
{
|
||||
if(fmtetc->cfFormat == CF_PERFORMEDDROPEFFECT && medium->tymed == TYMED_HGLOBAL) {
|
||||
DWORD *val = (DWORD*)GlobalLock(medium->hGlobal);
|
||||
|
|
@ -358,7 +365,7 @@ STDMETHODIMP UDataObject::SetData(FORMATETC *fmtetc, STGMEDIUM *medium, BOOL rel
|
|||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
STDMETHODIMP UDataObject::EnumFormatEtc(DWORD dwDirection, IEnumFORMATETC **ief)
|
||||
STDMETHODIMP CLANG_NOTHROW UDataObject::EnumFormatEtc(DWORD dwDirection, IEnumFORMATETC **ief)
|
||||
{
|
||||
UEnumFORMATETC *ef = new UEnumFORMATETC;
|
||||
ef->data = this;
|
||||
|
|
@ -367,23 +374,23 @@ STDMETHODIMP UDataObject::EnumFormatEtc(DWORD dwDirection, IEnumFORMATETC **ief)
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
STDMETHODIMP UDataObject::DAdvise(FORMATETC *, DWORD, IAdviseSink *, DWORD *)
|
||||
STDMETHODIMP CLANG_NOTHROW UDataObject::DAdvise(FORMATETC *, DWORD, IAdviseSink *, DWORD *)
|
||||
{
|
||||
return OLE_E_ADVISENOTSUPPORTED;
|
||||
}
|
||||
|
||||
|
||||
STDMETHODIMP UDataObject::DUnadvise(DWORD)
|
||||
STDMETHODIMP CLANG_NOTHROW UDataObject::DUnadvise(DWORD)
|
||||
{
|
||||
return OLE_E_ADVISENOTSUPPORTED;
|
||||
}
|
||||
|
||||
STDMETHODIMP UDataObject::EnumDAdvise(LPENUMSTATDATA FAR*)
|
||||
STDMETHODIMP CLANG_NOTHROW UDataObject::EnumDAdvise(LPENUMSTATDATA FAR*)
|
||||
{
|
||||
return OLE_E_ADVISENOTSUPPORTED;
|
||||
}
|
||||
|
||||
STDMETHODIMP UEnumFORMATETC::QueryInterface(REFIID riid, void FAR* FAR* ppvObj)
|
||||
STDMETHODIMP CLANG_NOTHROW UEnumFORMATETC::QueryInterface(REFIID riid, void FAR* FAR* ppvObj)
|
||||
{
|
||||
if (riid == IID_IUnknown || riid == IID_IEnumFORMATETC) {
|
||||
*ppvObj = this;
|
||||
|
|
@ -394,7 +401,7 @@ STDMETHODIMP UEnumFORMATETC::QueryInterface(REFIID riid, void FAR* FAR* ppvObj)
|
|||
return ResultFromScode(E_NOINTERFACE);
|
||||
}
|
||||
|
||||
STDMETHODIMP UEnumFORMATETC::Next(ULONG n, FORMATETC *t, ULONG *fetched) {
|
||||
STDMETHODIMP CLANG_NOTHROW UEnumFORMATETC::Next(ULONG n, FORMATETC *t, ULONG *fetched) {
|
||||
if(t == NULL)
|
||||
return E_INVALIDARG;
|
||||
if(fetched) *fetched = 0;
|
||||
|
|
@ -406,20 +413,20 @@ STDMETHODIMP UEnumFORMATETC::Next(ULONG n, FORMATETC *t, ULONG *fetched) {
|
|||
return n ? S_FALSE : NOERROR;
|
||||
}
|
||||
|
||||
STDMETHODIMP UEnumFORMATETC::Skip(ULONG n) {
|
||||
STDMETHODIMP CLANG_NOTHROW UEnumFORMATETC::Skip(ULONG n) {
|
||||
ii += n;
|
||||
if(ii >= data->data.GetCount())
|
||||
return S_FALSE;
|
||||
return NOERROR;
|
||||
}
|
||||
|
||||
STDMETHODIMP UEnumFORMATETC::Reset()
|
||||
STDMETHODIMP CLANG_NOTHROW UEnumFORMATETC::Reset()
|
||||
{
|
||||
ii = 0;
|
||||
return NOERROR;
|
||||
}
|
||||
|
||||
STDMETHODIMP UEnumFORMATETC::Clone(IEnumFORMATETC **newEnum)
|
||||
STDMETHODIMP CLANG_NOTHROW UEnumFORMATETC::Clone(IEnumFORMATETC **newEnum)
|
||||
{
|
||||
if(newEnum == NULL)
|
||||
return E_INVALIDARG;
|
||||
|
|
@ -431,7 +438,7 @@ STDMETHODIMP UEnumFORMATETC::Clone(IEnumFORMATETC **newEnum)
|
|||
return NOERROR;
|
||||
}
|
||||
|
||||
STDMETHODIMP UDropSource::QueryInterface(REFIID riid, void **ppvObj)
|
||||
STDMETHODIMP CLANG_NOTHROW UDropSource::QueryInterface(REFIID riid, void **ppvObj)
|
||||
{
|
||||
if (riid == IID_IUnknown || riid == IID_IDropSource) {
|
||||
*ppvObj = this;
|
||||
|
|
@ -442,7 +449,7 @@ STDMETHODIMP UDropSource::QueryInterface(REFIID riid, void **ppvObj)
|
|||
return ResultFromScode(E_NOINTERFACE);
|
||||
}
|
||||
|
||||
STDMETHODIMP UDropSource::QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState)
|
||||
STDMETHODIMP CLANG_NOTHROW UDropSource::QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState)
|
||||
{
|
||||
if(fEscapePressed)
|
||||
return DRAGDROP_S_CANCEL;
|
||||
|
|
@ -453,7 +460,7 @@ STDMETHODIMP UDropSource::QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeySta
|
|||
return NOERROR;
|
||||
}
|
||||
|
||||
STDMETHODIMP UDropSource::GiveFeedback(DWORD dwEffect)
|
||||
STDMETHODIMP CLANG_NOTHROW UDropSource::GiveFeedback(DWORD dwEffect)
|
||||
{
|
||||
LLOG("GiveFeedback");
|
||||
Image m = IsNull(move) ? copy : move;
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ void ESC_to_number(EscEscape& e)
|
|||
if(e[0].IsArray()) {
|
||||
double d = ScanDouble((String)e[0]);
|
||||
if(!IsNull(d)) {
|
||||
if(d <= INT64_MAX && d >= INT64_MIN)
|
||||
if(FitsInInt64(d))
|
||||
e = ScanInt64((String)e[0]);
|
||||
else
|
||||
e = d;
|
||||
|
|
|
|||
|
|
@ -212,7 +212,7 @@ String EscValue::ToString(int maxlen, int indent_step, bool hex, int indent) con
|
|||
s << FormatInt64((int64)number);
|
||||
else
|
||||
s << Format("%.8g", number);
|
||||
if(hex && number >= INT64_MIN && number <= INT64_MAX && (int64)number == number)
|
||||
if(hex && FitsInInt64(number) && (int64)number == number)
|
||||
s << " 0x" << Format64Hex((int64)number);
|
||||
if(hex && number >= 0 && number < 65536 && (int)number == number)
|
||||
s << ' ' << AsCString(ToUtf8(WString((int)number, 1)));
|
||||
|
|
|
|||
|
|
@ -541,7 +541,7 @@ void PdfDraw::DrawPolyPolyPolygonOp(const Point *vertices, int vertex_count,
|
|||
if(fill) PutrgColor(color, pattern);
|
||||
if(stroke) { PutRGColor(outline); PutLineWidth(width); }
|
||||
if(!fill && !stroke) return;
|
||||
const char *closeop = (fill & stroke ? "B*" : fill ? "f*" : "S");
|
||||
const char *closeop = fill && stroke ? "B*" : fill ? "f*" : "S";
|
||||
while(--disjunct_polygon_count_count >= 0) {
|
||||
int disj = *disjunct_polygon_counts++;
|
||||
while(disj > 0) {
|
||||
|
|
|
|||
|
|
@ -416,13 +416,14 @@ bool Pdb::RunToException()
|
|||
#else
|
||||
&& bp_set.Find(t.context32.Eip - 1) >= 0
|
||||
#endif
|
||||
) // We have stopped at breakpoint, need to move address back
|
||||
) { // We have stopped at breakpoint, need to move address back
|
||||
#ifdef CPU_64
|
||||
if(win64)
|
||||
t.context64.Rip--;
|
||||
else
|
||||
#endif
|
||||
t.context32.Eip--;
|
||||
}
|
||||
context = t;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ int64 Pdb::GetInt64(Pdb::Val v)
|
|||
GETINT(SINT8, int64);
|
||||
case FLT:
|
||||
case DBL:
|
||||
if(v.fval >= _I64_MIN && v.fval <= _I64_MAX)
|
||||
if(FitsInInt64(v.fval))
|
||||
return (int64)v.fval;
|
||||
}
|
||||
ThrowError("Invalid operand");
|
||||
|
|
|
|||
|
|
@ -341,7 +341,7 @@ void InstantSetup()
|
|||
bmSet(bm, "RELEASE_LINKMODE", "0");
|
||||
bmSet(bm, "RELEASE_OPTIONS", "-O3 ");
|
||||
bmSet(bm, "RELEASE_FLAGS", "");
|
||||
bmSet(bm, "RELEASE_LINK", "Wl,-pdb= -Wl,--stack,20000000");
|
||||
bmSet(bm, "RELEASE_LINK", "-Wl,--stack,20000000");
|
||||
bmSet(bm, "DEBUGGER", "gdb");
|
||||
bmSet(bm, "ALLOW_PRECOMPILED_HEADERS", "1");
|
||||
bmSet(bm, "DISABLE_BLITZ", "");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue