Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

C99: Support for Complex Floats and tgmath.h #10

Merged
merged 41 commits into from
Jan 23, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
ef606e3
Add new group of C99 tests
michael-schwarz Nov 6, 2019
69bcd09
Include stdlib.h in c99-struct example
michael-schwarz Nov 6, 2019
1ddbbe0
Add test for universal character names
michael-schwarz Nov 6, 2019
ae6dcbf
Merge branch 'develop' into c99
michael-schwarz Nov 7, 2019
330ea78
Merge branch 'develop' into c99
michael-schwarz Nov 14, 2019
2a61619
Add inlining test. References #9
michael-schwarz Dec 5, 2019
6c90ac5
Merge branch 'develop' into c99
michael-schwarz Dec 5, 2019
d8947d2
Merge branch 'develop' into c99
michael-schwarz Dec 9, 2019
f119eb5
Fix pAtrr to correctly print _Complex types. References #9
michael-schwarz Dec 13, 2019
1912efb
gitignore vscode settings
michael-schwarz Jan 8, 2020
3f130da
Add assertion to c99-complex test case
michael-schwarz Jan 10, 2020
2f8624b
Add example for broken tgmath
michael-schwarz Jan 10, 2020
caac4f3
WIP Dirty: towards handeling complex and tgmath
michael-schwarz Jan 14, 2020
e1471d0
Add Real (and Imag) to CIL
michael-schwarz Jan 14, 2020
4bbbed7
Extend tgmath.h test
michael-schwarz Jan 14, 2020
398c70f
Fix compiler warning from clexer.mll
michael-schwarz Jan 15, 2020
38e4278
Add isNullPtrConstant to determine if a CIL expression is a nullPtrCo…
michael-schwarz Jan 15, 2020
60251ce
Fix conditionalConversion to conform to ISO 6.5.15
michael-schwarz Jan 15, 2020
60d0851
Special treatment of __builtin_classify_type
michael-schwarz Jan 15, 2020
9a62a24
Also drop complex attribute in typeOfReal
michael-schwarz Jan 15, 2020
f6cce92
Expand test for c99-complex.c
michael-schwarz Jan 15, 2020
65bf016
Add size and alignment for complex types to CIL machine configuration
michael-schwarz Jan 15, 2020
1d71297
Fix arithmetic conversion to work for complex. References #8, Referen…
michael-schwarz Jan 16, 2020
7e85e55
Ensure complex have the correct fkind rather than having the "comple…
michael-schwarz Jan 16, 2020
673fd85
Be more lenient when accepting complex float constants.
michael-schwarz Jan 16, 2020
5c39b0e
Cleanup
michael-schwarz Jan 16, 2020
b8c0705
Merge branch 'develop' into c99
michael-schwarz Jan 16, 2020
1cde476
Add support for __imag__ References #8, References #9
michael-schwarz Jan 16, 2020
691e411
Skip failing tests for universal character names and inline
michael-schwarz Jan 16, 2020
252a597
Add comments about what c99Mode does
michael-schwarz Jan 17, 2020
4089860
Add comments for fkind also to cil.mli
michael-schwarz Jan 17, 2020
ad7f497
Try setting CC to gcc-9 gcc-8 etc instead of gcc on MacOS
michael-schwarz Jan 21, 2020
45b6fe5
Be more flexible with content of host_os
michael-schwarz Jan 21, 2020
01715a4
test if case distinction for macos works
michael-schwarz Jan 21, 2020
47e3300
Set CC=gcc-9 for MacOS
michael-schwarz Jan 21, 2020
7870313
Support tgmath.h in newer versions of GCC
michael-schwarz Jan 22, 2020
8e255cb
Remove __const__ from asm
michael-schwarz Jan 22, 2020
be553fe
Pass CC to all the tests even if CC is called directly and not via cilly
michael-schwarz Jan 22, 2020
4adf96c
Travis: also test with Ocaml 4.08 and 4.09
michael-schwarz Jan 23, 2020
7daa709
Travis: Remove sudo.
michael-schwarz Jan 23, 2020
3a5a738
testrun/longBlock: Use ocamlfind
michael-schwarz Jan 23, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -392,3 +392,4 @@ _opam/
/test/small2/merge-ar
/test/small2/libmerge.a
/test/small2/*.o
.vscode/settings.json
5 changes: 3 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
language: c
sudo: required
before_install:
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew list gcc || brew install gcc; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew list gcc || brew install gcc && CC=gcc-9; fi
install: wget https://raw.githubusercontent.com/ocaml/ocaml-ci-scripts/master/.travis-opam.sh
script: OPAMWITHDOC=false bash -ex .travis-opam.sh
env:
- OCAML_VERSION=4.04
- OCAML_VERSION=4.05
- OCAML_VERSION=4.06
- OCAML_VERSION=4.07
- OCAML_VERSION=4.08
- OCAML_VERSION=4.09
os:
- linux
- osx
Expand Down
6 changes: 6 additions & 0 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,9 @@ $(OBJDIR)/machdep.ml : src/machdep-ml.c configure.ac Makefile.in
@echo " sizeof_float: int; (* Size of \"float\" *)" >> $@
@echo " sizeof_double: int; (* Size of \"double\" *)" >> $@
@echo " sizeof_longdouble: int; (* Size of \"long double\" *)" >> $@
@echo " sizeof_floatcomplex: int; (* Size of \"float _Complex\" *)" >> $@
@echo " sizeof_doublecomplex: int; (* Size of \"double _Complex\" *)" >> $@
@echo " sizeof_longdoublecomplex: int; (* Size of \"long double _Complex\" *)" >> $@
@echo " sizeof_void: int; (* Size of \"void\" *)" >> $@
@echo " sizeof_fun: int; (* Size of function *)" >> $@
@echo " size_t: string; (* Type of \"sizeof(T)\" *)" >> $@
Expand All @@ -181,6 +184,9 @@ $(OBJDIR)/machdep.ml : src/machdep-ml.c configure.ac Makefile.in
@echo " alignof_float: int; (* Alignment of \"float\" *)" >> $@
@echo " alignof_double: int; (* Alignment of \"double\" *)" >> $@
@echo " alignof_longdouble: int; (* Alignment of \"long double\" *)" >> $@
@echo " alignof_floatcomplex: int; (* Alignment of \"float _Complex\" *)" >> $@
@echo " alignof_doublecomplex: int; (* Alignment of \"double _Complex\" *)" >> $@
@echo " alignof_longdoublecomplex: int; (* Alignment of \"long double _Complex\" *)" >> $@
@echo " alignof_str: int; (* Alignment of strings *)" >> $@
@echo " alignof_fun: int; (* Alignment of function *)" >> $@
@echo " alignof_aligned: int; (* Alignment of anything with the \"aligned\" attribute *)" >> $@
Expand Down
Loading