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;