paul
|
73dab82a7f
compiler: refactor preproc_substitutedtoken - pass the searchstr into it
|
12 anos atrás |
paul
|
e42e9bb677
compiler: support ORD() intrinsic in preprocessor expressions
|
12 anos atrás |
paul
|
974aeb5573
compiler: support MOD, DIV, SHR, SHL in preprocessor expressions
|
12 anos atrás |
paul
|
cc37b19bb2
compiler: allow 1 and 0 to be used as Booleans in preprocessor expressions
|
12 anos atrás |
paul
|
06e7808f64
compiler: return short evaluation of preprocessor expressions with AND or OR. This fixes univint package compilation.
|
12 anos atrás |
paul
|
038b7746fb
compiler: implement preprocessor expressions (fixes mantis #0010671)
|
12 anos atrás |
paul
|
6eba4226b6
compiler: move OR and AND preprocessor evaluation to texprvalue.evaluate
|
12 anos atrás |
paul
|
7ecaaf0ef8
compiler: further improve preprocessor evaluator:
|
12 anos atrás |
paul
|
cac09f9df1
compiler: better handling of '$','%','&' in macros
|
12 anos atrás |
paul
|
0eb4244a67
compiler: implement compile-time expression with float numbers (issue #0010670), better handling of integer expressions too
|
12 anos atrás |
paul
|
eff0403fc1
compiler: reimplement handling of compile time variables - they are stored like tconstsym now instead of string. Expressions are evaluated more accurate now.
|
12 anos atrás |
paul
|
8d526e9b07
compiler: add a check for srsym <> nil since try_consume_unitsym may change srsym to nil, better error message
|
12 anos atrás |
paul
|
3f2e62874b
compiler: handle unit, namespace and class/record/object prefixes before identifiers while parsing {$IF ...} expressions (fixes mantis #0020996)
|
12 anos atrás |
florian
|
0e41df598e
* merge i8086 branch by Nikolay Nikolov
|
12 anos atrás |
florian
|
7ac7d8a4b6
+ define UNICODE as well as FPC_UNICODESTRINGS
|
12 anos atrás |
Jonas Maebe
|
8b7071c8e8
* fixed recording generics token line info on big endian systems
|
12 anos atrás |
florian
|
d4613fe961
* update init_settings.setalloc in SetCompileMode if changeinit is set
|
12 anos atrás |
florian
|
20a534e63f
* fixed code which causes range check errors when compiled with -Cr
|
12 anos atrás |
nickysn
|
7d212a7e79
* default to intel assembler for delphi/tp7 modes also on i8086
|
12 anos atrás |
paul
|
3682fddc49
compiler: minor optimization of tscannerfile.recordtoken
|
12 anos atrás |
paul
|
2a3618fb6c
compiler: set apptype using new SetAppType routine, add 'CONSOLE' define for console apptype.
|
12 anos atrás |
paul
|
8db6118965
compiler: define FPC_UNICODESTRINGS when UnicodeString is a default string type (for issue #0023861)
|
12 anos atrás |
svenbarth
|
d49b4043ab
Implement DECLARED() for generic symbols. This fixes Mantis #21829 . The syntax is SomeGenericType<> for a generic with only one type parameter and SomeGeneric<,[,]*> for a generic with more than one type parameter. Spaces between the commas or brackets are allowed.
|
12 anos atrás |
svenbarth
|
632db2229f
Fix for Mantis #23700 .
|
12 anos atrás |
svenbarth
|
b5827ce363
Move the handling of "misstyled" floating point constants like "2." or "2.e10" from the scanner to the parser. This way type helpers calls for integer constants can be parsed correctly in the future.
|
12 anos atrás |
florian
|
f25f44605e
- get rid of m_all, use a set instead for tokens, this allows to disable/enable tokens depending on the language mode
|
13 anos atrás |
paul
|
57da93dd11
compiler: don't reject utf-8 codepage as default althought it is not present in mapping tables
|
13 anos atrás |
Jonas Maebe
|
07ebc51b6c
* always store generics token streams in little endian, so we don't have to
|
13 anos atrás |
svenbarth
|
f90e686be2
Always try to present file/line information for generics even if no source is available or the unit was compiled as release unit. This allows IDE like Lazarus to correctly navigate to an error or warning even if the unit containing the generic was compiled as a release unit.
|
13 anos atrás |
svenbarth
|
e0b41141d2
"SizeInt" inside the compiler references the "size of an int" on the Host platform. What we want for writing size information in PPUs for Generics is "ASizeInt" which is the "size of an int" of the target platform. This fixes Mantis #20947.
|
13 anos atrás |