aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add interference for indirect calls.Bernhard Schommer2016-09-155-6/+22
| | | | | | Avoids problems with overwritting the registe containing the function address. Bug 19779
* Add missing fixup-code for ARM EABI (bug 19792)Michael Schmidt2016-09-141-2/+0
|
* add missing print operatorMichael Schmidt2016-09-141-0/+1
|
* Removed some implict arguments.Bernhard Schommer2016-09-053-33/+14
| | | | Also changed Local Open to Open Local.
* Pass the environment of k&r param elaboration.Bernhard Schommer2016-08-291-8/+10
| | | | | | The environment where the types are inserted is passed back to allow introducing structs in k&r parameters. Bug 19668
* Fixed spelling mistake and unnamed fields.Bernhard Schommer2016-08-291-3/+6
| | | | | | The previous fix for duplicated members was also triggered for unnamed members. Bug 19665
* Added check for duplicated members. Bug 19665Bernhard Schommer2016-08-291-0/+5
|
* Use old scope in after parameter parsing.Bernhard Schommer2016-08-261-1/+1
| | | | | | Not decrementing the scopes again after a parameter parsing lead to other scoping problems. Bug 19656.
* Reuse types from parameters in function definitonsBernhard Schommer2016-08-253-41/+47
| | | | | | In order to allow introducing structs in parameter definitions the environment must keep the type information. Bug 19602
* Test if struct is redefined as union or otherwise.Bernhard Schommer2016-08-251-0/+2
| | | | | | If a declaration of a composite is encountered it is also tested if the kind is equal. Bug 19630.
* Simplify test. Bug 19629Bernhard Schommer2016-08-251-4/+1
|
* Test for illegal first argument in __builtin_debug.Bernhard Schommer2016-08-251-2/+6
| | | | | | | The test is extended for integer constants smaller than 0. Also the default constant used for the error is no longer 0 since this is not a positive number. Bug 19629
* Merge pull request #118 from AbsInt/armebXavier Leroy2016-08-2437-471/+657
|\ | | | | Support for ARM Big Endian
| * fix merge conflictsMichael Schmidt2016-08-1717-15/+235
| |\
| * | update help text in configure scriptMichael Schmidt2016-08-081-13/+14
| | |
| * | port fix for configure from m-schmidt/EndiannessPlaygroundMichael Schmidt2016-08-071-0/+5
| | |
| * | Changed configure target for arm big endian.Bernhard Schommer2016-08-051-27/+12
| | | | | | | | | | | | | | | | | | Instead of an addition -little or -big at the end the configure script now accepts armeb* for the big endian arm targets. Bug 19418
| * | Implement support for big endian arm targets.Bernhard Schommer2016-08-0537-472/+667
| | | | | | | | | | | | | | | | | | | | | | | | Adds support for the big endian arm targets by making the target endianess flag configurable, adding support for the big endian calling conventions, rewriting memory access patterns and adding big endian versions of the runtime functions. Bug 19418
* | | PR#113, PR#122: Unspillable temporaries causing register allocation to failXavier Leroy2016-08-241-1/+6
| | | | | | | | | | | | | | | | | | The spilling strategy for 2-address operations was strange in the case where the first argument needs spilling but not (yet) the result: a Xreload instruction was generated which prevented future spilling of the result. Fixed by generating Xmove instead of Xreload in this case.
* | | Print prototypes for malloc and free.Bernhard Schommer2016-08-231-1/+1
| | | | | | | | | | | | | | | | | | The declarations of malloc and free should also be printed for CompCert C. Bug 19616.
* | | Fix for initialization of incomplete typesBernhard Schommer2016-08-233-5/+8
| | | | | | | | | | | | | | | | | | Since some incomplete types are allowed in initialization just test whether the default initilization exists. Bug 19601
* | | Added types found in cast to Environment.Bernhard Schommer2016-08-231-2/+2
| | | | | | | | | | | | | | | | | | New types introduced in casts are now inserted into the right Environment and carried along. Bug 19614.
* | | Revert "Reuse env from during parameter elaboration."Bernhard Schommer2016-08-231-4/+4
| | | | | | | | | | | | This reverts commit c64c4ab2526ad87a3506c9e1fdf31fa1446c16eb.
* | | Reuse env from during parameter elaboration.Bernhard Schommer2016-08-221-4/+4
| | | | | | | | | | | | | | | Allows adding struct definitions in function parameters. Bug 19602.
* | | Better error message for function initializerBernhard Schommer2016-08-221-0/+4
| | | | | | | | | | | | | | | | | | Initializers for function variables are not allowed. CompCert now reports an error and exits. Bug 19606
* | | Also print declarations in CompCert C.Bernhard Schommer2016-08-221-0/+20
| | | | | | | | | | | | | | | | | | The PrintCsyntax now first emits declarations for all functions and variables in order to allow foward declarations. Bug 19598.
* | | Print whole command line.Bernhard Schommer2016-08-221-8/+8
| | | | | | | | | | | | | | | | | | | | | When response files are used CompCert should still print all command line arguments since the response file is deleted after usage. Bug 19297.
* | | Test for incomplete type during initialization.Bernhard Schommer2016-08-221-1/+6
| | | | | | | | | | | | | | | | | | Before the initializazion is computed we check wether the type is incomplete. Bug 19601
* | | Error for va_start in non-vararg function.Bernhard Schommer2016-08-221-27/+31
| | | | | | | | | | | | | | | | | | CompCert now reports an error for usage of the va_start macro in non variadic functions. Bug 19600.
* | | Added missing , in PrintCsyntax. Bug 19599Bernhard Schommer2016-08-221-1/+1
| | |
* | | Added check for incomplete parameter types.Bernhard Schommer2016-08-201-1/+5
| | | | | | | | | | | | | | | Parameters also need to be checked for incomplete types. Bug 19596
* | | Exit earlier on invalid alignof and sizeof.Bernhard Schommer2016-08-191-4/+4
| | | | | | | | | | | | | | | | | | Alginof and sizeof applied to incomplete types now exit earlier with a fatal error. Bug 19594.
* | | Disallow void as type for variables.Bernhard Schommer2016-08-181-0/+2
| |/ |/| | | | | | | | | This allows problems in elaboration of the initializers for variables of void type. Bug 19577.
* | Exit earlier on empty union.Bernhard Schommer2016-08-171-1/+5
| | | | | | | | | | | | | | Instead of a warning for an empty union CompCert reports an error and exits. This avoids problems during the generation of initializers for these. Bug 19565.
* | Merge pull request #107 from AbsInt/add-fileXavier Leroy2016-08-1712-10/+219
|\ \ | | | | | | Add support for response files
| * | Moved quoting functions in ResponsefileBernhard Schommer2016-08-165-36/+44
| | | | | | | | | | | | | | | | | | Also corrected some typos and corrected exception handling for expandargv. Bug 18308
| * | Added missing begin end around quoting. Bug 18308.Bernhard Schommer2016-08-101-2/+2
| | |
| * | Corrected diab quoting. Bug 18308Bernhard Schommer2016-07-211-8/+11
| | |
| * | Added support for quoting for diab backend.Bernhard Schommer2016-07-214-2/+21
| | | | | | | | | | | | | | | | | | The diab data compiler has different quoting conventions compared to the gnu tools. Bug 18308.
| * | Added simplified reader and printer for gnu @filesBernhard Schommer2016-07-2011-145/+140
| | | | | | | | | | | | | | | | | | | | | | | | The functions expandargv and writeargv resemble the functions from the libiberity that are used by the gnu tools. Additionaly a new configuration is added in order to determine which kind of response files are supported for calls to other tools. Bug 18308
| * | Merged responfile function into command.Bernhard Schommer2016-07-195-49/+33
| | | | | | | | | | | | | | | | | | Command now decides whether to use a responsefile or call the external command directly. Bug 18004
| * | Added heuristic for passing arg via responsefiles.Bernhard Schommer2016-07-127-31/+51
| | | | | | | | | | | | | | | | | | | | | Since gnu make and other tools under windows seem to have a limit of around 8000 bytes per command line the arguments should be passed via responsefiles instead. Bug 18308
| * | Really added the function. Bug 18308Bernhard Schommer2016-07-112-3/+19
| | |
| * | Added function to write responsefiles.Bernhard Schommer2016-07-111-0/+24
| | | | | | | | | | | | | | | | | | The arguments are written in the responsefile separated by whitespace. If the argument itself contains a whitespace it is quoted. Bug 18308
| * | Merge branch 'master' into add-fileBernhard Schommer2016-07-1156-365/+626
| |\ \
| * | | Added responsefile support for commandline.Bernhard Schommer2016-07-083-1/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commandline can now be passed in a file specifed with @file on the Commandline. The quoting convention is similar to the one used by gcc, etc. Options are separated by whitespaces and options with whitespaecs need to be quoted. Bug 18303
* | | | Catch attribute excpetion in _Alignas elabBernhard Schommer2016-08-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The exception Wrong_attr_arg raised is now catched during the translation of the wrong _Alignas attributes. Bug 19568.
* | | | Fixed issue with emulation of printfBernhard Schommer2016-08-171-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | The emulated printf in the interpreter did always return 0 instead of the numbers of bytes printed. Bug 19564
* | | | Fixed typo. Bug 19504Bernhard Schommer2016-08-081-1/+1
| | | |
* | | | Added error check before transformations.Bernhard Schommer2016-08-084-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | Added a check for errors after the elab phases to avoid problems in the transformations due to broken input programs. Bug 19504