aboutsummaryrefslogtreecommitdiffstats
path: root/test/monniaux/bitfields
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-25 11:36:28 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-25 11:36:28 +0200
commit2f549eaf7f6bc7e97d8f8a830d18808c2ae66186 (patch)
tree1c8103567dbc8ce356f039323cb2607a96aac1b9 /test/monniaux/bitfields
parent5809fa295f23952a2d8b043f6da69d61da3568de (diff)
downloadcompcert-kvx-2f549eaf7f6bc7e97d8f8a830d18808c2ae66186.tar.gz
compcert-kvx-2f549eaf7f6bc7e97d8f8a830d18808c2ae66186.zip
read from bit fields
Diffstat (limited to 'test/monniaux/bitfields')
-rw-r--r--test/monniaux/bitfields/bitfields.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/monniaux/bitfields/bitfields.c b/test/monniaux/bitfields/bitfields.c
new file mode 100644
index 00000000..868d7483
--- /dev/null
+++ b/test/monniaux/bitfields/bitfields.c
@@ -0,0 +1,20 @@
+#include <stdio.h>
+
+struct fields {
+ unsigned f0 : 3;
+ unsigned f1 : 5;
+ signed f2 : 3;
+};
+
+int get_f1(struct fields x) {
+ return x.f1;
+}
+
+int get_f2(struct fields x) {
+ return x.f2;
+}
+
+int main() {
+ struct fields x = {1, 2, -1};
+ printf("%d %d\n", get_f1(x), get_f2(x));
+}