base, systemc: Fix clang compilation

This patch is fixing the following issues:

- base: typename should be used only for types
- systemc: 'GCC_VERSION' is not defined for clang

Change-Id: I27c94445d65691a08a0a14a0ffe6b6942f6c455f
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/14976
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Gabe Black <gabeblack@google.com>
diff --git a/src/base/circular_queue.hh b/src/base/circular_queue.hh
index ff7f73d..5023661 100644
--- a/src/base/circular_queue.hh
+++ b/src/base/circular_queue.hh
@@ -394,7 +394,7 @@
     };
 
   public:
-    using typename Base::operator[];
+    using Base::operator[];
 
     explicit CircularQueue(uint32_t size = 0)
         : _capacity(size), _head(1), _tail(0), _empty(true), _round(0)
diff --git a/src/systemc/SConscript b/src/systemc/SConscript
index 694ee56..7317b3a 100644
--- a/src/systemc/SConscript
+++ b/src/systemc/SConscript
@@ -31,7 +31,9 @@
 from m5.util.terminal import termcap
 
 if env['USE_SYSTEMC']:
-    if compareVersions(env['GCC_VERSION'], '5.0') < 0:
+    if 'GCC_VERSION' in env and \
+        compareVersions(env['GCC_VERSION'], '5.0') < 0:
+
         print(termcap.Yellow + termcap.Bold +
                 'Warning: Disabling systemc on gcc versions less than 5.0.' +
                 termcap.Normal)