"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/dmd/expressionsem.d" between
dmd-2.093.0.tar.gz and dmd-2.093.1.tar.gz

About: DMD (Digital Mars D) is the D reference compiler. D is an object-oriented, imperative, multi-paradigm system programming language.

expressionsem.d  (dmd-2.093.0):expressionsem.d  (dmd-2.093.1)
skipping to change at line 4745 skipping to change at line 4745
exp.f = resolveFuncCall(exp.loc, sc, ctor, null, tthis, exp.argu ments, FuncResolveFlag.standard); exp.f = resolveFuncCall(exp.loc, sc, ctor, null, tthis, exp.argu ments, FuncResolveFlag.standard);
if (!exp.f || exp.f.errors) if (!exp.f || exp.f.errors)
return setError(); return setError();
checkFunctionAttributes(exp, sc, exp.f); checkFunctionAttributes(exp, sc, exp.f);
checkAccess(exp.loc, sc, null, exp.f); checkAccess(exp.loc, sc, null, exp.f);
exp.e1 = new DotVarExp(exp.e1.loc, exp.e1, exp.f, false); exp.e1 = new DotVarExp(exp.e1.loc, exp.e1, exp.f, false);
exp.e1 = exp.e1.expressionSemantic(sc); exp.e1 = exp.e1.expressionSemantic(sc);
// https://issues.dlang.org/show_bug.cgi?id=21095
if (exp.e1.op == TOK.error)
return setError();
t1 = exp.e1.type; t1 = exp.e1.type;
// BUG: this should really be done by checking the static // BUG: this should really be done by checking the static
// call graph // call graph
if (exp.f == sc.func) if (exp.f == sc.func)
{ {
exp.error("cyclic constructor call"); exp.error("cyclic constructor call");
return setError(); return setError();
} }
} }
 End of changes. 1 change blocks. 
0 lines changed or deleted 3 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)