From 5829f1ba1e8eddb8c59931663a316c0fe9c13b6f Mon Sep 17 00:00:00 2001 From: dkorpel Date: Sat, 23 Oct 2021 13:49:00 +0200 Subject: [PATCH] Make base type of PASS enum ubyte --- src/dmd/dsymbol.d | 2 +- src/dmd/dsymbol.h | 16 +++++++++++++++- src/dmd/frontend.h | 24 ++++++++++++------------ 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/src/dmd/dsymbol.d b/src/dmd/dsymbol.d index 9a3939b5d5c0..9aa435d64638 100644 --- a/src/dmd/dsymbol.d +++ b/src/dmd/dsymbol.d @@ -187,7 +187,7 @@ struct Visibility } } -enum PASS : int +enum PASS : ubyte { init, // initial state semantic, // semantic() started diff --git a/src/dmd/dsymbol.h b/src/dmd/dsymbol.h index 8c3440a2550c..02252fd13e59 100644 --- a/src/dmd/dsymbol.h +++ b/src/dmd/dsymbol.h @@ -108,7 +108,21 @@ struct Visibility /* State of symbol in winding its way through the passes of the compiler */ -enum PASS +enum class PASS : uint8_t +{ + init, // initial state + semantic, // semantic() started + semanticdone, // semantic() done + semantic2, // semantic2() started + semantic2done, // semantic2() done + semantic3, // semantic3() started + semantic3done, // semantic3() done + inline_, // inline started + inlinedone, // inline done + obj // toObjFile() run +}; + +enum { PASSinit, // initial state PASSsemantic, // semantic() started diff --git a/src/dmd/frontend.h b/src/dmd/frontend.h index 4c2e813676d2..e5f5e972eacd 100644 --- a/src/dmd/frontend.h +++ b/src/dmd/frontend.h @@ -918,18 +918,18 @@ struct Loc final } }; -enum class PASS -{ - init = 0, - semantic = 1, - semanticdone = 2, - semantic2 = 3, - semantic2done = 4, - semantic3 = 5, - semantic3done = 6, - inline_ = 7, - inlinedone = 8, - obj = 9, +enum class PASS : uint8_t +{ + init = 0u, + semantic = 1u, + semanticdone = 2u, + semantic2 = 3u, + semantic2done = 4u, + semantic3 = 5u, + semantic3done = 6u, + inline_ = 7u, + inlinedone = 8u, + obj = 9u, }; struct Ungag final