nickysn
c28d533bb0
+ support the cmpsd sse instruction in the at&t inline assembly reader
...
git-svn-id: trunk@36124 -
2017-05-05 15:46:47 +00:00
pierre
65fadcaa53
Disable threading and dynlibs features for msdos OS target by default
...
git-svn-id: trunk@36123 -
2017-05-05 15:03:47 +00:00
nickysn
98d2684368
+ correctly support the sse2 version of the cmpsd x86 instruction, when writing
...
at&t style asm output
git-svn-id: trunk@36122 -
2017-05-05 15:01:38 +00:00
Mattias Gaertner
1d1c310876
fcl-passrc: IsValidIdent for fpc 3.0
...
git-svn-id: trunk@36121 -
2017-05-05 14:31:27 +00:00
pierre
eb378c1b94
Replace __tls_used for win64 by an alias of _tls_used
...
git-svn-id: trunk@36120 -
2017-05-05 14:27:04 +00:00
nickysn
b882ba5fd2
+ also recognize sbb reg,reg as writing a new value in the register in TX86AsmOptimizer.RegLoadedWithNewValue
...
git-svn-id: trunk@36119 -
2017-05-05 14:24:13 +00:00
Mattias Gaertner
4305ffcfa3
pastojs: implemented dotted unit reference
...
git-svn-id: trunk@36118 -
2017-05-05 14:20:10 +00:00
Mattias Gaertner
96f88184ef
fcl-passrc: resolver: fixed dotted runit reference
...
git-svn-id: trunk@36117 -
2017-05-05 14:19:21 +00:00
svenbarth
c552b2957a
* implement support for 4 Byte UTF-8 codepoints that result in a surrogate pair for UTF-16
...
git-svn-id: trunk@36116 -
2017-05-05 14:03:57 +00:00
nickysn
af48d176ec
+ precise flag information for the ucomiss,ucomisd,vucomiss and vucomisd x86 instructions
...
git-svn-id: trunk@36115 -
2017-05-05 13:41:43 +00:00
nickysn
0e0e5c0caf
+ support the flags register and its subregisters in TX86AsmOptimizer.RegLoadedWithNewValue
...
git-svn-id: trunk@36114 -
2017-05-05 12:17:50 +00:00
pierre
d2d1794b40
Use HandleError instead of RunError in fpc_help_destructor, fpc_check_object and fpc_check_object_ext
...
git-svn-id: trunk@36113 -
2017-05-05 11:49:16 +00:00
nickysn
85fbbec319
+ recognize xor reg,reg (same register twice) and sub reg,reg as writing a new
...
value to reg in TX86AsmOptimizer.RegLoadedWithNewValue
git-svn-id: trunk@36112 -
2017-05-05 11:01:34 +00:00
pierre
9ca8bd41ca
Guard critical section procedure calls with ifdef FPC_HAS_FEATURE_THREADING
...
git-svn-id: trunk@36111 -
2017-05-05 09:33:18 +00:00
pierre
579b8dafd2
Do not call initunicodestringmanager if unicodestrings feature is disabled
...
git-svn-id: trunk@36110 -
2017-05-05 08:01:45 +00:00
pierre
7d0d41be4b
Allow msdos RTL compilation with -Sfnodynlibs
...
git-svn-id: trunk@36108 -
2017-05-04 22:54:53 +00:00
pierre
78343902bf
Allow objpas classes and sysutils units to compile with threading support disabled
...
git-svn-id: trunk@36107 -
2017-05-04 22:13:11 +00:00
pierre
651f8b17c1
Add minimum type/const for RTL compilation with threading support disabled
...
git-svn-id: trunk@36106 -
2017-05-04 22:12:17 +00:00
svenbarth
52ddce608f
+ add test for enumerating a set without ranges
...
git-svn-id: trunk@36105 -
2017-05-04 22:00:29 +00:00
svenbarth
c349151504
+ add test for array constructors
...
git-svn-id: trunk@36104 -
2017-05-04 21:59:49 +00:00
svenbarth
1aa80f77cb
- remove no longer needed global variable allow_array_constructor
...
git-svn-id: trunk@36103 -
2017-05-04 21:58:14 +00:00
svenbarth
6d512ddac7
* allow nested array constructors inside normal code blocks (body & except)
...
git-svn-id: trunk@36102 -
2017-05-04 21:56:33 +00:00
svenbarth
8f4ef91efb
* tarrayconstructornode: force conversion to set if there's a range node in the tree
...
git-svn-id: trunk@36101 -
2017-05-04 21:55:12 +00:00
svenbarth
bdef19fd79
* indeed allow the conversion of array constructors to dynamic arrays
...
git-svn-id: trunk@36100 -
2017-05-04 21:54:27 +00:00
svenbarth
82b2d22ed6
* keep track of allow_array_constructor as part of the array constructor node
...
git-svn-id: trunk@36099 -
2017-05-04 21:52:21 +00:00
svenbarth
dfc23da06c
* tassignmentnode.pass_typecheck: also allow "dynarray := []" in addition to "dynarray := nil"
...
git-svn-id: trunk@36098 -
2017-05-04 21:40:37 +00:00
svenbarth
c6f19b9888
* create_for_in_loop: if there's a choice between iterating an array and a set then prefer the set for backwards compatibility
...
git-svn-id: trunk@36097 -
2017-05-04 21:38:00 +00:00
svenbarth
a8b1d340c7
* create_for_in_loop: explicitely convert "for ... in [] do" to a nothing-node including an unreachable code warning (avoids code conversions that are for naught anyway)
...
git-svn-id: trunk@36096 -
2017-05-04 21:37:12 +00:00
svenbarth
df893b4a30
* implement a type conversion from an array constructor to a dynamic array
...
git-svn-id: trunk@36095 -
2017-05-04 21:34:38 +00:00
svenbarth
6e31a7ac83
+ add an overload to arrayconstructor_to_set that allows it to be used without the passed in node being freed
...
git-svn-id: trunk@36094 -
2017-05-04 21:30:52 +00:00
svenbarth
cc5e3fdee9
+ add utility function arrayconstructor_can_be_set which uses similar code to arrayconstructor_to_set to check whether an array constructor has even a chance to be converted to a set
...
git-svn-id: trunk@36093 -
2017-05-04 21:28:03 +00:00
pierre
6c43882cf5
Allow compilation with -Sfnothreading
...
git-svn-id: trunk@36092 -
2017-05-04 21:18:22 +00:00
svenbarth
b1c66dee9b
+ tarrayconstructornode: add utility method has_range_node to check whether the array constructor node tree contains any range node
...
git-svn-id: trunk@36091 -
2017-05-04 21:16:47 +00:00
svenbarth
4a2266ac44
* tarrayconstructornode.pass_typecheck: set elementdef of the arraydef only after the arrayoptions are changed
...
git-svn-id: trunk@36090 -
2017-05-04 21:03:33 +00:00
svenbarth
5f8135dd84
* tarraydef.setelementdef: don't call size for array constructors as they'll only have one once they're converted to dynamic arrays
...
git-svn-id: trunk@36089 -
2017-05-04 20:57:06 +00:00
joost
16b44b0719
* Allow longer package-names as fpmake-dependencies. Addins could have longer names
...
git-svn-id: trunk@36088 -
2017-05-04 20:21:27 +00:00
nickysn
aa93259463
+ support the lahf,fstsw and fnstsw instructions in
...
TX86AsmOptimizer.RegLoadedWithNewValue
git-svn-id: trunk@36087 -
2017-05-04 16:02:01 +00:00
yury
2ae3ce79bb
* ARM: Never use the "BLX label" instruction. Use "BL label" instead.
...
The linker will always change BL to BLX if necessary, but not vice versa (linker version dependent).
"BLX label" ALWAYS changes the instruction set. It changes a processor in ARM state to Thumb state,
or a processor in Thumb state to ARM state.
git-svn-id: trunk@36086 -
2017-05-04 15:55:55 +00:00
Mattias Gaertner
a358fec12b
pastojs: use UsesClause instead of UsesList
...
git-svn-id: trunk@36085 -
2017-05-04 15:54:42 +00:00
Mattias Gaertner
91ed2c4d9d
fcl-passrc: resolver type alias with dotted unit name
...
git-svn-id: trunk@36084 -
2017-05-04 15:54:12 +00:00
nickysn
92cc447326
+ support the aam instruction in TX86AsmOptimizer.RegLoadedWithNewValue
...
git-svn-id: trunk@36083 -
2017-05-04 15:34:48 +00:00
nickysn
2431b1fa19
+ support the lodsb,lodsw,lodsd and lodsq instructions in
...
TX86AsmOptimizer.RegLoadedWithNewValue
git-svn-id: trunk@36082 -
2017-05-04 15:12:37 +00:00
nickysn
6b7593d7d0
+ support the SETcc instructions in TX86AsmOptimizer.RegLoadedWithNewValue
...
git-svn-id: trunk@36081 -
2017-05-04 14:43:18 +00:00
nickysn
0cd70844f1
+ take into account the fact that lea doesn't read the segment register of its
...
reference in i386's TCpuAsmOptimizer.RegReadByInstruction
git-svn-id: trunk@36080 -
2017-05-04 14:13:53 +00:00
nickysn
e10f184b74
+ support lds,les,lfs,lgs and lss in TX86AsmOptimizer.RegLoadedWithNewValue
...
git-svn-id: trunk@36079 -
2017-05-04 14:08:36 +00:00
nickysn
9b7a8f0da5
+ take into account the x86 segment register in TAOptBase.RegInRef
...
git-svn-id: trunk@36078 -
2017-05-04 14:08:00 +00:00
nickysn
eac74f5a81
+ support the cwd,cdq,cqo and cbw instructions in
...
TX86AsmOptimizer.RegLoadedWithNewValue (cwde and cdqe don't need special
support)
git-svn-id: trunk@36077 -
2017-05-04 12:15:40 +00:00
yury
95094e9a8f
* Removed unused vars.
...
git-svn-id: trunk@36073 -
2017-05-04 10:38:49 +00:00
joost
50fea20003
* Add FPMake-plugin dependencies to unit path + test
...
git-svn-id: trunk@36072 -
2017-05-03 20:34:55 +00:00
nickysn
987cf2a9cf
* fixed a bug in the maxqword check in the Rol/RorQWord(maxqword,x)->maxqword
...
optimization, which prevented the optimization from ever being performed. This
should also fix the test failure of tbs/tb0627b.pp on all 64-bit platforms.
git-svn-id: trunk@36071 -
2017-05-03 15:32:48 +00:00