Recent

Author Topic: Concat RTL function source implementation.  (Read 1646 times)

BSaidus

  • Hero Member
  • *****
  • Posts: 545
  • lazarus 1.8.4 Win8.1 / cross FreeBSD
Concat RTL function source implementation.
« on: January 28, 2015, 02:54:46 pm »
Hi!
I've seek everywhere in source code of fpc-2.6.4 to find the implementation of the
Code: [Select]
Concat(..) function but nothing found.
Can you tel me where to find it .
Thanks.
lazarus 1.8.4 Win8.1 / cross FreeBSD
dhukmucmur vernadh!

BSaidus

  • Hero Member
  • *****
  • Posts: 545
  • lazarus 1.8.4 Win8.1 / cross FreeBSD
Re: Concat RTL function source implementation.
« Reply #1 on: January 28, 2015, 03:13:16 pm »
I think the :
Code: [Select]
in_concat_x  (alias) is the real one, isn' it??
lazarus 1.8.4 Win8.1 / cross FreeBSD
dhukmucmur vernadh!

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11453
  • FPC developer.
Re: Concat RTL function source implementation.
« Reply #2 on: January 28, 2015, 04:14:13 pm »
concat is an intrinsic, in other words, there is no real source for it, as the compiler generates code on the fly.

Depending on argument types, there can be several different RTL helpers involved, or even non at all.

Most common Intrinsics are declared for documentation purposes in rtl/inc/system.fpd. If a function is in there, it is not a "normal" function/procedure.

Afaik concat uses helpers with "concat" in the declaration in rtl/inc/sstrings.inc for shortstrings, rtl/inc/astrings.inc for ansistrings and rtl/inc/ustrings.inc for unicodestrings etc.

BSaidus

  • Hero Member
  • *****
  • Posts: 545
  • lazarus 1.8.4 Win8.1 / cross FreeBSD
Re: Concat RTL function source implementation.
« Reply #3 on: January 29, 2015, 08:32:50 am »
ok doki ! thnx
lazarus 1.8.4 Win8.1 / cross FreeBSD
dhukmucmur vernadh!

 

TinyPortal © 2005-2018