From 86e9d51ab0b9ed2c5ccd1cf5f06fa3f3448c8f31 Mon Sep 17 00:00:00 2001
From: Aryadev Chavali <aryadev@aryadevchavali.com>
Date: Sun, 14 Apr 2024 17:17:51 +0630
Subject: enum -> enum class in lexer

This makes enum elements scoped which is actually quite useful as I
prefer the namespacing that enum's give in C++.
---
 asm/lexer.cpp | 7 ++++---
 asm/lexer.hpp | 4 ++--
 asm/main.cpp  | 2 +-
 3 files changed, 7 insertions(+), 6 deletions(-)

(limited to 'asm')

diff --git a/asm/lexer.cpp b/asm/lexer.cpp
index c0ea978..d6c9883 100644
--- a/asm/lexer.cpp
+++ b/asm/lexer.cpp
@@ -1,8 +1,9 @@
 /* Copyright (C) 2024 Aryadev Chavali
 
- * You may distribute and modify this code under the terms of the GPLv2
- * license.  You should have received a copy of the GPLv2 license with
- * this file.  If not, please write to: aryadev@aryadevchavali.com.
+ * You may distribute and modify this code under the terms of the
+ * GPLv2 license.  You should have received a copy of the GPLv2
+ * license with this file.  If not, please write to:
+ * aryadev@aryadevchavali.com.
 
  * Created: 2024-04-14
  * Author: Aryadev Chavali
diff --git a/asm/lexer.hpp b/asm/lexer.hpp
index 3b9243f..1257b97 100644
--- a/asm/lexer.hpp
+++ b/asm/lexer.hpp
@@ -18,7 +18,7 @@
 #include <tuple>
 #include <vector>
 
-enum token_type_t
+enum class token_type_t
 {
   PP_CONST,     // %const(<symbol>)...
   PP_USE,       // %use <string>
@@ -80,7 +80,7 @@ struct token_t
 
 std::ostream &operator<<(std::ostream &, token_t &);
 
-enum lerr_t
+enum class lerr_t
 {
   OK = 0,
   INVALID_CHAR_LITERAL,
diff --git a/asm/main.cpp b/asm/main.cpp
index a168af1..51600cb 100644
--- a/asm/main.cpp
+++ b/asm/main.cpp
@@ -100,7 +100,7 @@ int main(int argc, const char *argv[])
     }
     std::cerr << file_name << ":" << line << ":" << col << ":"
               << lerr_as_cstr(lerr) << std::endl;
-    ret = 255 - lerr;
+    ret = 255 - static_cast<int>(lerr);
     goto end;
   }
   else
-- 
cgit v1.2.3-13-gbd6f