#11550 fix Issue 16400 - naked variadic C function emits broken prologue

Merged
Coverage Reach
backend/cod3.d backend/cod2.d backend/cgelem.d backend/cod1.d backend/cod4.d backend/cg87.d backend/gloop.d backend/cgsched.d backend/evalu8.d backend/cgcod.d backend/elfobj.d backend/elem.d backend/dwarfdbginf.d backend/cgxmm.d backend/blockopt.d backend/gother.d backend/gflow.d backend/out.d backend/dtype.d backend/cgreg.d backend/gdag.d backend/glocal.d backend/cgcs.d backend/nteh.d backend/symbol.d backend/elpicpie.d backend/dt.d backend/debugprint.d backend/dvec.d backend/dwarfeh.d backend/gsroa.d backend/dvarstats.d backend/backconfig.d backend/drtlsym.d backend/go.d backend/cgen.d backend/codebuilder.d backend/aarray.d backend/md5.d backend/bcomplex.d backend/divcoeff.d backend/outbuf.d backend/dlist.d backend/obj.d backend/barray.d backend/compress.d backend/ph2.d backend/cgcse.d backend/util2.d backend/cc.d backend/iasm.d backend/code_x86.d backend/ty.d backend/oper.d backend/ptrntab.d backend/dcode.d backend/cod5.d backend/os.d backend/code.d backend/ee.d backend/melf.d backend/mach.d backend/mem.d backend/el.d backend/cdef.d backend/fp.d backend/cgcv.d backend/type.d backend/global.d expressionsem.d parse.d dinterpret.d dtemplate.d dsymbolsem.d e2ir.d mtype.d doc.d expression.d typesem.d iasmdmd.d statementsem.d hdrgen.d dcast.d root/filename.d root/array.d root/outbuffer.d root/response.d root/stringtable.d root/aav.d root/speller.d root/rmem.d root/string.d root/bitarray.d root/file.d root/ctfloat.d root/port.d root/region.d root/hash.d root/man.d root/rootobject.d lexer.d func.d mars.d ctfeexpr.d constfold.d ob.d opover.d cppmangle.d traits.d dtoh.d inline.d escape.d chkformat.d dsymbol.d s2ir.d semantic3.d declaration.d cppmanglewin.d statement.d glue.d toobj.d todt.d dmodule.d clone.d optimize.d json.d dmangle.d initsem.d attrib.d dclass.d objc_glue.d toir.d intrange.d tocsym.d cond.d target.d aggregate.d dstruct.d semantic2.d dscope.d argtypes.d libelf.d impcnvtab.d errors.d staticcond.d parsetimevisitor.d link.d builtin.d dmacro.d objc.d iasmgcc.d blockexit.d lambdacomp.d argtypes_sysv_x64.d inlinecost.d eh.d sideeffect.d denum.d arrayop.d dinifile.d compiler.d tokens.d foreachvar.d access.d dimport.d utf.d nogc.d toctype.d init.d typinf.d visitor.d identifier.d canthrow.d delegatize.d globals.d argtypes_aarch64.d safe.d utils.d dversion.d ctorflow.d statement_rewrite_walker.d aliasthis.d scanelf.d stmtstate.d dmsc.d apply.d sapply.d nspace.d filecache.d cli.d templateparamsem.d printast.d asttypename.d complex.d lib.d env.d staticassert.d id.d console.d imphint.d iasm.d entity.d ast_node.d

No flags found

Use flags to group coverage reports by test type, project and/or folders.
Then setup custom commit statuses and notifications for each flag.

e.g., #unittest #integration

#production #enterprise

#frontend #backend

Learn more about Codecov Flags here.

Showing 1 of 2 files from the diff.
Other files ignored by Codecov

@@ -5063,6 +5063,13 @@
Loading
5063 5063
{
5064 5064
    assert(e.Eoper == OPva_start);
5065 5065
5066 +
    if (funcsym_p.ty() & mTYnaked)
5067 +
    {   // do not generate prolog
5068 +
        el_free(e);
5069 +
        e = el_long(TYint, 0);
5070 +
        return e;
5071 +
    }
5072 +
5066 5073
    if (I32)
5067 5074
    {
5068 5075
        // (OPva_start &va)

Everything is accounted for!

No changes detected that need to be reviewed.
What changes does Codecov check for?
Lines, not adjusted in diff, that have changed coverage data.
Files that introduced coverage data that had none before.
Files that have missing coverage data that once were tracked.
Files Coverage
src/dmd -0.003% 57.832%
Project Totals (203 files) 57.832%
Loading