summaryrefslogtreecommitdiff
path: root/bridges/source/cpp_uno/gcc3_ios_arm/cpp2uno.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'bridges/source/cpp_uno/gcc3_ios_arm/cpp2uno.cxx')
-rw-r--r--bridges/source/cpp_uno/gcc3_ios_arm/cpp2uno.cxx8
1 files changed, 6 insertions, 2 deletions
diff --git a/bridges/source/cpp_uno/gcc3_ios_arm/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_ios_arm/cpp2uno.cxx
index e225a5675b58..8b9e130b66e8 100644
--- a/bridges/source/cpp_uno/gcc3_ios_arm/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_ios_arm/cpp2uno.cxx
@@ -368,7 +368,11 @@ extern "C" void cpp_vtable_call(
extern "C" {
extern int nFunIndexes, nVtableOffsets;
-extern unsigned char **codeSnippets;
+#ifdef __arm
+extern int codeSnippets[];
+#else
+extern unsigned char **codeSnippets;
+#endif
}
unsigned char * codeSnippet(
@@ -389,7 +393,7 @@ unsigned char * codeSnippet(
return NULL;
#ifdef __arm
- return codeSnippets[functionIndex*nVtableOffsets*2 + vtableOffset*2 + bHasHiddenParam];
+ return ((unsigned char *) &codeSnippets) + codeSnippets[functionIndex*nVtableOffsets*2 + vtableOffset*2 + bHasHiddenParam];
#else
enum { General, Void, Hyper, Float, Double, Class } exec;
int flag = 0;