Implement the ARM-specific struct layout ABI in exportable functions parameters for rs. Add the ABI-compliant #args when needed.
My old code inadvertently assumed x86 ABIs for structs, but ARM ABI/calling convention is tricky here, compared to x86's. Also, fixed the type promotion problem.
Note that the most portable fix is to add a shim layer in Clang which is a BIG undertaking like PNaCl. Let's put in the potential fix for b/2988615 now.

Change-Id: I1d9fe4d803485b55bb72112ea8e17c1f4a19dd32
diff --git a/slang_pragma_recorder.cpp b/slang_pragma_recorder.cpp
index c445994..4cc24a4 100644
--- a/slang_pragma_recorder.cpp
+++ b/slang_pragma_recorder.cpp
@@ -27,7 +27,11 @@
     return true;
 }
 
-PragmaRecorder::PragmaRecorder(PragmaList& Pragmas) : PragmaHandler(NULL), mPragmas(Pragmas) { return; }
+PragmaRecorder::PragmaRecorder(PragmaList& Pragmas) :
+    PragmaHandler(),
+    mPragmas(Pragmas) {
+  return;
+}
 
 void PragmaRecorder::HandlePragma(Preprocessor &PP, Token &FirstToken) {
     Token& CurrentToken = FirstToken;