aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Long-overdue renaming: val_inject -> Val.inject, etc, for consistency with ↵Xavier Leroy2015-04-3018-371/+373
| | | | Val.lessdef, etc.
* Detect uses of anonymous structs/unions (a C2011 feature and GCC extension) ↵Xavier Leroy2015-04-301-0/+14
| | | | and produce a diagnostic instead of ignoring them.
* Detect and reject "&" operator applied to "register" local variable or to a ↵Xavier Leroy2015-04-283-0/+34
| | | | bit field.
* Bitfield improvements continued: perform bitfield expansion before ↵Xavier Leroy2015-04-283-181/+211
| | | | unblocking; improve translation of bitfield initializers and compound literals.
* Extended inline asm: handle missing cases.Xavier Leroy2015-04-288-19/+105
| | | | | | Bitfields: better translation of initializers and compound literals; run this pass before unblocking. Transform.stmt: extend with ability to treat unblocked code. test/regression: more bitfield tests.
* Warn if a nonzero FP literal converts to infinity (overflow) or to 0 ↵Xavier Leroy2015-04-251-3/+17
| | | | | | (underflow). Also: spurious '\n' in C2C.warning.
* Allow "scratch" (non-allocatable temporary registers) to be mentioned in asm ↵Xavier Leroy2015-04-237-2/+12
| | | | clobber lists.
* Take asm clobbers into account for determining callee-save registers used.Xavier Leroy2015-04-239-4/+37
|
* Give a name to the type of atoms.Xavier Leroy2015-04-231-2/+4
|
* Update clightgen to the new annotations and the new inline asm.Xavier Leroy2015-04-232-25/+10
|
* Merge pull request #40 from AbsInt/inline-asmXavier Leroy2015-04-2233-76/+604
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC-style extended inline asm. The subset implemented is: - zero or one output - output constraints "=r" (to register) or "=m" (to memory) - zero, one or several inputs - input constraints "r" (in register), "m" (in memory), "i" and "n" (compile-time integer constant) - clobbered registers (the 3rd argument) - both anonymous (%3) and named (%[name]) operands - modifiers %R and %Q to refer to the most significant / least significant part of a register pair holding a 64-bit integer. (Undocumented GCC ARM feature.) All asm statements are treated as "volatile", possibly modifying memory and condition codes.
| * Extended asm: more lenient treatment of constraints.Xavier Leroy2015-04-221-10/+21
| | | | | | | | | | We can ignore alternatives as long as one of the constraints we handle (r, m, i, n) is there.
| * Avoid multiple errors being reported in the case #outputs >= 2.Xavier Leroy2015-04-211-2/+6
| |
| * Proper treatment of extended asm.Xavier Leroy2015-04-211-1/+5
| |
| * Use Cerrors for error reporting instead of rolling our own reporting in C2C.Xavier Leroy2015-04-211-11/+5
| |
| * Cleanups and updates for extended asm.Xavier Leroy2015-04-215-7/+5
| |
| * Printing of EF_inline_asm builtins in GCC extended asm syntax.Xavier Leroy2015-04-211-0/+30
| |
| * Support for GCC-style extended asm, continued:Xavier Leroy2015-04-2115-101/+306
| | | | | | | | | | | | | | | | - support "r", "m" and "i" constraints - support "%Q" and "%R" modifiers for register pairs - support register clobbers - split off analysis and transformation of asm statements in cparser/ExtendedAsm.ml
| * Experiment: support a subset of GCC's extended asm statements.Xavier Leroy2015-04-1725-63/+341
| |
| * Define M_PI if not already there (it's not in <math.h> for strict ISO C99).Xavier Leroy2015-04-171-0/+4
|/
* Correct type of label function.Bernhard Schommer2015-04-161-1/+1
|
* Added missing dummy functions.Bernhard Schommer2015-04-162-0/+12
|
* Merge pull request #37 from AbsInt/dwarfBernhard Schommer2015-04-1524-42/+1615
|\ | | | | Added the Dwarf v2 debugging information for global variables and functions for the Diab Backend.
| * Merge branch 'dwarf' of /local/schommer/trunk/build/compcert.ppc/compcert ↵Bernhard Schommer2015-04-1424-42/+1615
|/| | | | | | | into dwarf
| * Merge branch 'master' into dwarfBernhard Schommer2015-04-145-7/+18
| |\
| * \ Merge branch 'master' into dwarfBernhard Schommer2015-04-043-12/+23
| |\ \
| * \ \ Merge branch 'master' into dwarfBernhard Schommer2015-04-0288-682/+1973
| |\ \ \
| * \ \ \ Merge branch 'master' into dwarfBernhard Schommer2015-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
| * | | | | | 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
| |\ \ \ \ \ \
| * | | | | | | 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
| |\ \ \ \ \ \ \
| * | | | | | | | 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
| |\ \ \ \ \ \ \ \
| * | | | | | | | | 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
| |\ \ \ \ \ \ \ \ \
| * | | | | | | | | | 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.
| * | | | | | | | | | Started integrating the debug printing in the common backend_printer.Bernhard Schommer2015-03-1110-160/+169
| | | | | | | | | | |
| * | | | | | | | | | Merge branch 'master' into dwarfBernhard Schommer2015-03-111-1/+3
| |\ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ Merge remote-tracking branch 'github/backend_printer' into dwarfBernhard Schommer2015-03-1013-3441/+3116
| |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: arm/PrintAsm.ml ia32/PrintAsm.ml powerpc/PrintAsm.ml
| * \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into dwarfBernhard Schommer2015-03-1033-606/+1612
| |\ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | Starting to remove the seperate printers for each backend.Bernhard Schommer2015-02-029-276/+432
| | | | | | | | | | | | | |