HOST_DC=/home/braddr/sandbox/at-client/release-build/dmd-2.079.0/linux/bin64/dmd make -C compiler/src -f posix.mak auto-tester-test make[1]: Entering directory '/home/braddr/sandbox/at-client/pull-5453743-Linux_64_64/dmd/compiler/src' posix.mak:42: ===== DEPRECATION NOTICE ===== posix.mak:43: ===== DEPRECATION: posix.mak is deprecated. Please use src/build.d instead. posix.mak:44: ============================== posix.mak:88: ========== Use HOST_DMD instead of HOST_DC ========== ../../generated/build OS="linux" BUILD="release" MODEL="64" HOST_DMD="/home/braddr/sandbox/at-client/release-build/dmd-2.079.0/linux/bin64/dmd" CXX="c++" AUTO_BOOTSTRAP="" DOCDIR="" STDDOC="" DOC_OUTPUT_DIR="" MAKE="make" VERBOSE="" ENABLE_RELEASE="" ENABLE_DEBUG="" ENABLE_ASSERTS="" ENABLE_LTO="" ENABLE_UNITTEST="" ENABLE_PROFILE="" ENABLE_COVERAGE="" DFLAGS="" unittest cxx-headers-test (DC) COMMON-unittest (DMD) CXX-HEADERS (DC) LEXER-unittest (DC) BACKEND-unittest (DC) DMD-unittest (TEST) CXX-HEADERS The following operation failed: Name: cxx-headers-test Description: Check that the C++ interface matches `src/dmd/frontend.h` Dependencies: -> cxx-headers CommandFunction: Yes ----------------------------------------------------------- ERROR: Newly generated header file (/home/braddr/sandbox/at-client/pull-5453743-Linux_64_64/dmd/generated/linux/release/64/frontend.h) doesn't match with the reference header file (/home/braddr/sandbox/at-client/pull-5453743-Linux_64_64/dmd/compiler/src/dmd/frontend.h) DETAILS: diff --git a/home/braddr/sandbox/at-client/pull-5453743-Linux_64_64/dmd/compiler/src/dmd/frontend.h b/home/braddr/sandbox/at-client/pull-5453743-Linux_64_64/dmd/generated/linux/release/64/frontend.h index 9e43c35..34071bc 100644 --- a/home/braddr/sandbox/at-client/pull-5453743-Linux_64_64/dmd/compiler/src/dmd/frontend.h +++ b/home/braddr/sandbox/at-client/pull-5453743-Linux_64_64/dmd/generated/linux/release/64/frontend.h @@ -305,7 +305,6 @@ class StructInitializer; class ArrayInitializer; class ExpInitializer; class CInitializer; -class FileManager; class ErrorStatement; class ExpStatement; class ConditionalStatement; @@ -320,6 +319,8 @@ class ThrowStatement; class SwitchErrorStatement; struct Token; struct code; +struct Param; +class FileManager; class Object; class TypeInfo_Class; class TypeInfo; @@ -2943,562 +2944,100 @@ enum : int32_t { LOGDEFAULTINIT = 0 }; enum : int32_t { LOGDOTEXP = 0 }; -enum class DiagnosticReporting : uint8_t +class Parameter final : public ASTNode { - error = 0u, - inform = 1u, - off = 2u, +public: + StorageClass storageClass; + Type* type; + Identifier* ident; + Expression* defaultArg; + UserAttributeDeclaration* userAttribDecl; + static Parameter* create(StorageClass storageClass, Type* type, Identifier* ident, Expression* defaultArg, UserAttributeDeclaration* userAttribDecl); + Parameter* syntaxCopy(); + Type* isLazyArray(); + bool isLazy() const; + bool isReference() const; + DYNCAST dyncast() const override; + void accept(Visitor* v) override; + static size_t dim(Array<Parameter* >* parameters); + static Parameter* getNth(Array<Parameter* >* parameters, size_t nth); + const char* toChars() const override; + bool isCovariant(bool returnByRef, const Parameter* const p) const; }; -enum class CppStdRevision : uint32_t +enum class RET { - cpp98 = 199711u, - cpp11 = 201103u, - cpp14 = 201402u, - cpp17 = 201703u, - cpp20 = 202002u, + regs = 1, + stack = 2, }; -enum class FeatureState : int8_t +enum : uint64_t { SIZE_INVALID = 18446744073709551615LLU }; + +enum class ScopeRef { - default_ = -1, - disabled = 0, - enabled = 1, + None = 0, + Scope = 1, + ReturnScope = 2, + Ref = 3, + ReturnRef = 4, + RefScope = 5, + ReturnRef_Scope = 6, + Ref_ReturnScope = 7, + Return = 8, }; -enum class CHECKENABLE : uint8_t +enum class TRUSTformat { - _default = 0u, - off = 1u, - on = 2u, - safeonly = 3u, + TRUSTformatDefault = 0, + TRUSTformatSystem = 1, }; -enum class CHECKACTION : uint8_t +class TypeNext : public Type { - D = 0u, - C = 1u, - halt = 2u, - context = 3u, +public: + Type* next; + void checkDeprecated(const Loc& loc, Scope* sc) final override; + int32_t hasWild() const final override; + Type* nextOf() final override; + Type* makeConst() final override; + Type* makeImmutable() final override; + Type* makeShared() final override; + Type* makeSharedConst() final override; + Type* makeWild() final override; + Type* makeWildConst() final override; + Type* makeSharedWild() final override; + Type* makeSharedWildConst() final override; + Type* makeMutable() final override; + MATCH constConv(Type* to) override; + uint8_t deduceWild(Type* t, bool isRef) final override; + void transitive(); + void accept(Visitor* v) override; }; -struct Output final +class TypeArray : public TypeNext { - bool doOutput; - bool fullOutput; - _d_dynamicArray< const char > dir; - _d_dynamicArray< const char > name; - Array<const char* > files; - OutBuffer* buffer; - int32_t bufferLines; - Output() : - doOutput(), - fullOutput(), - dir(), - name(), - files(), - buffer(), - bufferLines() - { - } - Output(bool doOutput, bool fullOutput = false, _d_dynamicArray< const char > dir = {}, _d_dynamicArray< const char > name = {}, Array<const char* > files = Array<const char* >(), OutBuffer* buffer = nullptr, int32_t bufferLines = 0) : - doOutput(doOutput), - fullOutput(fullOutput), - dir(dir), - name(name), - files(files), - buffer(buffer), - bufferLines(bufferLines) - {} +public: + void accept(Visitor* v) override; }; -enum class JsonFieldFlags : uint32_t +class TypeAArray final : public TypeArray { - none = 0u, - compilerInfo = 1u, - buildInfo = 2u, - modules = 4u, - semantics = 8u, +public: + Type* index; + Loc loc; + static TypeAArray* create(Type* t, Type* index); + const char* kind() const override; + TypeAArray* syntaxCopy() override; + uinteger_t size(const Loc& loc) override; + bool isZeroInit(const Loc& loc) override; + bool isBoolean() override; + bool hasPointers() override; + MATCH implicitConvTo(Type* to) override; + MATCH constConv(Type* to) override; + void accept(Visitor* v) override; }; -struct Param final -{ - bool obj; - bool multiobj; - bool trace; - bool tracegc; - bool verbose; - bool vcg_ast; - bool showColumns; - bool vtls; - bool vtemplates; - bool vtemplatesListInstances; - bool vgc; - bool vfield; - bool vcomplex; - bool vin; - DiagnosticReporting useDeprecated; - bool useUnitTests; - bool useInline; - bool release; - bool preservePaths; - DiagnosticReporting warnings; - bool color; - bool cov; - uint8_t covPercent; - bool ctfe_cov; - bool ignoreUnsupportedPragmas; - bool useModuleInfo; - bool useTypeInfo; - bool useExceptions; - bool betterC; - bool addMain; - bool allInst; - bool bitfields; - CppStdRevision cplusplus; - bool showGaggedErrors; - bool printErrorContext; - bool manual; - bool usage; - bool mcpuUsage; - bool transitionUsage; - bool checkUsage; - bool checkActionUsage; - bool revertUsage; - bool previewUsage; - bool externStdUsage; - bool hcUsage; - bool logo; - FeatureState useDIP25; - FeatureState useDIP1000; - bool ehnogc; - bool useDIP1021; - bool fieldwise; - bool fixAliasThis; - FeatureState rvalueRefParam; - FeatureState noSharedAccess; - bool previewIn; - bool inclusiveInContracts; - bool shortenedMethods; - bool fixImmutableConv; - bool fix16997; - FeatureState dtorFields; - FeatureState systemVariables; - CHECKENABLE useInvariants; - CHECKENABLE useIn; - CHECKENABLE useOut; - CHECKENABLE useArrayBounds; - CHECKENABLE useAssert; - CHECKENABLE useSwitchError; - CHECKENABLE boundscheck; - CHECKACTION checkAction; - uint32_t errorLimit; - _d_dynamicArray< const char > argv0; - Array<const char* > modFileAliasStrings; - Array<const char* >* imppath; - Array<const char* >* fileImppath; - _d_dynamicArray< const char > objdir; - _d_dynamicArray< const char > objname; - _d_dynamicArray< const char > libname; - Output ddoc; - Output dihdr; - Output cxxhdr; - Output json; - JsonFieldFlags jsonFieldFlags; - Output makeDeps; - Output mixinOut; - Output moduleDeps; - uint32_t debuglevel; - Array<const char* >* debugids; - uint32_t versionlevel; - Array<const char* >* versionids; - MessageStyle messageStyle; - bool run; - Array<const char* > runargs; - Array<const char* > cppswitches; - Array<const char* > objfiles; - Array<const char* > linkswitches; - Array<bool > linkswitchIsForCC; - Array<const char* > libfiles; - Array<const char* > dllfiles; - _d_dynamicArray< const char > deffile; - _d_dynamicArray< const char > resfile; - _d_dynamicArray< const char > exefile; - _d_dynamicArray< const char > mapfile; - Param() : - obj(true), - multiobj(), - trace(), - tracegc(), - verbose(), - vcg_ast(), - showColumns(), - vtls(), - vtemplates(), - vtemplatesListInstances(), - vgc(), - vfield(), - vcomplex(true), - vin(), - useDeprecated((DiagnosticReporting)1u), - useUnitTests(), - useInline(false), - release(), - preservePaths(), - warnings((DiagnosticReporting)2u), - color(), - cov(), - covPercent(), - ctfe_cov(false), - ignoreUnsupportedPragmas(), - useModuleInfo(true), - useTypeInfo(true), - useExceptions(true), - betterC(), - addMain(), - allInst(), - bitfields(), - cplusplus((CppStdRevision)201103u), - showGaggedErrors(), - printErrorContext(), - manual(), - usage(), - mcpuUsage(), - transitionUsage(), - checkUsage(), - checkActionUsage(), - revertUsage(), - previewUsage(), - externStdUsage(), - hcUsage(), - logo(), - ehnogc(), - useDIP1021(), - fieldwise(), - fixAliasThis(), - previewIn(), - inclusiveInContracts(), - shortenedMethods(true), - fixImmutableConv(), - fix16997(true), - useInvariants((CHECKENABLE)0u), - useIn((CHECKENABLE)0u), - useOut((CHECKENABLE)0u), - useArrayBounds((CHECKENABLE)0u), - useAssert((CHECKENABLE)0u), - useSwitchError((CHECKENABLE)0u), - boundscheck((CHECKENABLE)0u), - checkAction((CHECKACTION)0u), - errorLimit(20u), - argv0(), - modFileAliasStrings(), - imppath(), - fileImppath(), - objdir(), - objname(), - libname(), - ddoc(), - dihdr(), - cxxhdr(), - json(), - makeDeps(), - mixinOut(), - moduleDeps(), - debuglevel(), - debugids(), - versionlevel(), - versionids(), - messageStyle((MessageStyle)0u), - run(), - runargs(), - cppswitches(), - objfiles(), - linkswitches(), - linkswitchIsForCC(), - libfiles(), - dllfiles(), - deffile(), - resfile(), - exefile(), - mapfile() - { - } - Param(bool obj, bool multiobj = false, bool trace = false, bool tracegc = false, bool verbose = false, bool vcg_ast = false, bool showColumns = false, bool vtls = false, bool vtemplates = false, bool vtemplatesListInstances = false, bool vgc = false, bool vfield = false, bool vcomplex = true, bool vin = false, DiagnosticReporting useDeprecated = (DiagnosticReporting)1u, bool useUnitTests = false, bool useInline = false, bool release = false, bool preservePaths = false, DiagnosticReporting warnings = (DiagnosticReporting)2u, bool color = false, bool cov = false, uint8_t covPercent = 0u, bool ctfe_cov = false, bool ignoreUnsupportedPragmas = false, bool useModuleInfo = true, bool useTypeInfo = true, bool useExceptions = true, bool betterC = false, bool addMain = false, bool allInst = false, bool bitfields = false, CppStdRevision cplusplus = (CppStdRevision)201103u, bool showGaggedErrors = false, bool printErrorContext = false, bool manual = false, bool usage = false, bool mcpuUsage = false, bool transitionUsage = false, bool checkUsage = false, bool checkActionUsage = false, bool revertUsage = false, bool previewUsage = false, bool externStdUsage = false, bool hcUsage = false, bool logo = false, FeatureState useDIP25 = (FeatureState)-1, FeatureState useDIP1000 = (FeatureState)-1, bool ehnogc = false, bool useDIP1021 = false, bool fieldwise = false, bool fixAliasThis = false, FeatureState rvalueRefParam = (FeatureState)-1, FeatureState noSharedAccess = (FeatureState)-1, bool previewIn = false, bool inclusiveInContracts = false, bool shortenedMethods = true, bool fixImmutableConv = false, bool fix16997 = true, FeatureState dtorFields = (FeatureState)-1, FeatureState systemVariables = (FeatureState)-1, CHECKENABLE useInvariants = (CHECKENABLE)0u, CHECKENABLE useIn = (CHECKENABLE)0u, CHECKENABLE useOut = (CHECKENABLE)0u, CHECKENABLE useArrayBounds = (CHECKENABLE)0u, CHECKENABLE useAssert = (CHECKENABLE)0u, CHECKENABLE useSwitchError = (CHECKENABLE)0u, CHECKENABLE boundscheck = (CHECKENABLE)0u, CHECKACTION checkAction = (CHECKACTION)0u, uint32_t errorLimit = 20u, _d_dynamicArray< const char > argv0 = {}, Array<const char* > modFileAliasStrings = Array<const char* >(), Array<const char* >* imppath = nullptr, Array<const char* >* fileImppath = nullptr, _d_dynamicArray< const char > objdir = {}, _d_dynamicArray< const char > objname = {}, _d_dynamicArray< const char > libname = {}, Output ddoc = Output(), Output dihdr = Output(), Output cxxhdr = Output(), Output json = Output(), JsonFieldFlags jsonFieldFlags = (JsonFieldFlags)0u, Output makeDeps = Output(), Output mixinOut = Output(), Output moduleDeps = Output(), uint32_t debuglevel = 0u, Array<const char* >* debugids = nullptr, uint32_t versionlevel = 0u, Array<const char* >* versionids = nullptr, MessageStyle messageStyle = (MessageStyle)0u, bool run = false, Array<const char* > runargs = Array<const char* >(), Array<const char* > cppswitches = Array<const char* >(), Array<const char* > objfiles = Array<const char* >(), Array<const char* > linkswitches = Array<const char* >(), Array<bool > linkswitchIsForCC = Array<bool >(), Array<const char* > libfiles = Array<const char* >(), Array<const char* > dllfiles = Array<const char* >(), _d_dynamicArray< const char > deffile = {}, _d_dynamicArray< const char > resfile = {}, _d_dynamicArray< const char > exefile = {}, _d_dynamicArray< const char > mapfile = {}) : - obj(obj), - multiobj(multiobj), - trace(trace), - tracegc(tracegc), - verbose(verbose), - vcg_ast(vcg_ast), - showColumns(showColumns), - vtls(vtls), - vtemplates(vtemplates), - vtemplatesListInstances(vtemplatesListInstances), - vgc(vgc), - vfield(vfield), - vcomplex(vcomplex), - vin(vin), - useDeprecated(useDeprecated), - useUnitTests(useUnitTests), - useInline(useInline), - release(release), - preservePaths(preservePaths), - warnings(warnings), - color(color), - cov(cov), - covPercent(covPercent), - ctfe_cov(ctfe_cov), - ignoreUnsupportedPragmas(ignoreUnsupportedPragmas), - useModuleInfo(useModuleInfo), - useTypeInfo(useTypeInfo), - useExceptions(useExceptions), - betterC(betterC), - addMain(addMain), - allInst(allInst), - bitfields(bitfields), - cplusplus(cplusplus), - showGaggedErrors(showGaggedErrors), - printErrorContext(printErrorContext), - manual(manual), - usage(usage), - mcpuUsage(mcpuUsage), - transitionUsage(transitionUsage), - checkUsage(checkUsage), - checkActionUsage(checkActionUsage), - revertUsage(revertUsage), - previewUsage(previewUsage), - externStdUsage(externStdUsage), - hcUsage(hcUsage), - logo(logo), - useDIP25(useDIP25), - useDIP1000(useDIP1000), - ehnogc(ehnogc), - useDIP1021(useDIP1021), - fieldwise(fieldwise), - fixAliasThis(fixAliasThis), - rvalueRefParam(rvalueRefParam), - noSharedAccess(noSharedAccess), - previewIn(previewIn), - inclusiveInContracts(inclusiveInContracts), - shortenedMethods(shortenedMethods), - fixImmutableConv(fixImmutableConv), - fix16997(fix16997), - dtorFields(dtorFields), - systemVariables(systemVariables), - useInvariants(useInvariants), - useIn(useIn), - useOut(useOut), - useArrayBounds(useArrayBounds), - useAssert(useAssert), - useSwitchError(useSwitchError), - boundscheck(boundscheck), - checkAction(checkAction), - errorLimit(errorLimit), - argv0(argv0), - modFileAliasStrings(modFileAliasStrings), - imppath(imppath), - fileImppath(fileImppath), - objdir(objdir), - objname(objname), - libname(libname), - ddoc(ddoc), - dihdr(dihdr), - cxxhdr(cxxhdr), - json(json), - jsonFieldFlags(jsonFieldFlags), - makeDeps(makeDeps), - mixinOut(mixinOut), - moduleDeps(moduleDeps), - debuglevel(debuglevel), - debugids(debugids), - versionlevel(versionlevel), - versionids(versionids), - messageStyle(messageStyle), - run(run), - runargs(runargs), - cppswitches(cppswitches), - objfiles(objfiles), - linkswitches(linkswitches), - linkswitchIsForCC(linkswitchIsForCC), - libfiles(libfiles), - dllfiles(dllfiles), - deffile(deffile), - resfile(resfile), - exefile(exefile), - mapfile(mapfile) - {} -}; - -struct Global final -{ - _d_dynamicArray< const char > inifilename; - _d_dynamicArray< const char > copyright; - _d_dynamicArray< const char > written; - Array<const char* >* path; - Array<const char* >* filePath; - _d_dynamicArray< const char > vendor; - Param params; - uint32_t errors; - uint32_t warnings; - uint32_t gag; - uint32_t gaggedErrors; - uint32_t gaggedWarnings; - void* console; - Array<Identifier* >* versionids; - Array<Identifier* >* debugids; - bool hasMainFunction; - uint32_t varSequenceNumber; - FileManager* fileManager; - enum : int32_t { recursionLimit = 500 }; - - FileName(*preprocess)(FileName , const Loc& , bool& , OutBuffer* ); - uint32_t startGagging(); - bool endGagging(uint32_t oldGagged); - void increaseErrorCount(); - void _init(); - uint32_t versionNumber(); - const char* const versionChars(); - Global() : - inifilename(), - copyright(73, "Copyright (C) 1999-2022 by The D Language Foundation, All Rights Reserved"), - written(24, "written by Walter Bright"), - path(), - filePath(), - vendor(), - params(), - errors(), - warnings(), - gag(), - gaggedErrors(), - gaggedWarnings(), - console(), - versionids(), - debugids(), - hasMainFunction(), - varSequenceNumber(1u), - fileManager(), - preprocess() - { - } - Global(_d_dynamicArray< const char > inifilename, _d_dynamicArray< const char > copyright = { 73, "Copyright (C) 1999-2022 by The D Language Foundation, All Rights Reserved" }, _d_dynamicArray< const char > written = { 24, "written by Walter Bright" }, Array<const char* >* path = nullptr, Array<const char* >* filePath = nullptr, _d_dynamicArray< const char > vendor = {}, Param params = Param(), uint32_t errors = 0u, uint32_t warnings = 0u, uint32_t gag = 0u, uint32_t gaggedErrors = 0u, uint32_t gaggedWarnings = 0u, void* console = nullptr, Array<Identifier* >* versionids = nullptr, Array<Identifier* >* debugids = nullptr, bool hasMainFunction = false, uint32_t varSequenceNumber = 1u, FileManager* fileManager = nullptr, FileName(*preprocess)(FileName , const Loc& , bool& , OutBuffer* ) = nullptr) : - inifilename(inifilename), - copyright(copyright), - written(written), - path(path), - filePath(filePath), - vendor(vendor), - params(params), - errors(errors), - warnings(warnings), - gag(gag), - gaggedErrors(gaggedErrors), - gaggedWarnings(gaggedWarnings), - console(console), - versionids(versionids), - debugids(debugids), - hasMainFunction(hasMainFunction), - varSequenceNumber(varSequenceNumber), - fileManager(fileManager), - preprocess(preprocess) - {} -}; - -extern Global global; - -class Parameter final : public ASTNode -{ -public: - StorageClass storageClass; - Type* type; - Identifier* ident; - Expression* defaultArg; - UserAttributeDeclaration* userAttribDecl; - static Parameter* create(StorageClass storageClass, Type* type, Identifier* ident, Expression* defaultArg, UserAttributeDeclaration* userAttribDecl); - Parameter* syntaxCopy(); - Type* isLazyArray(); - bool isLazy() const; - bool isReference() const; - DYNCAST dyncast() const override; - void accept(Visitor* v) override; - static size_t dim(Array<Parameter* >* parameters); - static Parameter* getNth(Array<Parameter* >* parameters, size_t nth); - const char* toChars() const override; - bool isCovariant(bool returnByRef, const Parameter* const p, bool previewIn = global.params.previewIn) const; -}; - -enum class RET -{ - regs = 1, - stack = 2, -}; - -enum : uint64_t { SIZE_INVALID = 18446744073709551615LLU }; - -enum class ScopeRef -{ - None = 0, - Scope = 1, - ReturnScope = 2, - Ref = 3, - ReturnRef = 4, - RefScope = 5, - ReturnRef_Scope = 6, - Ref_ReturnScope = 7, - Return = 8, -}; - -enum class TRUSTformat -{ - TRUSTformatDefault = 0, - TRUSTformatSystem = 1, -}; - -class TypeNext : public Type -{ -public: - Type* next; - void checkDeprecated(const Loc& loc, Scope* sc) final override; - int32_t hasWild() const final override; - Type* nextOf() final override; - Type* makeConst() final override; - Type* makeImmutable() final override; - Type* makeShared() final override; - Type* makeSharedConst() final override; - Type* makeWild() final override; - Type* makeWildConst() final override; - Type* makeSharedWild() final override; - Type* makeSharedWildConst() final override; - Type* makeMutable() final override; - MATCH constConv(Type* to) override; - uint8_t deduceWild(Type* t, bool isRef) final override; - void transitive(); - void accept(Visitor* v) override; -}; - -class TypeArray : public TypeNext -{ -public: - void accept(Visitor* v) override; -}; - -class TypeAArray final : public TypeArray -{ -public: - Type* index; - Loc loc; - static TypeAArray* create(Type* t, Type* index); - const char* kind() const override; - TypeAArray* syntaxCopy() override; - uinteger_t size(const Loc& loc) override; - bool isZeroInit(const Loc& loc) override; - bool isBoolean() override; - bool hasPointers() override; - MATCH implicitConvTo(Type* to) override; - MATCH constConv(Type* to) override; - void accept(Visitor* v) override; -}; - -class TypeBasic final : public Type +class TypeBasic final : public Type { public: const char* dstring; @@ -5150,6 +4689,15 @@ public: virtual void visit(ThrownExceptionExp* e); }; +enum class JsonFieldFlags : uint32_t +{ + none = 0u, + compilerInfo = 1u, + buildInfo = 2u, + modules = 4u, + semantics = 8u, +}; + class StoppableVisitor : public Visitor { public: @@ -5287,6 +4835,45 @@ enum class CPU : uint8_t native = 12u, }; +enum class DiagnosticReporting : uint8_t +{ + error = 0u, + inform = 1u, + off = 2u, +}; + +enum class CppStdRevision : uint32_t +{ + cpp98 = 199711u, + cpp11 = 201103u, + cpp14 = 201402u, + cpp17 = 201703u, + cpp20 = 202002u, +}; + +enum class FeatureState : int8_t +{ + default_ = -1, + disabled = 0, + enabled = 1, +}; + +enum class CHECKENABLE : uint8_t +{ + _default = 0u, + off = 1u, + on = 2u, + safeonly = 3u, +}; + +enum class CHECKACTION : uint8_t +{ + D = 0u, + C = 1u, + halt = 2u, + context = 3u, +}; + typedef _d_real longdouble; typedef uint64_t uint64_t; @@ -6310,6 +5897,7 @@ public: int32_t imports(Module* m); bool isRoot(); bool isCoreModule(Identifier* ident); + bool isStandardLibrary() const; int32_t doppelganger; Symbol* cov; uint32_t* covb; @@ -8308,51 +7896,465 @@ public: void visit(RemoveExp* e) override; }; -extern _d_real creall(complex_t x); - -extern _d_real cimagl(complex_t x); - -extern void browse(const char* url); - -extern void error(const Loc& loc, const char* format, ...); - -extern void error(const char* filename, uint32_t linnum, uint32_t charnum, const char* format, ...); - -extern void errorSupplemental(const Loc& loc, const char* format, ...); - -extern void warning(const Loc& loc, const char* format, ...); - -extern void warningSupplemental(const Loc& loc, const char* format, ...); - -extern void deprecation(const Loc& loc, const char* format, ...); - -extern void deprecationSupplemental(const Loc& loc, const char* format, ...); - -extern void message(const Loc& loc, const char* format, ...); - -extern void message(const char* format, ...); - -extern void tip(const char* format, ...); - -extern void verror(const Loc& loc, const char* format, va_list ap, const char* p1 = nullptr, const char* p2 = nullptr, const char* header = "Error: "); - -extern void verrorSupplemental(const Loc& loc, const char* format, va_list ap); - -extern void vwarning(const Loc& loc, const char* format, va_list ap); - -extern void vwarningSupplemental(const Loc& loc, const char* format, va_list ap); - -extern void vdeprecation(const Loc& loc, const char* format, va_list ap, const char* p1 = nullptr, const char* p2 = nullptr); - -extern void vmessage(const Loc& loc, const char* format, va_list ap); - -extern void vtip(const char* format, va_list ap); - -extern void vdeprecationSupplemental(const Loc& loc, const char* format, va_list ap); +extern _d_real creall(complex_t x); + +extern _d_real cimagl(complex_t x); + +extern void browse(const char* url); + +extern void error(const Loc& loc, const char* format, ...); + +extern void error(const char* filename, uint32_t linnum, uint32_t charnum, const char* format, ...); + +extern void errorSupplemental(const Loc& loc, const char* format, ...); + +extern void warning(const Loc& loc, const char* format, ...); + +extern void warningSupplemental(const Loc& loc, const char* format, ...); + +extern void deprecation(const Loc& loc, const char* format, ...); + +extern void deprecationSupplemental(const Loc& loc, const char* format, ...); + +extern void message(const Loc& loc, const char* format, ...); + +extern void message(const char* format, ...); + +extern void tip(const char* format, ...); + +extern void verror(const Loc& loc, const char* format, va_list ap, const char* p1 = nullptr, const char* p2 = nullptr, const char* header = "Error: "); + +extern void verrorSupplemental(const Loc& loc, const char* format, va_list ap); + +extern void vwarning(const Loc& loc, const char* format, va_list ap); + +extern void vwarningSupplemental(const Loc& loc, const char* format, va_list ap); + +extern void vdeprecation(const Loc& loc, const char* format, va_list ap, const char* p1 = nullptr, const char* p2 = nullptr); + +extern void vmessage(const Loc& loc, const char* format, va_list ap); + +extern void vtip(const char* format, va_list ap); + +extern void vdeprecationSupplemental(const Loc& loc, const char* format, va_list ap); + +extern void fatal(); + +extern void halt(); + +struct Output final +{ + bool doOutput; + bool fullOutput; + _d_dynamicArray< const char > dir; + _d_dynamicArray< const char > name; + Array<const char* > files; + OutBuffer* buffer; + int32_t bufferLines; + Output() : + doOutput(), + fullOutput(), + dir(), + name(), + files(), + buffer(), + bufferLines() + { + } + Output(bool doOutput, bool fullOutput = false, _d_dynamicArray< const char > dir = {}, _d_dynamicArray< const char > name = {}, Array<const char* > files = Array<const char* >(), OutBuffer* buffer = nullptr, int32_t bufferLines = 0) : + doOutput(doOutput), + fullOutput(fullOutput), + dir(dir), + name(name), + files(files), + buffer(buffer), + bufferLines(bufferLines) + {} +}; + +struct Param final +{ + bool obj; + bool multiobj; + bool trace; + bool tracegc; + bool verbose; + bool vcg_ast; + bool showColumns; + bool vtls; + bool vtemplates; + bool vtemplatesListInstances; + bool vgc; + bool vfield; + bool vcomplex; + bool vin; + DiagnosticReporting useDeprecated; + bool useUnitTests; + bool useInline; + bool release; + bool preservePaths; + DiagnosticReporting warnings; + bool color; + bool cov; + uint8_t covPercent; + bool ctfe_cov; + bool ignoreUnsupportedPragmas; + bool useModuleInfo; + bool useTypeInfo; + bool useExceptions; + bool betterC; + bool addMain; + bool allInst; + bool bitfields; + CppStdRevision cplusplus; + bool showGaggedErrors; + bool printErrorContext; + bool manual; + bool usage; + bool mcpuUsage; + bool transitionUsage; + bool checkUsage; + bool checkActionUsage; + bool revertUsage; + bool previewUsage; + bool externStdUsage; + bool hcUsage; + bool logo; + FeatureState useDIP25; + FeatureState useDIP1000; + bool ehnogc; + bool useDIP1021; + bool fieldwise; + bool fixAliasThis; + FeatureState rvalueRefParam; + FeatureState noSharedAccess; + bool previewIn; + bool inclusiveInContracts; + bool shortenedMethods; + bool fixImmutableConv; + bool fix16997; + FeatureState dtorFields; + FeatureState systemVariables; + CHECKENABLE useInvariants; + CHECKENABLE useIn; + CHECKENABLE useOut; + CHECKENABLE useArrayBounds; + CHECKENABLE useAssert; + CHECKENABLE useSwitchError; + CHECKENABLE boundscheck; + CHECKACTION checkAction; + uint32_t errorLimit; + _d_dynamicArray< const char > argv0; + Array<const char* > modFileAliasStrings; + Array<const char* >* imppath; + Array<const char* >* fileImppath; + _d_dynamicArray< const char > objdir; + _d_dynamicArray< const char > objname; + _d_dynamicArray< const char > libname; + Output ddoc; + Output dihdr; + Output cxxhdr; + Output json; + JsonFieldFlags jsonFieldFlags; + Output makeDeps; + Output mixinOut; + Output moduleDeps; + uint32_t debuglevel; + Array<const char* >* debugids; + uint32_t versionlevel; + Array<const char* >* versionids; + MessageStyle messageStyle; + bool run; + Array<const char* > runargs; + Array<const char* > cppswitches; + Array<const char* > objfiles; + Array<const char* > linkswitches; + Array<bool > linkswitchIsForCC; + Array<const char* > libfiles; + Array<const char* > dllfiles; + _d_dynamicArray< const char > deffile; + _d_dynamicArray< const char > resfile; + _d_dynamicArray< const char > exefile; + _d_dynamicArray< const char > mapfile; + Param() : + obj(true), + multiobj(), + trace(), + tracegc(), + verbose(), + vcg_ast(), + showColumns(), + vtls(), + vtemplates(), + vtemplatesListInstances(), + vgc(), + vfield(), + vcomplex(true), + vin(), + useDeprecated((DiagnosticReporting)1u), + useUnitTests(), + useInline(false), + release(), + preservePaths(), + warnings((DiagnosticReporting)2u), + color(), + cov(), + covPercent(), + ctfe_cov(false), + ignoreUnsupportedPragmas(), + useModuleInfo(true), + useTypeInfo(true), + useExceptions(true), + betterC(), + addMain(), + allInst(), + bitfields(), + cplusplus((CppStdRevision)201103u), + showGaggedErrors(), + printErrorContext(), + manual(), + usage(), + mcpuUsage(), + transitionUsage(), + checkUsage(), + checkActionUsage(), + revertUsage(), + previewUsage(), + externStdUsage(), + hcUsage(), + logo(), + ehnogc(), + useDIP1021(), + fieldwise(), + fixAliasThis(), + previewIn(), + inclusiveInContracts(), + shortenedMethods(true), + fixImmutableConv(), + fix16997(true), + useInvariants((CHECKENABLE)0u), + useIn((CHECKENABLE)0u), + useOut((CHECKENABLE)0u), + useArrayBounds((CHECKENABLE)0u), + useAssert((CHECKENABLE)0u), + useSwitchError((CHECKENABLE)0u), + boundscheck((CHECKENABLE)0u), + checkAction((CHECKACTION)0u), + errorLimit(20u), + argv0(), + modFileAliasStrings(), + imppath(), + fileImppath(), + objdir(), + objname(), + libname(), + ddoc(), + dihdr(), + cxxhdr(), + json(), + makeDeps(), + mixinOut(), + moduleDeps(), + debuglevel(), + debugids(), + versionlevel(), + versionids(), + messageStyle((MessageStyle)0u), + run(), + runargs(), + cppswitches(), + objfiles(), + linkswitches(), + linkswitchIsForCC(), + libfiles(), + dllfiles(), + deffile(), + resfile(), + exefile(), + mapfile() + { + } + Param(bool obj, bool multiobj = false, bool trace = false, bool tracegc = false, bool verbose = false, bool vcg_ast = false, bool showColumns = false, bool vtls = false, bool vtemplates = false, bool vtemplatesListInstances = false, bool vgc = false, bool vfield = false, bool vcomplex = true, bool vin = false, DiagnosticReporting useDeprecated = (DiagnosticReporting)1u, bool useUnitTests = false, bool useInline = false, bool release = false, bool preservePaths = false, DiagnosticReporting warnings = (DiagnosticReporting)2u, bool color = false, bool cov = false, uint8_t covPercent = 0u, bool ctfe_cov = false, bool ignoreUnsupportedPragmas = false, bool useModuleInfo = true, bool useTypeInfo = true, bool useExceptions = true, bool betterC = false, bool addMain = false, bool allInst = false, bool bitfields = false, CppStdRevision cplusplus = (CppStdRevision)201103u, bool showGaggedErrors = false, bool printErrorContext = false, bool manual = false, bool usage = false, bool mcpuUsage = false, bool transitionUsage = false, bool checkUsage = false, bool checkActionUsage = false, bool revertUsage = false, bool previewUsage = false, bool externStdUsage = false, bool hcUsage = false, bool logo = false, FeatureState useDIP25 = (FeatureState)-1, FeatureState useDIP1000 = (FeatureState)-1, bool ehnogc = false, bool useDIP1021 = false, bool fieldwise = false, bool fixAliasThis = false, FeatureState rvalueRefParam = (FeatureState)-1, FeatureState noSharedAccess = (FeatureState)-1, bool previewIn = false, bool inclusiveInContracts = false, bool shortenedMethods = true, bool fixImmutableConv = false, bool fix16997 = true, FeatureState dtorFields = (FeatureState)-1, FeatureState systemVariables = (FeatureState)-1, CHECKENABLE useInvariants = (CHECKENABLE)0u, CHECKENABLE useIn = (CHECKENABLE)0u, CHECKENABLE useOut = (CHECKENABLE)0u, CHECKENABLE useArrayBounds = (CHECKENABLE)0u, CHECKENABLE useAssert = (CHECKENABLE)0u, CHECKENABLE useSwitchError = (CHECKENABLE)0u, CHECKENABLE boundscheck = (CHECKENABLE)0u, CHECKACTION checkAction = (CHECKACTION)0u, uint32_t errorLimit = 20u, _d_dynamicArray< const char > argv0 = {}, Array<const char* > modFileAliasStrings = Array<const char* >(), Array<const char* >* imppath = nullptr, Array<const char* >* fileImppath = nullptr, _d_dynamicArray< const char > objdir = {}, _d_dynamicArray< const char > objname = {}, _d_dynamicArray< const char > libname = {}, Output ddoc = Output(), Output dihdr = Output(), Output cxxhdr = Output(), Output json = Output(), JsonFieldFlags jsonFieldFlags = (JsonFieldFlags)0u, Output makeDeps = Output(), Output mixinOut = Output(), Output moduleDeps = Output(), uint32_t debuglevel = 0u, Array<const char* >* debugids = nullptr, uint32_t versionlevel = 0u, Array<const char* >* versionids = nullptr, MessageStyle messageStyle = (MessageStyle)0u, bool run = false, Array<const char* > runargs = Array<const char* >(), Array<const char* > cppswitches = Array<const char* >(), Array<const char* > objfiles = Array<const char* >(), Array<const char* > linkswitches = Array<const char* >(), Array<bool > linkswitchIsForCC = Array<bool >(), Array<const char* > libfiles = Array<const char* >(), Array<const char* > dllfiles = Array<const char* >(), _d_dynamicArray< const char > deffile = {}, _d_dynamicArray< const char > resfile = {}, _d_dynamicArray< const char > exefile = {}, _d_dynamicArray< const char > mapfile = {}) : + obj(obj), + multiobj(multiobj), + trace(trace), + tracegc(tracegc), + verbose(verbose), + vcg_ast(vcg_ast), + showColumns(showColumns), + vtls(vtls), + vtemplates(vtemplates), + vtemplatesListInstances(vtemplatesListInstances), + vgc(vgc), + vfield(vfield), + vcomplex(vcomplex), + vin(vin), + useDeprecated(useDeprecated), + useUnitTests(useUnitTests), + useInline(useInline), + release(release), + preservePaths(preservePaths), + warnings(warnings), + color(color), + cov(cov), + covPercent(covPercent), + ctfe_cov(ctfe_cov), + ignoreUnsupportedPragmas(ignoreUnsupportedPragmas), + useModuleInfo(useModuleInfo), + useTypeInfo(useTypeInfo), + useExceptions(useExceptions), + betterC(betterC), + addMain(addMain), + allInst(allInst), + bitfields(bitfields), + cplusplus(cplusplus), + showGaggedErrors(showGaggedErrors), + printErrorContext(printErrorContext), + manual(manual), + usage(usage), + mcpuUsage(mcpuUsage), + transitionUsage(transitionUsage), + checkUsage(checkUsage), + checkActionUsage(checkActionUsage), + revertUsage(revertUsage), + previewUsage(previewUsage), + externStdUsage(externStdUsage), + hcUsage(hcUsage), + logo(logo), + useDIP25(useDIP25), + useDIP1000(useDIP1000), + ehnogc(ehnogc), + useDIP1021(useDIP1021), + fieldwise(fieldwise), + fixAliasThis(fixAliasThis), + rvalueRefParam(rvalueRefParam), + noSharedAccess(noSharedAccess), + previewIn(previewIn), + inclusiveInContracts(inclusiveInContracts), + shortenedMethods(shortenedMethods), + fixImmutableConv(fixImmutableConv), + fix16997(fix16997), + dtorFields(dtorFields), + systemVariables(systemVariables), + useInvariants(useInvariants), + useIn(useIn), + useOut(useOut), + useArrayBounds(useArrayBounds), + useAssert(useAssert), + useSwitchError(useSwitchError), + boundscheck(boundscheck), + checkAction(checkAction), + errorLimit(errorLimit), + argv0(argv0), + modFileAliasStrings(modFileAliasStrings), + imppath(imppath), + fileImppath(fileImppath), + objdir(objdir), + objname(objname), + libname(libname), + ddoc(ddoc), + dihdr(dihdr), + cxxhdr(cxxhdr), + json(json), + jsonFieldFlags(jsonFieldFlags), + makeDeps(makeDeps), + mixinOut(mixinOut), + moduleDeps(moduleDeps), + debuglevel(debuglevel), + debugids(debugids), + versionlevel(versionlevel), + versionids(versionids), + messageStyle(messageStyle), + run(run), + runargs(runargs), + cppswitches(cppswitches), + objfiles(objfiles), + linkswitches(linkswitches), + linkswitchIsForCC(linkswitchIsForCC), + libfiles(libfiles), + dllfiles(dllfiles), + deffile(deffile), + resfile(resfile), + exefile(exefile), + mapfile(mapfile) + {} +}; + +struct Global final +{ + _d_dynamicArray< const char > inifilename; + _d_dynamicArray< const char > copyright; + _d_dynamicArray< const char > written; + Array<const char* >* path; + Array<const char* >* filePath; + _d_dynamicArray< const char > vendor; + Param params; + uint32_t errors; + uint32_t warnings; + uint32_t gag; + uint32_t gaggedErrors; + uint32_t gaggedWarnings; + void* console; + Array<Identifier* >* versionids; + Array<Identifier* >* debugids; + bool hasMainFunction; + uint32_t varSequenceNumber; + FileManager* fileManager; + enum : int32_t { recursionLimit = 500 }; -extern void fatal(); + FileName(*preprocess)(FileName , const Loc& , bool& , OutBuffer* ); + uint32_t startGagging(); + bool endGagging(uint32_t oldGagged); + void increaseErrorCount(); + void _init(); + uint32_t versionNumber(); + const char* const versionChars(); + Global() : + inifilename(), + copyright(73, "Copyright (C) 1999-2022 by The D Language Foundation, All Rights Reserved"), + written(24, "written by Walter Bright"), + path(), + filePath(), + vendor(), + params(), + errors(), + warnings(), + gag(), + gaggedErrors(), + gaggedWarnings(), + console(), + versionids(), + debugids(), + hasMainFunction(), + varSequenceNumber(1u), + fileManager(), + preprocess() + { + } + Global(_d_dynamicArray< const char > inifilename, _d_dynamicArray< const char > copyright = { 73, "Copyright (C) 1999-2022 by The D Language Foundation, All Rights Reserved" }, _d_dynamicArray< const char > written = { 24, "written by Walter Bright" }, Array<const char* >* path = nullptr, Array<const char* >* filePath = nullptr, _d_dynamicArray< const char > vendor = {}, Param params = Param(), uint32_t errors = 0u, uint32_t warnings = 0u, uint32_t gag = 0u, uint32_t gaggedErrors = 0u, uint32_t gaggedWarnings = 0u, void* console = nullptr, Array<Identifier* >* versionids = nullptr, Array<Identifier* >* debugids = nullptr, bool hasMainFunction = false, uint32_t varSequenceNumber = 1u, FileManager* fileManager = nullptr, FileName(*preprocess)(FileName , const Loc& , bool& , OutBuffer* ) = nullptr) : + inifilename(inifilename), + copyright(copyright), + written(written), + path(path), + filePath(filePath), + vendor(vendor), + params(params), + errors(errors), + warnings(warnings), + gag(gag), + gaggedErrors(gaggedErrors), + gaggedWarnings(gaggedWarnings), + console(console), + versionids(versionids), + debugids(debugids), + hasMainFunction(hasMainFunction), + varSequenceNumber(varSequenceNumber), + fileManager(fileManager), + preprocess(preprocess) + {} +}; -extern void halt(); +extern Global global; struct Id final { =============== The file `src/dmd/frontend.h` seems to be out of sync. This is likely because changes were made which affect the C++ interface used by GDC and LDC. Make sure that those changes have been properly reflected in the relevant header files (e.g. `src/dmd/scope.h` for changes in `src/dmd/dscope.d`). To update `frontend.h` and fix this error, run the following command: `../../generated/build cxx-headers-test AUTO_UPDATE=1` Note that the generated code need not be valid, as the header generator (`src/dmd/dtoh.d`) is still under development. To read more about `frontend.h` and its usage, see src/README.md#cxx-headers-test posix.mak:127: recipe for target 'auto-tester-test' failed make[1]: *** [auto-tester-test] Error 1 make[1]: Leaving directory '/home/braddr/sandbox/at-client/pull-5453743-Linux_64_64/dmd/compiler/src' posix.mak:29: recipe for target 'auto-tester-test' failed make: *** [auto-tester-test] Error 2