aboutsummaryrefslogtreecommitdiff
path: root/utils.c
Commit message (Collapse)AuthorAgeFilesLines
* Use uint32_t instead of unsigned32_t.Flavio Cruz2016-04-041-1/+1
| | | | * utils.c: Generate code using uint32_t.
* Do not generate code dereferencing type-punned pointersJustus Winter2015-02-151-1/+7
| | | | | | | | | | | | | | | | | | | | | | For variable-length arrays, up to 2048 bytes are transmitted inline. If the array is larger, the data is transmitted out-of-line, and a pointer to a vm_allocated region is stored at the beginning of the array. Previously, the generated code casted the field. Use a union instead. This fixes the gcc warning `dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]'. * global.c (OOLPostfix): New variable. * global.h (OOLPostfix): New declaration. * server.c (WriteServerCallArg): Avoid cast. (WriteDestroyArg): Likewise. (WritePackArgValue): Likewise. (WritePackArg): Likewise. * user.c (WriteExtractArgValue): Likewise. * utils.c (WriteFieldDeclPrim): Generate a union with an additional pointer field for variable-length arrays.
* Add static branch prediction to type checksJustus Winter2014-12-011-2/+7
| | | | | | | | | Annotate generated type checks with static branch prediction optimizing well-formed messages. * utils.c (WriteBogusDefines): Define `mig_unlikely' if not defined. * server.c: Use `mig_unlikely' in generated type checks. * user.c: Likewise.
* Drop the auto keywordJustus Winter2013-09-041-3/+3
| | | | | | | | | | Drop the auto keyword from the generated source code. auto is the default storage type for variables anyway and it is customary to omit it. * utils.c (WriteCheckDecl): Drop auto from generated source. (WriteStaticLongDecl): Likewise. (WriteStaticShortDecl): Likewise.
* Drop the register keywordJustus Winter2013-08-191-13/+13
| | | | | | | | | | | | | | | | | | | Drop the register keyword both from MIGs code and from the generated code. The register keyword is only a hint and it is ignored by modern compilers. * alloca.c: Drop the register keyword. * header.c: Likewise. * lexxer.l: Likewise. * parser.y: Likewise. * routine.c: Likewise. * server.c: Likewise. * statement.c: Likewise. * string.c: Likewise. * type.c: Likewise. * user.c: Likewise. * utils.c: Likewise. * vprint.c: Likewise.
* 2007-06-02 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge2007-06-021-2/+0
| | | | | | | | | * global.c (LintLib): Remove definition. * global.h (LintLib): Remove declaration. * header.c (WriteUserRoutine, WriteServerRoutine): Don't emit `Lint' code. * user.c (WriteIncludes): Likewise. * utils.c (WriteRCSDecl): Likewise.
* 2004-03-18 Roland McGrath <roland@frob.com>Roland McGrath2004-03-181-17/+15
| | | | | | * utils.c (do_skip_vfprintf): New macro. (WriteCopyType, WritePackMsgType): Use that, so we do va_start and va_end independently around each SkipVFPrintf call.
* 2004-02-10 Roland McGrath <roland@frob.com>Roland McGrath2004-02-111-10/+16
| | | | | | | | * user.c (WriteTypeCheck): Use BAD_TYPECHECK macro instead of type-pun. * server.c (WriteTypeCheck): Likewise. * utils.c (WriteBogusDefines): Write a #define for that macro. * utils.c (WriteCheckDecl): Write auto const, not static const. (WriteStaticShortDecl, WriteStaticLongDecl): Likewise.
* Created new module from gnumach/mig at tag before-mig-moveRoland McGrath1998-07-181-0/+417