florian
c7100799ed
+ forbid usage of $E on targets supporting no fpu emulation
...
- disabled -Cfsoft on i386
git-svn-id: trunk@7625 -
2007-06-10 17:03:26 +00:00
yury
eac1c293e4
* fixed "EInOutError : File not found" exception if .rc file not found.
...
git-svn-id: trunk@7624 -
2007-06-10 13:04:56 +00:00
Jonas Maebe
51ebaa592f
* fixed tests/webtbf/tb0041 broken by r7603: check whether ordinals
...
are compatible before optimizing the checks away
git-svn-id: trunk@7616 -
2007-06-09 20:17:46 +00:00
Jonas Maebe
c77d74127b
* fixed some record size checks
...
(some are still broken, but can't be fixed currently because
def.size/sym.getsize return an aint, which means low(aint)
in case of structures with a size = high(aint)+1)
git-svn-id: trunk@7614 -
2007-06-09 19:48:14 +00:00
florian
0e96eda236
+ some sse4 instructions supported, resolves #9046
...
git-svn-id: trunk@7613 -
2007-06-09 19:45:06 +00:00
florian
fe69d19f9c
* align stack properly if no stack frame is generated, should resolve #8986
...
git-svn-id: trunk@7611 -
2007-06-09 18:46:35 +00:00
Jonas Maebe
10341eabaa
* don't allow taking the address of ordinal bitpacked array elements
...
whose size is not a power of two
+ some more packed array/record tests
git-svn-id: trunk@7610 -
2007-06-09 18:13:04 +00:00
Jonas Maebe
2af8ca7a19
* allow taking the address of fields of packed records iff
...
* their offset is a multiple of 8 bits; and
* their size is a multiple of 8 bits; and
* if it's a range type, the size is also a power of 2
git-svn-id: trunk@7609 -
2007-06-09 17:52:20 +00:00
Jonas Maebe
22c1d5915e
* enable break and continue in macpas mode (mantis #9032 )
...
git-svn-id: trunk@7608 -
2007-06-09 17:23:11 +00:00
Jonas Maebe
20b99dade3
- reverted r7600, see additional comments in mantis #9027
...
git-svn-id: trunk@7606 -
2007-06-09 17:14:28 +00:00
daniel
60dee7fcf0
+ New optimization: Comparisions with evaluate to true or false if the
...
constant is outside the range of type bounds of the left expression.
I.e. "if a>0" evaluates to true if a is declared with type 1..10,
as all legal values of a are greater than zero.
git-svn-id: trunk@7603 -
2007-06-09 14:03:56 +00:00
Jonas Maebe
5a8679131f
+ support for new/dispose with extra size parameter in macpas mode
...
(mantis #9027 )
git-svn-id: trunk@7600 -
2007-06-08 18:02:31 +00:00
Jonas Maebe
de75b34dba
* fixed another IE with indexing bitpacked arrays of composite types,
...
this time with constant rather than variable indices
git-svn-id: trunk@7599 -
2007-06-08 13:53:01 +00:00
Jonas Maebe
5b24374cc2
* workaround for a bug in the assembler, linker or gdb on Mac OS X whereby
...
files with debuginfo but without any code could mess up the symbol
tables used/built by gdb, resulting in various problems when debugging.
The same workaround is used in gcc by Apple (mantis #9011 )
git-svn-id: trunk@7597 -
2007-06-08 12:29:30 +00:00
Jonas Maebe
65e35ac401
* fixed internal error with bitpacked arrays of composite types whose
...
size is not a power of two
git-svn-id: trunk@7596 -
2007-06-08 09:11:08 +00:00
daniel
616fc0afcc
* Adjust indent.
...
git-svn-id: trunk@7591 -
2007-06-06 20:10:35 +00:00
daniel
fe5118e903
* Reduce false positives of type_h_use_div_for_int.
...
git-svn-id: trunk@7590 -
2007-06-06 19:50:04 +00:00
florian
af352cda24
Merged revisions 7586 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/ssa/compiler
........
r7586 | florian | 2007-06-05 20:19:26 +0200 (Di, 05 Jun 2007) | 1 line
* updates from Karl-Michael Schindler
........
git-svn-id: trunk@7587 -
2007-06-05 18:22:54 +00:00
florian
8e3ade9f1f
Merged revisions 7567 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/ssa/compiler
........
r7567 | florian | 2007-06-03 22:53:07 +0200 (So, 03 Jun 2007) | 2 lines
* better code generation for op_reg_reg_reg if src1 and dst are equal
........
git-svn-id: trunk@7569 -
2007-06-03 21:02:17 +00:00
florian
63b35fdb2e
+ give more sophisticated warnings about uninitalized variables when life info is available
...
git-svn-id: trunk@7562 -
2007-06-03 17:35:48 +00:00
florian
2761b9e096
* life info generation works for the whole compiler if exception catching blocks are ignored
...
git-svn-id: trunk@7561 -
2007-06-03 16:37:59 +00:00
florian
496d73dc9d
+ dfa for more node types
...
git-svn-id: trunk@7560 -
2007-06-03 10:33:50 +00:00
yury
73b8fba64b
* fixed linking with eVC++ object files (bug #8542 ).
...
git-svn-id: trunk@7556 -
2007-06-02 22:14:35 +00:00
florian
36471608c1
* fixed regression caused by r7180
...
git-svn-id: trunk@7555 -
2007-06-02 20:35:17 +00:00
pierre
43f72f56f9
* fix 'ppc386 -F' crash
...
git-svn-id: trunk@7546 -
2007-06-01 22:50:37 +00:00
Jonas Maebe
2fe79903d6
* added missing "reserved" field to new code page files to fix warnings
...
git-svn-id: trunk@7537 -
2007-05-31 15:07:48 +00:00
yury
55394d9e72
* Added FlushOutput after "Linking..." message by internal linker. Now this message is visible in Lazarus during linking.
...
git-svn-id: trunk@7518 -
2007-05-29 17:04:53 +00:00
Jonas Maebe
8bcb6e689d
* only check validity of assembler instructions in pass_2, after all
...
local operands have been resolved (mantis #8950 )
git-svn-id: trunk@7516 -
2007-05-29 16:53:28 +00:00
yury
2b84a4643a
* Fixed bug #6501 : multiple resource files are correctly linked to executable.
...
It is done in the following way:
When unit is compiled, .rc file are compiled to .res and list of unit's resource files is stored in .ppu
Before final linking all program's .res files are collected into global .res file (.res files are easily concatenated).
Then this global .res files is compiled to single .or file, which is linked to executable.
As a result global resource index is created and the problem is fixed.
Old resource processing behavior still supported when tresinfo.rcbin is not set for target.
New resource processing is activated for windows and linux. Cross compiled windres can be used to compile .rc files on linux.
git-svn-id: trunk@7515 -
2007-05-29 15:51:02 +00:00
Jonas Maebe
95da9cb07a
* fixed missing propagation of changed parameter type
...
of first readstr parameter in case it wasn't a string
git-svn-id: trunk@7514 -
2007-05-29 14:21:12 +00:00
Jonas Maebe
4ce4742bc8
* mark invisible high parameters of open arrays/arrays of const
...
of parent procedures which are implicitly accessed from within
nested procedures for range checking purposes as non-regable in
the resulttype pass of the nested procedure (as opposed to in its
pass1/pass2, because by then the regvar assignment of the parent
procedure is already finished) (mantis #8975 )
* related fix regarding checking whether the high parameter actually
exists (must check calling convention of the procedure to which the
high parameter belongs, which is not the same as checking that of
the current procedure in case of nested procedures)
git-svn-id: trunk@7512 -
2007-05-29 13:42:49 +00:00
Jonas Maebe
628ddfa160
* fixed (harmless) range error
...
git-svn-id: trunk@7511 -
2007-05-29 13:04:15 +00:00
Jonas Maebe
60d424e97d
* another check for register types (should fix new failure
...
of webtbs/tw7161)
git-svn-id: trunk@7510 -
2007-05-29 11:12:37 +00:00
peter
e1132f8fe1
* check register type to not mixup sse registers
...
git-svn-id: trunk@7505 -
2007-05-28 19:12:12 +00:00
florian
7b519c1ce3
* prevent usage of units being compiled with different fpu emulation state
...
git-svn-id: trunk@7501 -
2007-05-28 16:18:35 +00:00
florian
a3d906f1ca
- removed several ;;
...
git-svn-id: trunk@7498 -
2007-05-28 15:59:17 +00:00
Jonas Maebe
e1b7ce5aa9
* fixed dynarr_property:=nil + test
...
git-svn-id: trunk@7495 -
2007-05-28 13:48:32 +00:00
peter
a58797f989
* use linkunitofiles instead of linkotherofiles to prevent path from being stored in ppu
...
git-svn-id: trunk@7490 -
2007-05-27 15:27:08 +00:00
peter
2e55b74a87
* force Archvie bit for file to get a difference if a fileexists or not
...
git-svn-id: trunk@7485 -
2007-05-27 10:50:51 +00:00
Jonas Maebe
fa5e232055
* fixed assigning an interface to a property after better property
...
checks
git-svn-id: trunk@7484 -
2007-05-27 10:25:46 +00:00
Jonas Maebe
a767e89a5b
- removed a comment which wasn't true anymore
...
git-svn-id: trunk@7472 -
2007-05-25 12:30:14 +00:00
Jonas Maebe
4919cecb3b
+ defined FPC_SUPPORTS_UNALIGNED if the compiler supports the
...
unaligned() expression
git-svn-id: trunk@7469 -
2007-05-25 12:00:55 +00:00
Jonas Maebe
a244d54d6f
* fixed a_load_ref_reg_unaligned in case reg is used in ref
...
git-svn-id: trunk@7466 -
2007-05-25 08:49:07 +00:00
yury
cf19c0993a
* fixed bug #8919 .
...
+ test.
git-svn-id: trunk@7448 -
2007-05-24 08:15:28 +00:00
michael
001ba5de84
* Applied patch from Ido Kanner
...
git-svn-id: trunk@7446 -
2007-05-24 07:42:39 +00:00
peter
c83f5c8546
* use elf writer for beos
...
git-svn-id: trunk@7439 -
2007-05-24 07:08:29 +00:00
peter
ecbcdcdabb
* added status.currentmodulestate
...
git-svn-id: trunk@7435 -
2007-05-24 06:21:31 +00:00
Jonas Maebe
683de5ada2
* don't destroy source register when performing division of signed
...
number by constant power of two
git-svn-id: trunk@7431 -
2007-05-23 14:05:27 +00:00
peter
b29e4ad12f
* add used by unit to can't find unit message
...
git-svn-id: trunk@7430 -
2007-05-23 13:40:27 +00:00
peter
e2db0a3982
* cleanup current module status
...
* new set_current_module function that sets the current_module and
all related variables. Also closes scanner files if required, but
that might still need some optimization to prevent closing/opening
files too often
git-svn-id: trunk@7428 -
2007-05-23 13:33:53 +00:00