Commit Graph

33821 Commits

Author SHA1 Message Date
Jonas Maebe
ebb4d26201 * replaced all tobjectdef() typecasts of the first argument of
do_member_read() with tabstractrecorddef() typecasts, because in
    many cases it can also be a record nowadays

git-svn-id: trunk@17200 -
2011-03-28 15:23:25 +00:00
michael
9a0873d471 * Fixed bug #19008
git-svn-id: trunk@17199 -
2011-03-28 09:00:31 +00:00
paul
e0671060db rtl: add missing TWMWindowPosChanged, TWMWindowPosChanging from messages interface
git-svn-id: trunk@17198 -
2011-03-28 06:28:25 +00:00
sergei
1c01d52ea6 * Improvements of tprocinfo class:
* Moved nestedprocs from tcgprocinfo to tprocinfo, in order to be able to access the entire nested procedure hierarchy without depending on psub.pas or code generator.
  * Creating an instance of tprocinfo automatically inserts it into list of parent's nested procedures.
  * nestedprocs list is created on demand. Public read-only access is provided by has_nestedprocs and get_first_nestedproc functions.
  + Method destroy_tree is provided for destroying the entire hierarchy of procinfo's. It can be called on any procinfo object in the tree.
  + Also added methods save_jump_labels and restore_jump_labels for asmlabel maintenance, which is currently being repeatedly done all over the codegenerator.

git-svn-id: trunk@17197 -
2011-03-27 17:21:48 +00:00
joost
ad52fe0f23 * BigInt is already set by default since r16882
git-svn-id: trunk@17196 -
2011-03-27 16:19:36 +00:00
joost
8b8456aed6 * Added mysql51-connection type to testsuite
git-svn-id: trunk@17195 -
2011-03-27 16:08:55 +00:00
joost
7fd29b3133 * Use new BcdToStf(f) functions, bug #18988
git-svn-id: trunk@17194 -
2011-03-27 15:17:17 +00:00
armin
fc45960024 updated for netware target
git-svn-id: trunk@17193 -
2011-03-27 15:11:43 +00:00
armin
7eace122dc internal linker support for creating novell netware loadable modules
git-svn-id: trunk@17192 -
2011-03-27 14:47:25 +00:00
armin
8e7cf0c616 netware rtl support for internal linker
git-svn-id: trunk@17191 -
2011-03-27 14:45:33 +00:00
joost
fe503598c1 * samplecfg now also creates fppkg configuration files
git-svn-id: trunk@17190 -
2011-03-27 12:29:32 +00:00
joost
b67c3ad4c1 * Default fpcbin macro added
git-svn-id: trunk@17189 -
2011-03-27 12:28:06 +00:00
joost
538dd64283 * Use prefix instead of installation-dir
git-svn-id: trunk@17188 -
2011-03-27 12:27:44 +00:00
michael
6865593b07 * Added Win64 platform
git-svn-id: trunk@17187 -
2011-03-27 11:16:32 +00:00
joost
739ea3720c * Do not show full path in backup-message
* Skip path-creation when output is set to stdout

git-svn-id: trunk@17186 -
2011-03-27 11:07:21 +00:00
joost
dc5f4b038d * Do not use scripts, but let fpcmkcfg create eventual parent directories
git-svn-id: trunk@17185 -
2011-03-26 20:48:31 +00:00
michael
baf0ed35f3 * Patch from Inoussa to fix AV in certain cases
git-svn-id: trunk@17184 -
2011-03-26 18:54:44 +00:00
joost
6fa6151bef * Do not create a backup, fpcmkcfg does this already
git-svn-id: trunk@17183 -
2011-03-26 17:32:52 +00:00
joost
7b07c2906a * %CompilerConfigDir% macro added
* Use %CompilerConfigDir% macro in fppkg.cfg
 * Added -s and -p options to help-output
 * Mention the creation of a backup file
 * Initialize SkipBackup variable
 * Added -p option to force directory creation

git-svn-id: trunk@17182 -
2011-03-26 17:27:33 +00:00
joost
b99d819ad3 * Add dependency on fppkg.inc and default.inc
git-svn-id: trunk@17181 -
2011-03-26 17:23:05 +00:00
joost
7b613697fa * Fixed AV when files cant be opened
git-svn-id: trunk@17180 -
2011-03-25 18:35:57 +00:00
joost
e21bf87bc2 * Better fix for mantis 17661, see r17077
git-svn-id: trunk@17179 -
2011-03-25 18:11:58 +00:00
Jonas Maebe
c31f04b9c1 - reverted r17177 for univint because these units are automatically converted
from C headers, and manual changes make future updating more difficult

git-svn-id: trunk@17178 -
2011-03-25 10:51:15 +00:00
mazen
86d9eadc73 * Fixed spell errors.
git-svn-id: trunk@17177 -
2011-03-25 09:33:15 +00:00
michael
8aca294896 * Fixed windows-only test, added linux test
git-svn-id: trunk@17176 -
2011-03-25 08:37:34 +00:00
michael
dcc8afeb8b * Fix from stephano to fix writing empty string values twice
git-svn-id: trunk@17175 -
2011-03-25 08:27:02 +00:00
sergei
bd123bcfd6 + added TOleStrList and POleStrList types (same as TBStrList, Delphi compatibility).
* ICatInformation.EnumCategories second parameter must have type IEnumCategoryInfo, fixed.

git-svn-id: trunk@17174 -
2011-03-24 20:24:54 +00:00
paul
812a665cbe rtl: don't crash if resource is not found in TResourceStream and was passed by ID instead of Name (in this case exception tried to get a string from ID)
git-svn-id: trunk@17173 -
2011-03-24 03:44:26 +00:00
Jonas Maebe
9ae0414dda * always print the fully qualified type name in case a type is nested
git-svn-id: trunk@17172 -
2011-03-23 22:24:37 +00:00
Jonas Maebe
c0423b6a78 * handle implementing objcprotocols that are defined as formal external
in the current scope, but whose full definition is available elsewhere

git-svn-id: trunk@17171 -
2011-03-23 22:23:08 +00:00
sergei
fdd99ec16c * BCD improvements based on a patch from LacaK
* fmtbcd.pp: convert BCD to strings directly (without intermediate conversion to Double) to avoid loss of precision.
  + variants.pp: support custom variants in Variant->AnsiString conversions.

git-svn-id: trunk@17170 -
2011-03-23 16:42:18 +00:00
sergei
008699eaae * variants.pp, some speed improvements:
* VarTypeIsValidElementType: moved check for custom types after checks for standard types, because it is expensive.
  * sysvararrayput, DynArrayToVariant, DynArrayFromVariant: replaced calls to methods of variant manager by appropriate plain calls which still go through the variant manager, but GetVariantManager() is no longer necessary.

git-svn-id: trunk@17169 -
2011-03-23 15:45:27 +00:00
Jonas Maebe
ba0782773b * create $(TEST_OUTPUTDIR)/test/cg before copying the object files there,
hopefully fixes the problems with the nightly testsuite results on Darwin

git-svn-id: trunk@17168 -
2011-03-23 14:17:35 +00:00
michael
062b05996e * AllowRow event
git-svn-id: trunk@17167 -
2011-03-23 08:26:39 +00:00
michael
d847cef3e6 * BeforeDelete/Update/Insert events
git-svn-id: trunk@17166 -
2011-03-23 08:25:42 +00:00
michael
143d4fda6a * OnGetDataset Event
git-svn-id: trunk@17165 -
2011-03-23 08:25:11 +00:00
sergei
2a303c88f5 * On thread creation error, use a resourcestring message and textual representation of system error code.
- Removed an unused type declaration.

git-svn-id: trunk@17164 -
2011-03-22 15:26:28 +00:00
sergei
f7dcad6f92 * Rewrote those insane {$ifdef FPC_HAS_INDIRECT_MAIN_INFORMATION} into somewhat more readable form.
git-svn-id: trunk@17163 -
2011-03-21 21:12:46 +00:00
michael
3569a26166 * Added some missing functions to FPCanvas and added TFont.Orientation
git-svn-id: trunk@17162 -
2011-03-21 15:33:29 +00:00
Jonas Maebe
10674153cf * set result of searchsym_in_record() in case nothing was found
git-svn-id: trunk@17161 -
2011-03-21 12:42:23 +00:00
pierre
f49fb7329a * Avoid crash if right node of _IN keyword is a type node that is not a set
git-svn-id: trunk@17159 -
2011-03-21 07:57:37 +00:00
florian
1f4be60927 * fix token order, I should really learn the alphabet
git-svn-id: branches/usersections@17155 -
2011-03-20 17:43:36 +00:00
florian
f328b6d635 + user section type
+ parsing of section directive for variables
  + section test
  + write section names in the assembler/binary writers correctly
  * allow section only after ; and for embedded targets

git-svn-id: branches/usersections@17154 -
2011-03-20 15:42:28 +00:00
florian
e4656050a7 + get/putansistring
git-svn-id: branches/usersections@17153 -
2011-03-20 15:39:33 +00:00
florian
f0d5c63728 * create branch for user defined sections for variables
git-svn-id: branches/usersections@17152 -
2011-03-20 15:37:34 +00:00
svenbarth
f7f357f18e * symconst.pas:
- remove thelpersearch again => adjustments to searchsym_in_class and calls to it
- rename sto_has_classhelper to sto_has_helper
* symbase.pas: make push and pop in tsymtablestack virtual
* symdef.pas:
- add a new class tdefawaresymtablestack which overrides push and pop of tsymtablestack and adjusts the new extendeddefs field of the current tmodule
- tobjectdef.create: sto_has_classhelper => sto_has_helper
* fmodule.pas:
- add new hash object list to tmodule (key: mangled type name) which holds object list instances that contain all helpers currently active for a given type (= key of the hash list)
- tmodule.create: the hash list owns the sublists (but those don't own the defs)
- tmodule.destroy: free the hash list
* pdecobjpas:
- rename parse_extended_class to parse_extended_type
- parsing of constructors:
# for all helper types: no class constructors allowed
# for record helpers: as long as constructors for records themselves are disabled they are for record helpers as well
- object_dec: manually add the helper to the extendeddefs if the overall owner of the current def is a static symtable (implementation section or program/library main file), because the symtable won't be popped and pushed then
* parser.pas: instantiate the new stack class
* psub.pas: backup the extendeddefs in specialize_objectdefs as well
* ptype.pas:
- generate_specialization: backup the extendeddefs as well
- record_dec: _RECORD is now consumed in read_named_type itself
- read_named_type: parse "record helper" if advanced record syntax is enabled
* symtable.pas:
- correct searchsym_in_class declaration => adjustments in this unit as well
- add the possibility to pass a context def to search_last_objectpascal_helper
- rename search_objectpascal_class_helper to search_objectpascal_helper
- rename search_class_helper to search_objc_helper
- searchsym_in_class: 
# search for helpers in every level of the tree of the class
# the contextclassh can also be a subclass of the extendeddef
- searchsym_in_record: search for helper methods as well
- searchsym_in_helper:
# search for symbols in class and record helpers is the same except for the search in the class' ancestors
# search the extendeddef directly and rely on searchsym_in_class only for the class' ancestors as we need to find the helpers there as well
- search_last_objectpascal_helper: use the extendeddefs list of current_module instead of scanning the symbol stack itself
* pexpr.pas: adjustments because of renaming of sto_has_classhelper
* pinline.pas: adjustment because of removing of thelpersearch
* nflw.pas: 
- renamed classhelper to helperdef
- adjusted search_last_objectpascal_helper call
* msg*:
- adjusted error message for constructors in records (this currently applies to record helpers as well)
- renamed parser_e_not_allowed_in_classhelper to parser_e_not_allowed_in_helper => adjustments in code
- added parser_e_no_class_constructors_in_helpers
* pdecsub.pas: adjusted renamed error message
* htypechk.pas: check for helpers in every step of the hierarchy
* nobj.pas: search_class_helper => search_objc_helper
* utils/ppudump.pas: adjust, because of renames

Note: the define "useoldsearch" will be only used for performance comparison on my (faster) Linux machine; that (and its associated code) will be removed afterwards

git-svn-id: branches/svenbarth/classhelpers@17151 -
2011-03-20 11:27:27 +00:00
svenbarth
96116a6c3a Several adjustments because virtual methods in helpers are just normal methods and a VMT isn't generated for them either.
* $CPU/cgcpu.pas: disable the generation of VMT loading code
* dbgstabs.pas, dbgdwarf.pas: treat virtual methods of helpers as normal methods
* ncgcal.pas: don't register virtual helper methods for WPO 
* ncgrtti.pas: write virtual helper methods as normal methods to RTTI
* nobj.pas: correctly handle final and override cases in helpers
* pdecvar.pas: property getters
* rautils.pas: no VMT offset in records

git-svn-id: branches/svenbarth/classhelpers@17150 -
2011-03-20 10:41:45 +00:00
florian
0bdd15e0da + added cwindirs for the time being to the compiler dir till a release with windirs in the rtl is released
git-svn-id: trunk@17149 -
2011-03-19 22:48:56 +00:00
joost
3c6bb40c52 * Samplecfg now uses fpcmkcfg to create the configuration files
git-svn-id: trunk@17148 -
2011-03-19 22:09:47 +00:00
marco
3a12f018f4 * Updated statfs to FreeBSD5+ level. Used a statfs union to provide some backwards compat.
git-svn-id: trunk@17147 -
2011-03-19 21:43:36 +00:00