paul
|
038b7746fb
compiler: implement preprocessor expressions (fixes mantis #0010671)
|
12 anni fa |
paul
|
6eba4226b6
compiler: move OR and AND preprocessor evaluation to texprvalue.evaluate
|
12 anni fa |
paul
|
7ecaaf0ef8
compiler: further improve preprocessor evaluator:
|
12 anni fa |
paul
|
cac09f9df1
compiler: better handling of '$','%','&' in macros
|
12 anni fa |
paul
|
0eb4244a67
compiler: implement compile-time expression with float numbers (issue #0010670), better handling of integer expressions too
|
12 anni fa |
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 anni fa |
paul
|
8d526e9b07
compiler: add a check for srsym <> nil since try_consume_unitsym may change srsym to nil, better error message
|
12 anni fa |
paul
|
3f2e62874b
compiler: handle unit, namespace and class/record/object prefixes before identifiers while parsing {$IF ...} expressions (fixes mantis #0020996)
|
12 anni fa |
florian
|
0e41df598e
* merge i8086 branch by Nikolay Nikolov
|
12 anni fa |
florian
|
7ac7d8a4b6
+ define UNICODE as well as FPC_UNICODESTRINGS
|
12 anni fa |
Jonas Maebe
|
8b7071c8e8
* fixed recording generics token line info on big endian systems
|
12 anni fa |
florian
|
d4613fe961
* update init_settings.setalloc in SetCompileMode if changeinit is set
|
12 anni fa |
florian
|
20a534e63f
* fixed code which causes range check errors when compiled with -Cr
|
12 anni fa |
nickysn
|
7d212a7e79
* default to intel assembler for delphi/tp7 modes also on i8086
|
12 anni fa |
paul
|
3682fddc49
compiler: minor optimization of tscannerfile.recordtoken
|
12 anni fa |
paul
|
2a3618fb6c
compiler: set apptype using new SetAppType routine, add 'CONSOLE' define for console apptype.
|
12 anni fa |
paul
|
8db6118965
compiler: define FPC_UNICODESTRINGS when UnicodeString is a default string type (for issue #0023861)
|
12 anni fa |
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 anni fa |
svenbarth
|
632db2229f
Fix for Mantis #23700 .
|
12 anni fa |
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 anni fa |
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 anni fa |
paul
|
57da93dd11
compiler: don't reject utf-8 codepage as default althought it is not present in mapping tables
|
13 anni fa |
Jonas Maebe
|
07ebc51b6c
* always store generics token streams in little endian, so we don't have to
|
13 anni fa |
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 anni fa |
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 anni fa |
pierre
|
261538f9c2
Fix bug report 22265
|
13 anni fa |
pierre
|
41248ea4f7
Hopefully correct fix for ReplayToken TSettings record writes
|
13 anni fa |
pierre
|
1d4862f3c1
* Remove obsolete size check leading to failure for generics tests
|
13 anni fa |
pierre
|
d67d1abcba
* Use field by field write of current_settings for replaytoken and remove packed attribute for tsettings type
|
13 anni fa |
paul
|
d79eee8ed1
compiler: write a warning if unit should be compiled with built-in system codepage for ansistring constants but this codepage is not known by the compiler
|
13 anni fa |