Skip to content

Commit

Permalink
Add _Bool type
Browse files Browse the repository at this point in the history
As requested in oriansj/M2libc#67.

The standard (C17) says in 6.2.5.2:
```text
An object declared as type _Bool is large enough to store the values 0 and 1
```

It could technically be an int but all major compilers have `sizeof(bool) == 1`.
  • Loading branch information
gtker committed Jan 17, 2025
1 parent 5f22f14 commit 7569771
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 8 deletions.
4 changes: 4 additions & 0 deletions cc_types.c
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,10 @@ void initialize_types(void)
hold = new_primitive("char", "char*", "char**", 1, TRUE);
prim_types = add_primitive(hold);

/* Define _Bool */
hold = new_primitive("_Bool", "_Bool*", "_Bool**", 1, TRUE);
prim_types = add_primitive(hold);

/* Define FUNCTION */
hold = new_primitive("FUNCTION", "FUNCTION*", "FUNCTION**", register_size, FALSE);
prim_types = add_primitive(hold);
Expand Down
14 changes: 7 additions & 7 deletions test/test.answers
Original file line number Diff line number Diff line change
Expand Up @@ -287,10 +287,10 @@ e9fa237a2c4d945490563795fee3adeb394171d65a6025c952c818941d1b0ee6 test/results/t
e6bb2bfffabcb09bdf681fc63d03d039484e4ce3a8f6dcb4d616d6d02dc3d8c9 test/results/test0106-riscv32-binary
ee0044cd67ad632f99d532f1cbfca9ac6c29f2e07eedf28a71110bd67edc6fae test/results/test0106-riscv64-binary
d731bc662f99ba7413a10b112662083a3e1bf31e959e08dc84b57b23f3ef31a7 test/results/test0106-x86-binary
1c27f1b811509e39035d6c9a18090c9ea2d9844f53b7f56b843e421afded2558 test/results/test1000-aarch64-binary
330fd30fd995ade25c60b87a3a6c1bbef19d0a1f99b3810b56e95d0e046f2b74 test/results/test1000-amd64-binary
2a7468ce8cd16d1edf37b1750b5f78cae45777d884b6a6c028499f900ed072b3 test/results/test1000-armv7l-binary
9ee0b557b568cc3e62c9df0d0b75f53cc3a5906948cd05cae2099f99b84ed2d0 test/results/test1000-knight-posix-binary
e765bf3961463adb8da900309a5c0e9200e486afde8dce0c25dfefeb928b6b67 test/results/test1000-riscv32-binary
077922fd5eaf5e0ab588f7bd9f1af8776ac19293753f588c41efbd9ec1f71e73 test/results/test1000-riscv64-binary
9a98eab4bbee19eb4f1ca1e56a9eaf5d72e45e4cd57c07b05d8319a8d0956e6c test/results/test1000-x86-binary
f8a998e12f1c9f310485de2a580360b7f7a983aa75d34c7320d8bf42c427f6bc test/results/test1000-aarch64-binary
c0df4059b3964e143c6df9cc2fcc76adc6bdba7d2c012149e31c91d2ee9869fc test/results/test1000-amd64-binary
df17bf73f027d0a824df5c12b6feaa8ea795e0c8ad2547e618fd117970b52773 test/results/test1000-armv7l-binary
b44c0a66ccb57ba7ea504b5a864aadd8a28bd0a53c80ec3a8f039d32823b4e8e test/results/test1000-knight-posix-binary
e8b235af255d4e576cfa0773291e1ac2a8b431ca09477188c5c32471efef8ddf test/results/test1000-riscv32-binary
3851d9d51d4d0c86f58db3a0c0817607c3be0e85155ada82672e6dc01c2adf25 test/results/test1000-riscv64-binary
d634d26d3d00f0f529190a68871791cd9a4e032def85ade46d318c0c12481b8d test/results/test1000-x86-binary
2 changes: 1 addition & 1 deletion test/test1000/proof.answer
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3ac3701b3629e29275d53fca8481bda33cd976776323bf08c851c4ed31563ae7 test/test1000/proof
51a59b17d1858b5503cbb31fc6e3cae97d556c82d02e1978bcf276d07061fa83 test/test1000/proof

0 comments on commit 7569771

Please sign in to comment.