aboutsummaryrefslogtreecommitdiffstats
path: root/test/monniaux/frame_pointer
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-03-08 21:06:43 +0100
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-03-08 21:06:43 +0100
commit1d20bbd6a6ebc7ebe464cba72b9ea6b0e3697f3c (patch)
tree5f8f989cd256ba0b53870fa57f4f25acae862564 /test/monniaux/frame_pointer
parente1d482316c4de30ee7b7d06c0f793d2c43bac5a1 (diff)
downloadcompcert-kvx-1d20bbd6a6ebc7ebe464cba72b9ea6b0e3697f3c.tar.gz
compcert-kvx-1d20bbd6a6ebc7ebe464cba72b9ea6b0e3697f3c.zip
code qui plante
Diffstat (limited to 'test/monniaux/frame_pointer')
-rw-r--r--test/monniaux/frame_pointer/Makefile13
-rw-r--r--test/monniaux/frame_pointer/a.c9
-rw-r--r--test/monniaux/frame_pointer/b.c11
3 files changed, 33 insertions, 0 deletions
diff --git a/test/monniaux/frame_pointer/Makefile b/test/monniaux/frame_pointer/Makefile
new file mode 100644
index 00000000..15ca87e0
--- /dev/null
+++ b/test/monniaux/frame_pointer/Makefile
@@ -0,0 +1,13 @@
+whole : a.o b.o
+ ../../../ccomp $+ -o $@
+
+a.o : a.c
+ k1-mbr-gcc -std=c99 -Wall -c $<
+
+b.o : b.c
+ ../../../ccomp -Wall -Wno-c11-extensions -c $<
+
+clean:
+ -rm -f a.o b.o whole
+
+.PHONY: clean
diff --git a/test/monniaux/frame_pointer/a.c b/test/monniaux/frame_pointer/a.c
new file mode 100644
index 00000000..644ccc9b
--- /dev/null
+++ b/test/monniaux/frame_pointer/a.c
@@ -0,0 +1,9 @@
+extern unsigned get_size(void);
+extern void print_array(unsigned n, const int *t);
+
+int main() {
+ unsigned n = get_size();
+ int tab[n];
+ for(unsigned i=0; i<n; i++) tab[i] = i;
+ print_array(n, tab);
+}
diff --git a/test/monniaux/frame_pointer/b.c b/test/monniaux/frame_pointer/b.c
new file mode 100644
index 00000000..dca8fbec
--- /dev/null
+++ b/test/monniaux/frame_pointer/b.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+
+unsigned get_size(void) {
+ return 12;
+}
+
+void print_array(unsigned n, const int *t) {
+ for(unsigned i=0; i<n; i++) {
+ printf("%d\n", t[i]);
+ }
+}