Bug 20435 – formating pointer with std.format crashes when using CTFE

Status
RESOLVED
Resolution
WORKSFORME
Severity
normal
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2019-12-06T19:46:47Z
Last change time
2023-04-05T11:09:17Z
Assigned to
No Owner
Creator
berni44

Comments

Comment #0 by bugzilla — 2019-12-06T19:46:47Z
import std.format; void main() { auto a = 3; auto p = &a; auto f = format!"%s"(p); } With dmd 2.082.0 this works, with the current version I got: --- ERROR: This is a compiler bug. Please report it via https://issues.dlang.org/enter_bug.cgi with, preferably, a reduced, reproducible example and the information below. DustMite (https://github.com/CyberShadow/DustMite/wiki) can help with the reduction. --- DMD v2.089.0-rc.1-265-g5e5340a6f predefs DigitalMars Posix linux ELFv1 CRuntime_Glibc CppRuntime_Gcc LittleEndian D_Version2 all D_SIMD D_InlineAsm_X86_64 X86_64 D_LP64 D_PIC assert D_ModuleInfo D_Exceptions D_TypeInfo D_HardFloat binary D/dmd/generated/linux/release/64/dmd version v2.089.0-rc.1-265-g5e5340a6f config D/dmd/generated/linux/release/64/dmd.conf DFLAGS -ID/dmd/generated/linux/release/64/../../../../../druntime/import -ID/dmd/generated/linux/release/64/../../../../../phobos -L-LD/dmd/generated/linux/release/64/../../../../../phobos/generated/linux/release/64 -L--export-dynamic -fPIC --- core.exception.AssertError@dmd/dinterpret.d(7319): Assertion failure ---------------- ??:? _d_assertp [0xe63ab009] dmd/dinterpret.d:7319 void dmd.dinterpret.setValue(dmd.declaration.VarDeclaration, dmd.expression.Expression) [0xe615198d] dmd/dinterpret.d:3821 _ZN11Interpreter14assignToLvalueEP6BinExpP10ExpressionS3_ [0xe61470e8] dmd/dinterpret.d:3642 void dmd.dinterpret.Interpreter.interpretAssignCommon(dmd.expression.BinExp, dmd.expression.UnionExp function(ref const(dmd.globals.Loc), dmd.mtype.Type, dmd.expression.Expression, dmd.expression.Expression)*, int) [0xe614675b] dmd/dinterpret.d:4234 _ZN11Interpreter5visitEP9AssignExp [0xe61488b0] dmd/visitor.d:84 _ZN7Visitor5visitEP12ConstructExp [0xe62abc01] dmd/expression.d:5805 _ZN12ConstructExp6acceptEP7Visitor [0xe61b10dd] dmd/dinterpret.d:6264 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.expression.Expression, dmd.dinterpret.InterState*, dmd.dinterpret.CtfeGoal) [0xe614e834] dmd/dinterpret.d:6292 dmd.expression.Expression dmd.dinterpret.interpretRegion(dmd.expression.Expression, dmd.dinterpret.InterState*, dmd.dinterpret.CtfeGoal) [0xe614e8e7] dmd/dinterpret.d:2248 _ZN11Interpreter5visitEP14DeclarationExp [0xe6142224] dmd/expression.d:3933 _ZN14DeclarationExp6acceptEP7Visitor [0xe61acf39] dmd/dinterpret.d:6264 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.expression.Expression, dmd.dinterpret.InterState*, dmd.dinterpret.CtfeGoal) [0xe614e834] dmd/dinterpret.d:774 _ZN11Interpreter5visitEP12ExpStatement [0xe613e500] dmd/statement.d:745 _ZN12ExpStatement6acceptEP7Visitor [0xe627ca01] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:792 _ZN11Interpreter5visitEP17CompoundStatement [0xe613e5c5] dmd/statement.d:937 _ZN17CompoundStatement6acceptEP7Visitor [0xe627d2d9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:792 _ZN11Interpreter5visitEP17CompoundStatement [0xe613e5c5] dmd/statement.d:937 _ZN17CompoundStatement6acceptEP7Visitor [0xe627d2d9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:626 dmd.expression.Expression dmd.dinterpret.interpretFunction(dmd.expression.UnionExp*, dmd.func.FuncDeclaration, dmd.dinterpret.InterState*, dmd.root.array.Array!(dmd.expression.Expression).Array*, dmd.expression.Expression) [0xe613e000] dmd/dinterpret.d:4800 _ZN11Interpreter5visitEP7CallExp [0xe6149e9f] dmd/expression.d:4948 _ZN7CallExp6acceptEP7Visitor [0xe61af5fd] dmd/dinterpret.d:6264 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.expression.Expression, dmd.dinterpret.InterState*, dmd.dinterpret.CtfeGoal) [0xe614e834] dmd/dinterpret.d:774 _ZN11Interpreter5visitEP12ExpStatement [0xe613e500] dmd/statement.d:745 _ZN12ExpStatement6acceptEP7Visitor [0xe627ca01] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:792 _ZN11Interpreter5visitEP17CompoundStatement [0xe613e5c5] dmd/statement.d:937 _ZN17CompoundStatement6acceptEP7Visitor [0xe627d2d9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:626 dmd.expression.Expression dmd.dinterpret.interpretFunction(dmd.expression.UnionExp*, dmd.func.FuncDeclaration, dmd.dinterpret.InterState*, dmd.root.array.Array!(dmd.expression.Expression).Array*, dmd.expression.Expression) [0xe613e000] dmd/dinterpret.d:4800 _ZN11Interpreter5visitEP7CallExp [0xe6149e9f] dmd/expression.d:4948 _ZN7CallExp6acceptEP7Visitor [0xe61af5fd] dmd/dinterpret.d:6264 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.expression.Expression, dmd.dinterpret.InterState*, dmd.dinterpret.CtfeGoal) [0xe614e834] dmd/dinterpret.d:774 _ZN11Interpreter5visitEP12ExpStatement [0xe613e500] dmd/statement.d:745 _ZN12ExpStatement6acceptEP7Visitor [0xe627ca01] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:792 _ZN11Interpreter5visitEP17CompoundStatement [0xe613e5c5] dmd/statement.d:937 _ZN17CompoundStatement6acceptEP7Visitor [0xe627d2d9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:892 _ZN11Interpreter5visitEP14ScopeStatement [0xe613e932] dmd/statement.d:1044 _ZN14ScopeStatement6acceptEP7Visitor [0xe627d6c9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:1304 _ZN11Interpreter5visitEP13CaseStatement [0xe613f7ee] dmd/statement.d:1671 _ZN13CaseStatement6acceptEP7Visitor [0xe627eaf9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:792 _ZN11Interpreter5visitEP17CompoundStatement [0xe613e5c5] dmd/statement.d:937 _ZN17CompoundStatement6acceptEP7Visitor [0xe627d2d9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:892 _ZN11Interpreter5visitEP14ScopeStatement [0xe613e932] dmd/statement.d:1044 _ZN14ScopeStatement6acceptEP7Visitor [0xe627d6c9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:815 _ZN11Interpreter5visitEP21UnrolledLoopStatement [0xe613e689] dmd/statement.d:1002 _ZN21UnrolledLoopStatement6acceptEP7Visitor [0xe627d569] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:792 _ZN11Interpreter5visitEP17CompoundStatement [0xe613e5c5] dmd/statement.d:937 _ZN17CompoundStatement6acceptEP7Visitor [0xe627d2d9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:892 _ZN11Interpreter5visitEP14ScopeStatement [0xe613e932] dmd/statement.d:1044 _ZN14ScopeStatement6acceptEP7Visitor [0xe627d6c9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:1280 _ZN11Interpreter5visitEP15SwitchStatement [0xe613f71b] dmd/statement.d:1642 _ZN15SwitchStatement6acceptEP7Visitor [0xe627ea01] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:1382 _ZN11Interpreter5visitEP14LabelStatement [0xe613fa76] dmd/statement.d:2363 _ZN14LabelStatement6acceptEP7Visitor [0xe6280119] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:792 _ZN11Interpreter5visitEP17CompoundStatement [0xe613e5c5] dmd/statement.d:937 _ZN17CompoundStatement6acceptEP7Visitor [0xe627d2d9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:892 _ZN11Interpreter5visitEP14ScopeStatement [0xe613e932] dmd/statement.d:1044 _ZN14ScopeStatement6acceptEP7Visitor [0xe627d6c9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:1169 _ZN11Interpreter5visitEP12ForStatement [0xe613f28a] dmd/statement.d:1265 _ZN12ForStatement6acceptEP7Visitor [0xe627dd6d] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:792 _ZN11Interpreter5visitEP17CompoundStatement [0xe613e5c5] dmd/statement.d:937 _ZN17CompoundStatement6acceptEP7Visitor [0xe627d2d9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:792 _ZN11Interpreter5visitEP17CompoundStatement [0xe613e5c5] dmd/statement.d:937 _ZN17CompoundStatement6acceptEP7Visitor [0xe627d2d9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:626 dmd.expression.Expression dmd.dinterpret.interpretFunction(dmd.expression.UnionExp*, dmd.func.FuncDeclaration, dmd.dinterpret.InterState*, dmd.root.array.Array!(dmd.expression.Expression).Array*, dmd.expression.Expression) [0xe613e000] dmd/dinterpret.d:4800 _ZN11Interpreter5visitEP7CallExp [0xe6149e9f] dmd/expression.d:4948 _ZN7CallExp6acceptEP7Visitor [0xe61af5fd] dmd/dinterpret.d:6264 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.expression.Expression, dmd.dinterpret.InterState*, dmd.dinterpret.CtfeGoal) [0xe614e834] dmd/dinterpret.d:6292 dmd.expression.Expression dmd.dinterpret.interpretRegion(dmd.expression.Expression, dmd.dinterpret.InterState*, dmd.dinterpret.CtfeGoal) [0xe614e8e7] dmd/dinterpret.d:3427 void dmd.dinterpret.Interpreter.interpretAssignCommon(dmd.expression.BinExp, dmd.expression.UnionExp function(ref const(dmd.globals.Loc), dmd.mtype.Type, dmd.expression.Expression, dmd.expression.Expression)*, int) [0xe6145e53] dmd/dinterpret.d:4234 _ZN11Interpreter5visitEP9AssignExp [0xe61488b0] dmd/visitor.d:84 _ZN7Visitor5visitEP12ConstructExp [0xe62abc01] dmd/expression.d:5805 _ZN12ConstructExp6acceptEP7Visitor [0xe61b10dd] dmd/dinterpret.d:6264 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.expression.Expression, dmd.dinterpret.InterState*, dmd.dinterpret.CtfeGoal) [0xe614e834] dmd/dinterpret.d:6292 dmd.expression.Expression dmd.dinterpret.interpretRegion(dmd.expression.Expression, dmd.dinterpret.InterState*, dmd.dinterpret.CtfeGoal) [0xe614e8e7] dmd/dinterpret.d:2248 _ZN11Interpreter5visitEP14DeclarationExp [0xe6142224] dmd/expression.d:3933 _ZN14DeclarationExp6acceptEP7Visitor [0xe61acf39] dmd/dinterpret.d:6264 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.expression.Expression, dmd.dinterpret.InterState*, dmd.dinterpret.CtfeGoal) [0xe614e834] dmd/dinterpret.d:774 _ZN11Interpreter5visitEP12ExpStatement [0xe613e500] dmd/statement.d:745 _ZN12ExpStatement6acceptEP7Visitor [0xe627ca01] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:792 _ZN11Interpreter5visitEP17CompoundStatement [0xe613e5c5] dmd/statement.d:937 _ZN17CompoundStatement6acceptEP7Visitor [0xe627d2d9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:892 _ZN11Interpreter5visitEP14ScopeStatement [0xe613e932] dmd/statement.d:1044 _ZN14ScopeStatement6acceptEP7Visitor [0xe627d6c9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:6337 dmd.expression.Expression dmd.dinterpret.interpret(dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea97] dmd/dinterpret.d:1407 _ZN11Interpreter5visitEP17TryCatchStatement [0xe613fbcf] dmd/statement.d:1978 _ZN17TryCatchStatement6acceptEP7Visitor [0xe627f3dd] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:792 _ZN11Interpreter5visitEP17CompoundStatement [0xe613e5c5] dmd/statement.d:937 _ZN17CompoundStatement6acceptEP7Visitor [0xe627d2d9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:792 _ZN11Interpreter5visitEP17CompoundStatement [0xe613e5c5] dmd/statement.d:937 _ZN17CompoundStatement6acceptEP7Visitor [0xe627d2d9] dmd/dinterpret.d:6329 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.statement.Statement, dmd.dinterpret.InterState*) [0xe614ea67] dmd/dinterpret.d:626 dmd.expression.Expression dmd.dinterpret.interpretFunction(dmd.expression.UnionExp*, dmd.func.FuncDeclaration, dmd.dinterpret.InterState*, dmd.root.array.Array!(dmd.expression.Expression).Array*, dmd.expression.Expression) [0xe613e000] dmd/dinterpret.d:4800 _ZN11Interpreter5visitEP7CallExp [0xe6149e9f] dmd/expression.d:4948 _ZN7CallExp6acceptEP7Visitor [0xe61af5fd] dmd/dinterpret.d:6264 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.UnionExp*, dmd.expression.Expression, dmd.dinterpret.InterState*, dmd.dinterpret.CtfeGoal) [0xe614e834] dmd/dinterpret.d:6274 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.Expression, dmd.dinterpret.InterState*, dmd.dinterpret.CtfeGoal) [0xe614e88d] dmd/dinterpret.d:90 dmd.expression.Expression dmd.dinterpret.ctfeInterpret(dmd.expression.Expression) [0xe613bfb5] dmd/expression.d:1493 _ZN10Expression13ctfeInterpretEv [0xe61a70c4] dmd/initsem.d:395 dmd.init.Initializer dmd.initsem.initializerSemantic(dmd.init.Initializer, dmd.dscope.Scope*, dmd.mtype.Type, dmd.init.NeedInterpret).visitExp(dmd.init.ExpInitializer) [0xe61f5d0a]
Comment #1 by razvan.nitu1305 — 2023-04-05T11:09:17Z
*** Issue 20556 has been marked as a duplicate of this issue. ***