aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into dwarfBernhard Schommer2015-04-0288-682/+1973
|\
| * Merge branch 'master' of github.com:AbsInt/CompCertBernhard Schommer2015-04-021-13/+8
| |\
| | * Merge pull request #36 from clarus/masterBernhard Schommer2015-04-021-13/+8
| | |\ | | | | | | | | Cosmetic: README in MarkDown
| | | * README in MarkDownGuillaume Claret2015-04-021-13/+8
| | |/
| * / Ccompuimm now depends on the memory, this is needed to proof the Lemma ↵Bernhard Schommer2015-04-021-2/+3
| |/ | | | | | | op_depends_on_memory_correct.
| * Merge pull request #34 from AbsInt/extended-annotationsXavier Leroy2015-04-0171-516/+1736
| |\ | | | | | | Extended annotations
| | * Updating the PowerPC and ARM ports.Xavier Leroy2015-03-2712-96/+92
| | | | | | | | | | | | PowerPC: always use full register names to print annotations.
| | * Updated the Caml part. Added some more tests in annot1.c.Xavier Leroy2015-03-2714-78/+130
| | |
| | * Extended arguments to annotations, continued:Xavier Leroy2015-03-276-294/+142
| | | | | | | | | | | | | | | - Simplifications in RTLgen. - Updated Cexec.
| | * Extend annotations so that they can keep track of global variables and local ↵Xavier Leroy2015-03-2748-368/+1692
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | variables whose address is taken. - CminorSel, RTL: add "annot" instructions. - CminorSel to Asm: use type "annot_arg" for arguments of "annot" instructions. - AST, Events: simplify EF_annot because constants are now part of the arguments. Implementation is not complete yet.
| * | Merge pull request #31 from AbsInt/null-ptr-cmpXavier Leroy2015-04-0118-151/+226
| |\ \ | | | | | | | | Revised semantics of comparisons between a pointer and 0.
| | * | Omission: forgot to treat pointer values in bool_of_val and sem_notbool.Xavier Leroy2015-03-2912-120/+182
| | | |
| | * | Revised semantics of comparisons between a pointer and 0.Xavier Leroy2015-03-159-31/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It used to be that a pointer value (Vptr) always compare unequal to the null pointer (Vint Int.zero). However, this may not be true in the final machine code when pointer addition overflows and wraps around to the bit pattern 0. This patch checks the validity of the pointer being compared with 0, and makes the comparison undefined if the pointer is out of bounds. Note: only the IA32 back-end was updated, ARM and PowerPC need updating.
* | | | Merge branch 'master' into dwarfBernhard Schommer2015-04-012-2/+2
|\| | |
| * | | Merge pull request #35 from jhjourdan/masterXavier Leroy2015-04-012-2/+2
| |\ \ \ | | | | | | | | | | Fix overflows in printers for clight and csyntax.
| | * | | Fix overflows in printers for clight and csyntax.Jacques-Henri Jourdan2015-04-012-2/+2
| |/ / /
* | | | Print all files ever encountered in the filenum.Bernhard Schommer2015-04-013-4/+11
| | | |
* | | | Merge branch 'master' into dwarfBernhard Schommer2015-03-3122-112/+1117
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: Makefile driver/Driver.ml
| * | | Merge pull request #33 from AbsInt/struct-passingXavier Leroy2015-03-3122-112/+1115
| |\ \ \ | | | | | | | | | | ABI conformance for passing function arguments and returning function results of struct and union types
| | * | | Support va_arg for vararg arguments of composite (struct/union) types.Xavier Leroy2015-03-202-0/+19
| | | | | | | | | | | | | | | | | | | | Now for IA32 and PowerPC as well.
| | * | | Support va_arg for vararg arguments of composite (struct/union) types.Xavier Leroy2015-03-204-15/+67
| | | | | | | | | | | | | | | | | | | | ARM is done, IA32 and PowerPC remain to be updated.
| | * | | "ecomma" smart constructor: reassociate to the left so that it prints more ↵Xavier Leroy2015-03-201-2/+8
| | | | | | | | | | | | | | | | | | | | nicely.
| | * | | Fix .type and .size annotations: @ is comment, use % instead.Xavier Leroy2015-03-201-2/+6
| | | | |
| | * | | Improvements in the StructReturn transformation (ABI conformance for passing ↵Xavier Leroy2015-03-2012-363/+454
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | composites). - Implement the "1/2/4/8" composite return policy, used by IA32/MacOS X and IA32/BSD. - Move the default passing conventions from Machine.ml to compcert.ini, making it easier to test the various conventions. - More comprehensive interoperability test in regression/interop1.c.
| | * | | Missing initialization of current_function_sig.Xavier Leroy2015-03-143-3/+6
| | | | |
| | * | | Merge branch 'master' into struct-passingXavier Leroy2015-03-1412-3179/+3130
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: ia32/PrintAsm.ml
| | * \ \ \ Merge branch 'master' into struct-passingXavier Leroy2015-03-1434-616/+1614
| | |\ \ \ \
| | * | | | | Improve performance and configurability for the StructReturn pass.Xavier Leroy2015-03-146-59/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | configure: special ABI value for IA32/MacOSX and PowerPC/Linux cparser/Machine: special config for PowerPC/Linux cparser/StructReturn: generate better code for return-as-int driver/Clflags, driver/Driver: add options -fstruct-return=<convention> and -fstruct-passing=<convention> to simplify testing
| | * | | | | More interoperability tests.Xavier Leroy2015-01-282-9/+34
| | | | | | |
| | * | | | | ABI compatibility for struct/union function arguments passed by value.Xavier Leroy2015-01-2712-74/+799
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The passing of struct/union arguments by value implemented in the verified part of CompCert is not compatible with the ARM, PowerPC and x86 ABI. Here we enrich the StructReturn source-to-source emulation pass so that it implements the calling conventions defined in these ABIs. Plus: for x86, implement the returning of struct/union results by value in a way compatible with the ABI.
* | | | | | | Added more comments and fixed issue in DwarfPrinter.mliBernhard Schommer2015-03-303-10/+21
| | | | | | |
* | | | | | | Refactored code, added comments and changed handling of types with ↵Bernhard Schommer2015-03-301-316/+417
| | | | | | | | | | | | | | | | | | | | | | | | | | | | attributes to avoid duplications.
* | | | | | | Merge branch 'master' into dwarfBernhard Schommer2015-03-301-2/+2
|\| | | | | |
| * | | | | | Only for options with value.Bernhard Schommer2015-03-281-2/+2
| | | | | | |
* | | | | | | Refactored the DwarfPrinter and added comments.Bernhard Schommer2015-03-301-106/+80
| | | | | | |
* | | | | | | Compute the size of structs using the result of the packing and bitfield ↵Bernhard Schommer2015-03-263-18/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | transformations.
* | | | | | | Merge branch 'master' into dwarfBernhard Schommer2015-03-261-9/+4
|\| | | | | |
| * | | | | | Merge pull request #30 from jhjourdan/masterXavier Leroy2015-03-251-9/+4
| |\ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | | Removing not used hypotheses in TREE
| | * | | | | remove not used hypotheses in TREEJacques-Henri Jourdan2015-03-251-9/+4
| |/ / / / /
* | | | | | Added missing functions for printing the structs and unions. Still missing ↵Bernhard Schommer2015-03-246-31/+149
| | | | | | | | | | | | | | | | | | | | | | | | printing of packed structs.
* | | | | | Added translation fucntion for declarations and fundefinitions.Bernhard Schommer2015-03-236-73/+188
| | | | | |
* | | | | | Merge branch 'master' into dwarfBernhard Schommer2015-03-231-2/+6
|\| | | | |
| * | | | | Fix .type and .size annotations: @ is comment, use % instead.Xavier Leroy2015-03-201-2/+6
| | |_|_|/ | |/| | |
* | | | | Activating the printing of the debug information for supported architecture.Bernhard Schommer2015-03-194-17/+48
| | | | |
* | | | | Added function to convert C types into their dwarf represnation.Bernhard Schommer2015-03-187-30/+208
| | | | |
* | | | | Added file for the translation of the C Ast to Dwarf debugging information.Bernhard Schommer2015-03-162-7/+18
| | | | |
* | | | | Added printers for the rest of the possible tags.Bernhard Schommer2015-03-162-14/+76
| | | | |
* | | | | Merge branch 'master' into dwarfBernhard Schommer2015-03-163-3/+6
|\| | | |
| * | | | Missing initialization of current_function_sig.Xavier Leroy2015-03-143-3/+6
| | |_|/ | |/| |
* | | | Started implementing the printing functions for the debug info. Added a ↵Bernhard Schommer2015-03-1612-158/+343
| | | | | | | | | | | | | | | | global target dependend option to activate the printing only for targets wher it works.