diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2010-03-03 10:22:27 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2010-03-03 10:22:27 +0000 |
commit | 891377ce1962cdb31357d6580d6546ec22df2b4f (patch) | |
tree | 4ff7c38749cc7a4c1af411c5aa3eb7225c4ae6a1 /test/regression/struct5.c | |
parent | 018edf2d81bf94197892cf1df221f7eeac1f96f6 (diff) | |
download | compcert-891377ce1962cdb31357d6580d6546ec22df2b4f.tar.gz compcert-891377ce1962cdb31357d6580d6546ec22df2b4f.zip |
Switching to the new C parser/elaborator/simplifier
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1269 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'test/regression/struct5.c')
-rw-r--r-- | test/regression/struct5.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/test/regression/struct5.c b/test/regression/struct5.c new file mode 100644 index 00000000..13a1aa5c --- /dev/null +++ b/test/regression/struct5.c @@ -0,0 +1,43 @@ +typedef struct HPointStruct +{ + double x; + double y; + double z; + double w; +}HPoint; + +typedef struct ObjPointStruct +{ + double x; + double y; + double z; + double tx; + double ty; + double tz; +}ObjPoint; + +HPoint PointToHPoint(ObjPoint P); + +HPoint PointToHPoint(ObjPoint P) +{ + HPoint res; + res.x = P.x; + res.y = P.y; + res.z = P.z; + res.w = 1; + return res; +} + +double test1(HPoint (*f)(ObjPoint), double x) +{ + ObjPoint P; + HPoint HP; + P.x = x; + HP = f(P); + return HP.x; +} + +double test2(double x) +{ + return test1(PointToHPoint, x); +} |