diff --git a/src/ctfeexpr.c b/src/ctfeexpr.c index 13d9345fd431..cf174f4b88bc 100644 --- a/src/ctfeexpr.c +++ b/src/ctfeexpr.c @@ -2065,6 +2065,9 @@ bool isCtfeValueValid(Expression *newval) if (newval->op == TOKfunction) return true; // function literal or delegate literal + if (newval->op == TOKvector) + return true; // vector literal + if (newval->op == TOKdelegate) { Expression *dge = ((DelegateExp *)newval)->e1; diff --git a/test/compilable/test11371.d b/test/compilable/test11371.d new file mode 100644 index 000000000000..c5229292a62c --- /dev/null +++ b/test/compilable/test11371.d @@ -0,0 +1,11 @@ + +version(D_SIMD) +{ + __vector(long[2]) f() + { + __vector(long[2]) q; + return q; + } + + enum __vector(long[2]) v = f(); +}