* align(): tweaked priority of calculation, yields better constant folding when these functions are inlined (alignment argument is a constant in most cases)
git-svn-id: trunk@20197 -
o Makes behavior predictable in cases when source and destination strings happen to overlap.
o Removes need in CPU-specific implementations, at least for CPUs having optimized IndexByte and Move implementations.
git-svn-id: trunk@20196 -
Always define nested types of a generic as generic as well.
* symtable.pas:
+ Add a function which decides whether two defs belong to the same generic.
* Fix sym_is_owned_by as there can be corner cases where childsym becomes Nil.
* ptype.pas:
* record_dec: Always define nested types of a generic as generic as well.
* single_type & read_named_type.expr_type:
Use the newly added function to improve the checks whether a generic
symbol should be rejected as "generics not allowed for types of
variables or fields".
+ Add a test for which the improved checks are necessary.
git-svn-id: trunk@20189 -
if it cannot contain local type definitions before looking up the type of
a field, because the type of a field may be a new type definition (e.g. an
inline record definition) and such type definitions must be added to the
correct symtable for, a.o., correctly resolving uses of the name of a
type that is currently being parsed
git-svn-id: trunk@20187 -
if available.
+ Add dexplicit building rule for libgdb.a
This library is not generated automatically anymore after 7.4 release.
+ Only handle '-l' if it is at start of argument.
git-svn-id: trunk@20168 -
* correct error in include directories for fcl-process isrc->src
* Reorder include command line option order to put dummy as last choice
git-svn-id: trunk@20164 -
- postpone insertion of hidden params into record methods after the full record parse to prevent interface and implementation difference because of the possible record size change after the method parse (issue #0021044)
- skip hidden arguments during methods search for a property setter because of the above change and also for consistency with getter method search
- test
git-svn-id: trunk@20161 -
- Added the optional creation of a lazarus design/runtime package for the activex container.
- Added full files in case diff doesn't work.
Fixes to typelib importer:
- avoid duplicate enum members (translated to const) (Office10\MSWORD.OLB)
- don't make TEventSink or TActiveXContainer descendants if interface does not descend from IDispatch (VBA6\VBE6EXT.OLB)
- add type declaration for coclass interface pointing to default interface
- fixed property setter for array properties
- added typecasting for byref interface event parameters
- typecasting workaround for pvarVal^ and pbstrVal^ "Can't take the address of constant expressions" error caused by var type mismatch OLEVariant <> Variant and POleStr<>WideString
- reverted to the use of OLEVariant. POLEVariant isn't automatable in trunk but PVariant isn't automatable in 2.6.0 neither.
- added byref VT_INT, VT_UINT, VT_DECIMAL event parameter support (Office10\MSWORD.OLB)
- replace the use of TOleEnum with LongWord. Definition in ActiveX (type TOleEnum = type LongWord;) prohibits casting of OleVariant to TOleEnum.(Office10\MSOUTL.OLB)
- disambiguate method name for INVOKE_PROPERTYPUT and INVOKE_PROPERTYPUTREF on same property (ado\msado25.tlb)
- postpone interface declaration until full declaration of ancestor class.
git-svn-id: trunk@20157 -