mirror of https://gitlab.com/basile.b/dexed.git
cesyms, spotted libdparse bug
This commit is contained in:
parent
0a74b7e3b4
commit
7145746f59
|
@ -1,5 +1,11 @@
|
||||||
module cesyms;
|
module cesyms;
|
||||||
|
|
||||||
|
/*
|
||||||
|
requires a libdparse fix / or comple without -inline, see
|
||||||
|
|
||||||
|
https://issues.dlang.org/show_bug.cgi?id=15272
|
||||||
|
*/
|
||||||
|
|
||||||
import std.stdio, std.path, std.file, std.array, std.string;
|
import std.stdio, std.path, std.file, std.array, std.string;
|
||||||
import dparse.lexer, dparse.ast, dparse.parser;
|
import dparse.lexer, dparse.ast, dparse.parser;
|
||||||
import std.traits;
|
import std.traits;
|
||||||
|
@ -78,9 +84,6 @@ string patchPasStringLitteral(const ref string p)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Memory utils ---------------------------------------------------------------+
|
// Memory utils ---------------------------------------------------------------+
|
||||||
// TODO-cbugfix: inline + optimizations + custom constructor = empty symbol list !
|
|
||||||
// inline + optimization + use 'new' = ok
|
|
||||||
|
|
||||||
void * getMem(size_t size) nothrow
|
void * getMem(size_t size) nothrow
|
||||||
{
|
{
|
||||||
import std.c.stdlib;
|
import std.c.stdlib;
|
||||||
|
@ -107,7 +110,7 @@ if(is(ST==struct))
|
||||||
return emplace!(ST, A)(memory, a);
|
return emplace!(ST, A)(memory, a);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void destruct(T)(ref T instance)
|
void destruct(T)(ref T instance)
|
||||||
if (is(T == class) || (isPointer!T && is(PointerTarget!T == struct)))
|
if (is(T == class) || (isPointer!T && is(PointerTarget!T == struct)))
|
||||||
{
|
{
|
||||||
if (!instance) return;
|
if (!instance) return;
|
||||||
|
@ -379,3 +382,4 @@ class SymbolListBuilder : ASTVisitor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//----
|
//----
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ object CurrentProject: TCENativeProject
|
||||||
OptionsCollection = <
|
OptionsCollection = <
|
||||||
item
|
item
|
||||||
name = 'release'
|
name = 'release'
|
||||||
|
outputOptions.inlining = True
|
||||||
outputOptions.boundsCheck = offAlways
|
outputOptions.boundsCheck = offAlways
|
||||||
outputOptions.optimizations = True
|
outputOptions.optimizations = True
|
||||||
outputOptions.release = True
|
outputOptions.release = True
|
||||||
|
|
Loading…
Reference in New Issue