aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/Cabs.v
Commit message (Collapse)AuthorAgeFilesLines
* Remove the `_Alignas(expr)` construct (#125)Xavier Leroy2018-06-071-2/+1
| | | | The `_Alignas(expr)` construct is not C11, only `_Alignas(type)` is.
* New version to support designators.Bernhard Schommer2017-01-241-1/+1
| | | | | | | | | The c standard allows member designators for offsetof. The current implementation works by recursively combining the offset of each of the member designators. For array access the size of the subtypes is multiplied by the index and for members the offset of the member is calculated. Bug 20765
* Implement offsetof via builtin.Bernhard Schommer2017-01-201-0/+1
| | | | | | | | | | | | The implementation of offsetof as macro in the form ((size_t) &((ty*) NULL)->member) has the problem that it cannot be used everywhere were an integer constant expression is allowed, for example in initiliazers of global variables and there is also no check for the case that member is of bitifield type. The new implementation adds a builtin function for this which is replaced by an integer constant during elaboration. Bug 20765
* Added the _Noreturn keyword.Bernhard Schommer2016-03-231-1/+4
| | | | | | | | CompCert now recognizes the C11 _Noreturn function specifier and emits a simple warning for functions declared _Noreturn containing a return statement. Also the stdnoreturn header and additionally the stdalign header are added. Bug 18541
* Merge remote-tracking branch 'origin/master' into parser_fixJacques-Henri Jourdan2015-11-041-3/+3
|\
| * Updated PR by removing whitespaces. Bug 17450.Bernhard Schommer2015-10-201-3/+3
| |
* | Better handling of old-style K&R function declarations:Jacques-Henri Jourdan2015-11-011-2/+2
|/ | | | | | - Added a Cabs.PROTO_OLD constructor to Cabs.decl_type - Refactored the Parser.vy and pre_parser.mly grammars - Rewritten the conversion of old function definitions to new-style
* Experiment: support a subset of GCC's extended asm statements.Xavier Leroy2015-04-171-1/+7
|
* Assorted fixes to fix parsing issues and be more GCC-like:xleroy2014-05-121-5/+6
| | | | | | | | | | - Moved scanning of char constants and string literals entirely to Lexer - Parser: separate STRING_LITERAL from CONSTANT to be closer to ISO C99 grammar - pre_parser: adapted + "asm" takes string_literal, not CONSTANT - Revised errors "inline doesnt belong here" git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2492 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Support for old-style K&R function definitions.xleroy2014-05-051-0/+1
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2478 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Integration of Jacques-Henri Jourdan's verified parser.xleroy2014-04-291-0/+215
(Merge of branch newparser.) git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2469 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e