The Mother-of-All code review:
 1. Fix AllowRSPrefix bug
 2. Remove member mRS*Pragma in class RSContext
 3. No longer only support 2x2, 3x3, 4x4 arrays
 4. Fix Export All code for victorhsieh
 5. Improve readability and maintainability
 6. size_t -> int in calculating padding

Change-Id: I772aebd1440af66a89e2d2e688b193e500f38d69
diff --git a/slang_diagnostic_buffer.hpp b/slang_diagnostic_buffer.hpp
index 832c631..6c8bfdf 100644
--- a/slang_diagnostic_buffer.hpp
+++ b/slang_diagnostic_buffer.hpp
@@ -1,41 +1,36 @@
 #ifndef _SLANG_DIAGNOSTIC_BUFFER_HPP
 #   define _SLANG_DIAGNOSTIC_BUFFER_HPP
 
+#include "llvm/Support/raw_ostream.h"
+
+#include "clang/Basic/Diagnostic.h"
+
 #include <string>
 
-#include "llvm/Support/raw_ostream.h"       /* for class llvm::raw_ostream and llvm::raw_string_ostream */
-
-#include "clang/Basic/Diagnostic.h"     /* for class clang::Diagnostic, class clang::DiagnosticClient, class clang::DiagnosticInfo  */
-
 namespace llvm {
-
 class raw_string_ostream;
-
-}   /* namespace llvm */
+}
 
 namespace slang {
 
-using namespace clang;
+// The diagnostics client instance (for reading the processed diagnostics)
+class DiagnosticBuffer : public clang::DiagnosticClient {
+ private:
+  std::string mDiags;
+  llvm::raw_string_ostream* mSOS;
 
-/* The diagnostics client instance (for reading the processed diagnostics) */
-class DiagnosticBuffer : public DiagnosticClient {
-private:
-    std::string mDiags;
-    llvm::raw_string_ostream* mSOS;
+ public:
+  DiagnosticBuffer();
 
-public:
-    DiagnosticBuffer();
+  virtual void HandleDiagnostic(clang::Diagnostic::Level DiagLevel,
+                                const clang::DiagnosticInfo& Info);
 
-    virtual void HandleDiagnostic(Diagnostic::Level DiagLevel, const DiagnosticInfo& Info);
+  inline const std::string &str() const { mSOS->flush(); return mDiags; }
 
-    inline const std::string& str() const { mSOS->flush(); return mDiags; }
+  inline void reset() { this->mSOS->str().clear(); return; }
 
-    inline void reset() { this->mSOS->str().clear(); return; }
+  virtual ~DiagnosticBuffer();
+};
+}
 
-    virtual ~DiagnosticBuffer();
-};  /* class DiagnosticBuffer */
-
-
-}   /* namespace slang */
-
-#endif  /* _SLANG_DIAGNOSTIC_BUFFER_HPP */
+#endif  // _SLANG_DIAGNOSTIC_BUFFER_HPP