aboutsummaryrefslogtreecommitdiff
path: root/compiler/constexpr.c
AgeCommit message (Expand)AuthorFilesLines
2020-08-16Fix types and compilation warning on 32-bit ARM and x86Samuel Lidén Borell1-1/+1
2020-07-17Constexpr: Implement integer multiplicationSamuel Lidén Borell1-2/+92
2020-07-16Constexpr: Implement wrap-around for system-independent "wu*" typesSamuel Lidén Borell1-12/+89
2020-07-16Constexpr: Implement struct, array and enum comparison. Add test and fix bugsSamuel Lidén Borell1-9/+55
2020-06-29Constexpr: Handle constexprs referencing other constexprs properlySamuel Lidén Borell1-2/+23
2020-06-28Constexpr: Add support for ? (optional value) operatorSamuel Lidén Borell1-2/+4
2017-09-01Add various TODOs and commentsSamuel Lidén Borell1-0/+1
2017-08-28Add Makefile target to run clang-tidy, and fix most warningsSamuel Lidén Borell1-9/+26
2017-08-19Constexpr: Implement (in)equality operation for scalar typesSamuel Lidén Borell1-13/+60
2017-08-19Constexpr: Fix too small memory allocation in some right shift exprsSamuel Lidén Borell1-5/+8
2016-04-17Update more copyright yearsSamuel Lidén Borell1-1/+1
2016-03-28Constexpr: Fix malformed number in some cases when shifting away all digitsSamuel Lidén Borell1-8/+8
2016-03-28Constexpr: Proper error handlingSamuel Lidén Borell1-12/+20
2016-03-28Constexpr: Implement addition/subtraction of hexadecimal numbersSamuel Lidén Borell1-35/+62
2016-03-28Constexpr: Implement comparison of hexadecimal numbersSamuel Lidén Borell1-7/+33
2016-03-27Constexpr: Implement typeassert properlySamuel Lidén Borell1-18/+35
2016-03-27Constexpr: Check that computed values fit in the target integer typeSamuel Lidén Borell1-1/+17
2016-03-25Constexpr: Implement bitwise shifts, and refactor the code a bitSamuel Lidén Borell1-40/+180
2016-03-22Constexpr: Implement bitwise logic operators (bitand, bitor, bitxor)Samuel Lidén Borell1-8/+101
2016-03-21Constexpr: Add function to convert decimal to hexSamuel Lidén Borell1-3/+147
2016-03-01Constexpr: Fix char values >= 128 with string index operationSamuel Lidén Borell1-1/+3
2016-02-28Add -Wshadow and fix warningsSamuel Lidén Borell1-3/+3
2016-02-28Update copyright years base on last modification dateSamuel Lidén Borell1-1/+1
2015-07-14Add case labels for all token types in most places, and turn on -Wswitch-enumSamuel Lidén Borell1-8/+24
2015-07-14Add case labels for all AST and builtins enum valuesSamuel Lidén Borell1-3/+3
2015-02-28Fix most remaining crashes and freezes found with zzufSamuel Lidén Borell1-2/+5
2015-02-27Constexpr: Detect expressions with cycles and report an errorSamuel Lidén Borell1-18/+53
2015-02-16Verifier: typeassert expressionsSamuel Lidén Borell1-0/+6
2014-07-29Verifier: Move type parameters into LRLTypeRefSamuel Lidén Borell1-1/+5
2014-07-28Constexpr: Evaluate struct member expressionsSamuel Lidén Borell1-2/+29
2014-07-27Update copyright yearsSamuel Lidén Borell1-1/+1
2014-07-27Verifier: Use constexpr in more placesSamuel Lidén Borell1-3/+6
2014-07-21Constexpr: Identifiers without an initial value aren't valid constexprsSamuel Lidén Borell1-9/+12
2014-07-21Constexpr: Don't require constant operand of address of, sizeof, etc.Samuel Lidén Borell1-2/+10
2014-07-20Constexpr: Fix return values of lrl_constexpr_expr_is_evaluatable()Samuel Lidén Borell1-12/+26
2014-07-20Verifier: Use constexpr for checking that array lengths are constantSamuel Lidén Borell1-1/+2
2014-07-19Constexpr: Evaluate exprs containing sizeof etc. (but not the sizeof itself)Samuel Lidén Borell1-27/+49
2014-07-12New operators: sizeof, minsizeof, alignof and offsetof (incomplete impl)Samuel Lidén Borell1-0/+4
2014-06-22Add "enumbase" operator which returns the base value of an enum valueSamuel Lidén Borell1-0/+16
2014-06-07Constexpr: Implement array index operation on string literalsSamuel Lidén Borell1-10/+57
2014-05-31Fix some Clang scan-build warningsSamuel Lidén Borell1-3/+4
2014-05-03Shorten many function and type namesSamuel Lidén Borell1-50/+48
2014-04-05Add "NaN" and "inf" floating point valuesSamuel Lidén Borell1-0/+6
2014-03-23Constexpr: Don't overwrite original expr when evaluating negationsSamuel Lidén Borell1-2/+4
2013-12-01Add bitwise and/or/xor operatorsSamuel Lidén Borell1-1/+9
2013-11-17Add bitwise complement operatorSamuel Lidén Borell1-0/+3
2013-11-17Add bit shift operatorsSamuel Lidén Borell1-1/+9
2013-11-17Add "makeopt" operator (only works with pointers so far)Samuel Lidén Borell1-0/+10
2013-09-15Tokenizer: Disallow uppercase X in hex 0x prefixSamuel Lidén Borell1-1/+1
2013-09-15Fix crashes and undefined behaviorSamuel Lidén Borell1-0/+1