projects
/
fw
/
sdcc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
prevent a compiler crash
[fw/sdcc]
/
src
/
regression
/
b.c
diff --git
a/src/regression/b.c
b/src/regression/b.c
index 4bd3077e1a18b89fa634b14c8bcf24bcc49fe31a..cf09e5c3fe92f2fbe0a942aa9414d550c0e84914 100644
(file)
--- a/
src/regression/b.c
+++ b/
src/regression/b.c
@@
-1,39
+1,61
@@
unsigned char success = 0;
unsigned char success = 0;
+unsigned char dummy = 0;
-unsigned char uchar0
=
0;
-unsigned char uchar1
=
0;
-unsigned char uchar2
=
0;
+unsigned char uchar0
=
0;
+unsigned char uchar1
=
0;
+unsigned char uchar2
=
0;
-void
-done (void)
+void done(void)
{
{
-
success
++;
+
dummy
++;
}
}
-
-void
-incptr (unsigned char *ucP)
+/*
+void incptr(unsigned char *ucP)
{
*ucP = *ucP + 1;
}
{
*ucP = *ucP + 1;
}
+*/
-void
-inc (unsigned char k)
+void inc(unsigned char k)
{
uchar0 = uchar0 + k;
{
uchar0 = uchar0 + k;
- uchar1 = uchar1 + uchar0;
- uchar2 = uchar1 + k;
}
}
-void
-main (void)
+void f1(void)
+{
+
+ uchar2++;
+}
+
+void nested_call(unsigned char u)
+{
+
+ f1();
+ uchar1 = uchar1 + u;
+ inc(uchar1);
+
+}
+ // uchar1 = uchar1 + uchar0;
+ // uchar2 = uchar1 + k;
+
+void main(void)
{
{
- uchar0
=
1;
+ uchar0
=
1;
//incptr(&uchar0);
//incptr(&uchar0);
- inc
(uchar0);
- if
(uchar0 !=
2)
+ inc(uchar0);
+ if
(uchar0 !=
2)
success++;
success++;
- done ();
+
+ uchar0 = 2;
+ uchar1 = 1;
+ uchar2 = 1;
+ nested_call(uchar2);
+
+ if(uchar0 !=4)
+ success++;
+
+ done();
}
}