Extend the dll autoimport test to test references to a external variable with offset

This commit is contained in:
Martin Storsjö committed 2018-09-07 00:02:16 +03:00
1 parent c8ca4bddd6
commit 5a70c3cb78
3 files changed
+24

No files matched your search

+10
View File
@@ -20,6 +20,8 @@
int var; int var;
int array[10];
int getVar(void) { int getVar(void) {
return var; return var;
} }
@@ -27,3 +29,11 @@ int getVar(void) {
void setVar(int val) { void setVar(int val) {
var = val; var = val;
} }
int getArray(int index) {
return array[index];
}
void setArray(int index, int val) {
array[index] = val;
}
+3
View File
@@ -20,7 +20,10 @@
#define AUTOIMPORT_LIB_H #define AUTOIMPORT_LIB_H
extern int var; extern int var;
extern int array[10];
int getVar(void); int getVar(void);
void setVar(int val); void setVar(int val);
int getArray(int index);
void setArray(int index, int val);
#endif #endif
+11
View File
@@ -20,6 +20,8 @@
int *ptr = &var; int *ptr = &var;
int *arrayptr = &array[3];
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
setVar(42); setVar(42);
if (var != 42) return 1; if (var != 42) return 1;
@@ -27,5 +29,14 @@ int main(int argc, char *argv[]) {
if (getVar() != 43) return 1; if (getVar() != 43) return 1;
(*ptr)++; (*ptr)++;
if (getVar() != 44) return 1; if (getVar() != 44) return 1;
setArray(3, 100);
if (array[3] != 100) return 1;
if (*arrayptr != 100) return 1;
array[3]++;
if (*arrayptr != 101) return 1;
if (getArray(3) != 101) return 1;
(*arrayptr)++;
if (getArray(3) != 102) return 1;
return 0; return 0;
} }