.. |
alpha
|
515774b864
* merged armthum branch
|
16 ani în urmă |
arm
|
b4c8c73e70
* changed tf_use_function_relative_addresses into an assembler flag (with
|
15 ani în urmă |
avr
|
515774b864
* merged armthum branch
|
16 ani în urmă |
html
|
fa0d3d79e0
no message
|
23 ani în urmă |
i386
|
34227e811d
+ patch by Sven Barth to add native NT rtl support to the compiler, resolves #14886
|
15 ani în urmă |
ia64
|
32098ceea9
* first iA-64 register stuff
|
19 ani în urmă |
m68k
|
515774b864
* merged armthum branch
|
16 ani în urmă |
mips
|
2fbf2df137
* sunos is not supported on mips
|
15 ani în urmă |
msg
|
d56bd6d246
* give better error messages if an operator is not overloaded
|
15 ani în urmă |
powerpc
|
4838ebe73b
* renamed mark_InlineStart/mark_InlineEnd to mark_NoLineinfoStart/
|
15 ani în urmă |
powerpc64
|
62c1781bea
+ mw_pascal calling convention support for ARM, ppc64 and x86_64: identical
|
16 ani în urmă |
ppcgen
|
b4c8c73e70
* changed tf_use_function_relative_addresses into an assembler flag (with
|
15 ani în urmă |
sparc
|
04f0544570
* fix stabs/dwarf register numbers for GDB
|
15 ani în urmă |
systems
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
utils
|
8166148a37
compiler: 'static' keyword:
|
15 ani în urmă |
vis
|
b7fe6797bf
Merged revisions 2921-2922,2925 via svnmerge from
|
19 ani în urmă |
x86
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
x86_64
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
COPYING.txt
|
4bf254bc32
* added .txt extensions to all README, TODO and COPYING files
|
16 ani în urmă |
MPWMake
|
05d6f0e94d
macos: added a fake sysutils for use by compiler, and fixed some tests
|
19 ani în urmă |
Makefile
|
092823308a
+ mips(el) support in the compiler makefile
|
15 ani în urmă |
Makefile.fpc
|
092823308a
+ mips(el) support in the compiler makefile
|
15 ani în urmă |
README.txt
|
4bf254bc32
* added .txt extensions to all README, TODO and COPYING files
|
16 ani în urmă |
aasmbase.pas
|
edacea82be
* changed assembler directives for darwin lazy/non-lazy symbol pointers
|
16 ani în urmă |
aasmdata.pas
|
b5e7b3e1e7
o patch by Sergei Gorelkin which basically resolves #14308 (still misses some tests):
|
15 ani în urmă |
aasmsym.pas
|
a23fa2e81e
* moved (unfinished) routines related to writing taicpu's to ppu files
|
18 ani în urmă |
aasmtai.pas
|
4838ebe73b
* renamed mark_InlineStart/mark_InlineEnd to mark_NoLineinfoStart/
|
15 ani în urmă |
aggas.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
aopt.pas
|
666b4e2469
* fixed range errors in label bookkeeping that caused too much memory to be
|
15 ani în urmă |
aoptbase.pas
|
f97730f73f
* use labelCanBeSkipped as used by i386 in generic optimizer code too
|
16 ani în urmă |
aoptcs.pas
|
b7fe6797bf
Merged revisions 2921-2922,2925 via svnmerge from
|
19 ani în urmă |
aoptda.pas
|
1f6ec379de
* moved field definitions before method/property definitions (see mantis
|
16 ani în urmă |
aoptobj.pas
|
666b4e2469
* fixed range errors in label bookkeeping that caused too much memory to be
|
15 ani în urmă |
asmutils.pas
|
b5e7b3e1e7
o patch by Sergei Gorelkin which basically resolves #14308 (still misses some tests):
|
15 ani în urmă |
assemble.pas
|
d1538ab023
o added ARM VPFv2/VFPv3 support:
|
15 ani în urmă |
browcol.pas
|
2635212ebc
* fixed warnings and removed unused "Current_moduleIndex" global variable
|
16 ani în urmă |
bsdcompile
|
26081ed999
* Simple script which specifies the right params for a try out BSD build
|
25 ani în urmă |
catch.pas
|
fd070544db
- disabled installation of SIGINT signal handler for Darwin, because
|
16 ani în urmă |
ccharset.pas
|
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
|
17 ani în urmă |
cclasses.pas
|
c6c15f6533
compiler: revert r14244
|
16 ani în urmă |
cfidwarf.pas
|
491f0fa1d8
* Replaced all user defined warnings by TODO comments to reduce compiler noise.
|
17 ani în urmă |
cfileutl.pas
|
c11243c83d
* made MorphOS build to cycle again: fixed path_absolute() for Amiga and MorphOS, and fixed AllFilesMask for MorphOS
|
16 ani în urmă |
cg64f32.pas
|
d1538ab023
o added ARM VPFv2/VFPv3 support:
|
15 ani în urmă |
cgbase.pas
|
e5ebb2a26e
* started to integrate the code of David Zhang's MIPS code from fpc-mips on sf into fpc trunk
|
16 ani în urmă |
cgobj.pas
|
d1538ab023
o added ARM VPFv2/VFPv3 support:
|
15 ani în urmă |
cgutils.pas
|
e5ebb2a26e
* started to integrate the code of David Zhang's MIPS code from fpc-mips on sf into fpc trunk
|
16 ani în urmă |
cmsgs.pas
|
64ddae4eff
+ -vq parameter to show message numbers
|
17 ani în urmă |
comphook.pas
|
64ddae4eff
+ -vq parameter to show message numbers
|
17 ani în urmă |
compiler.pas
|
34227e811d
+ patch by Sven Barth to add native NT rtl support to the compiler, resolves #14886
|
15 ani în urmă |
compinnr.inc
|
5885866990
+ support for objcencode() (equivalent of Objective-C's @encode()) + test
|
16 ani în urmă |
comprsrc.pas
|
d3fdf8b17f
* fixed calling windres: don't create short names with forward slashes for output file name, becaause it fails, if the output file does not yet exist. Short names are only required for parameters that windres pass on to the preprocessor.
|
16 ani în urmă |
constexp.pas
|
04606982ac
* fixed evaluation of "mod" operator for tconstexprint with signed operands
|
15 ani în urmă |
cp1251.pas
|
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
|
17 ani în urmă |
cp437.pas
|
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
|
17 ani în urmă |
cp850.pas
|
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
|
17 ani în urmă |
cp866.pas
|
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
|
17 ani în urmă |
cp8859_1.pas
|
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
|
17 ani în urmă |
cp8859_5.pas
|
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
|
17 ani în urmă |
crefs.pas
|
851b00f8e9
* more properties fixed
|
16 ani în urmă |
cresstr.pas
|
b5e7b3e1e7
o patch by Sergei Gorelkin which basically resolves #14308 (still misses some tests):
|
15 ani în urmă |
cstreams.pas
|
71193c0f2c
* fixed bootstrapping with 2.0.4
|
18 ani în urmă |
cutils.pas
|
a149674a75
Merged revisions 13458-13596 via svnmerge from
|
16 ani în urmă |
dbgbase.pas
|
671f8a1d30
* always immediately reset isdbgwritten for syms in the parasymtable,
|
16 ani în urmă |
dbgdwarf.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
dbgstabs.pas
|
b4c8c73e70
* changed tf_use_function_relative_addresses into an assembler flag (with
|
15 ani în urmă |
defcmp.pas
|
5d01732128
* several fixes which improve the behaviour of nested generics, resolves #15077
|
16 ani în urmă |
defutil.pas
|
ed9656d1e6
Merged revisions 13627-13631,13637-13638,13640,13642-13648,13650-13653,13656-13658,13660,13664-13667,13672-13675,13680,13682,13687 via svnmerge from
|
16 ani în urmă |
export.pas
|
6f3bace0f3
+ support for exporting Objective-C classes from dynamic libraries. It works
|
16 ani în urmă |
expunix.pas
|
617e1b9b10
* handle i386/x86_64 solaris pic as for linux
|
15 ani în urmă |
finput.pas
|
8dbc728926
* changed InputFileBufSize from 32kb to 32kb+1byte, because the last
|
16 ani în urmă |
fmodule.pas
|
1743c6f1a8
* also recompile a unit if class/object definitions in indirectly used
|
15 ani în urmă |
fpccrc.pas
|
793fd8fc09
* Add -Xg to help pages
|
17 ani în urmă |
fpcdefs.inc
|
28ac4a8dda
* several mips/mipsel related stuff fixed
|
15 ani în urmă |
fppu.pas
|
7592388858
* the parameter to flagdependent() is not the ppu for which to flag the
|
15 ani în urmă |
gendef.pas
|
caf0096877
* enabled version and description directive for all windows
|
16 ani în urmă |
globals.pas
|
e5ebb2a26e
* started to integrate the code of David Zhang's MIPS code from fpc-mips on sf into fpc trunk
|
16 ani în urmă |
globtype.pas
|
8166148a37
compiler: 'static' keyword:
|
15 ani în urmă |
htypechk.pas
|
d56bd6d246
* give better error messages if an operator is not overloaded
|
15 ani în urmă |
impdef.pas
|
f1067607b6
+ workaround for non-working dircache on morphos/amiga
|
18 ani în urmă |
import.pas
|
bf1c390027
* refactor import library generation
|
19 ani în urmă |
link.pas
|
1f6ec379de
* moved field definitions before method/property definitions (see mantis
|
16 ani în urmă |
msgidx.inc
|
d56bd6d246
* give better error messages if an operator is not overloaded
|
15 ani în urmă |
msgtxt.inc
|
d56bd6d246
* give better error messages if an operator is not overloaded
|
15 ani în urmă |
nadd.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
nbas.pas
|
060bdbcb47
* fix writing of goto node to ppu
|
17 ani în urmă |
ncal.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
ncgadd.pas
|
0e96a159c8
* enabled pushing (x87) fpu registers in case too few might be available
|
15 ani în urmă |
ncgbas.pas
|
40cea8d4d5
* handle mm register properly when used as top_local, resolves #14566
|
15 ani în urmă |
ncgcal.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
ncgcnv.pas
|
d1538ab023
o added ARM VPFv2/VFPv3 support:
|
15 ani în urmă |
ncgcon.pas
|
b084d70ae4
compiler: cleanup - remove unused variables
|
15 ani în urmă |
ncgflw.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
ncginl.pas
|
2c3c6d27d3
* fixed range checking for inc/dec when mixing unsigned and signed types
|
15 ani în urmă |
ncgld.pas
|
d1538ab023
o added ARM VPFv2/VFPv3 support:
|
15 ani în urmă |
ncgmat.pas
|
0d57b2d8da
* use 3 op cgobj methods when doing shl/shr code generation, this allows the cg to generate better code on risc archs having 3 operand shifts
|
15 ani în urmă |
ncgmem.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
ncgobjc.pas
|
b084d70ae4
compiler: cleanup - remove unused variables
|
15 ani în urmă |
ncgopt.pas
|
7d459cf12a
* the compiler now explicitly keeps track of the minimally guaranteed
|
16 ani în urmă |
ncgrtti.pas
|
9896f48317
* Fix for RTTI alignment from Paul
|
15 ani în urmă |
ncgset.pas
|
749e791768
* fixed in-code for big endian systems and smallsets < 4 bytes
|
16 ani în urmă |
ncgutil.pas
|
b2be0445bb
* reenable ssa on function results if no exit is used, this was broken in r8578
|
15 ani în urmă |
ncnv.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
ncon.pas
|
448f3d99c1
* cleanup of case <string> of code by Sergei Gorelkin, resolves #13700
|
15 ani în urmă |
nflw.pas
|
e520a2b941
compiler: for-in loop: fix temporary array range type
|
16 ani în urmă |
ninl.pas
|
83c3e7a94b
* fixed pred/succ for integer constants that equal the low/high bound of a
|
15 ani în urmă |
nld.pas
|
280f27b45c
* store/restore trttinode.rttidatatype to/from ppu file, and also copy it in
|
15 ani în urmă |
nmat.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
nmem.pas
|
10cfba3b28
* convert booleans to the actual array index type (mantis #15364)
|
15 ani în urmă |
nobj.pas
|
dab642986e
* patch by Sergei Gorelkin, fixes several issues with implements, resolves #15209
|
15 ani în urmă |
nobjc.pas
|
3660bf7f98
* integrated the transformation of an Objective-C method call into a call
|
16 ani în urmă |
node.pas
|
3660bf7f98
* integrated the transformation of an Objective-C method call into a call
|
16 ani în urmă |
nopt.pas
|
6b8aed593f
* remove registers{int/mmx/fpu} from firstpass
|
18 ani în urmă |
nset.pas
|
448f3d99c1
* cleanup of case <string> of code by Sergei Gorelkin, resolves #13700
|
15 ani în urmă |
nstate.pas
|
790a4fe2d3
* log and id tags removed
|
20 ani în urmă |
nutils.pas
|
fdb67a28ab
* node complexity of subscribing increased because it's not only a simple operation to a register but requires a memory access
|
15 ani în urmă |
objcgutl.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
objcutil.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
ogbase.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
ogcoff.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
ogelf.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
oglx.pas
|
658c46b903
* remove tdictionary and tindexarray
|
19 ani în urmă |
ogmap.pas
|
5e11e697b4
* Use unsigned integers for sizes and positions to break 2GB limit in tdynamicarray, object writer, internal linker, coff and PE headers.
|
17 ani în urmă |
optbase.pas
|
b084d70ae4
compiler: cleanup - remove unused variables
|
15 ani în urmă |
optcse.pas
|
701d911f58
* continued on node cse
|
15 ani în urmă |
optdead.pas
|
1597aac6d2
* first search for gnm and only then for nm
|
16 ani în urmă |
optdfa.pas
|
9955e6b2bf
* dfa fixes by Sergei Gorelkin, resolve #15402
|
15 ani în urmă |
options.pas
|
8166148a37
compiler: 'static' keyword:
|
15 ani în urmă |
optloop.pas
|
c0d4efed2e
* forbid passing derived classes to call by reference parent classes (for objects, this is still allowed), resolves #13135
|
16 ani în urmă |
opttail.pas
|
6434772c3c
* error message when a goto label is optimized away
|
18 ani în urmă |
optutils.pas
|
db196d76c2
+ strength reduction for array accesses inside for loops
|
17 ani în urmă |
optvirt.pas
|
c6b5038d5e
* removed unnecessary internalerror triggered when reading wpo info for a
|
16 ani în urmă |
owar.pas
|
5e11e697b4
* Use unsigned integers for sizes and positions to break 2GB limit in tdynamicarray, object writer, internal linker, coff and PE headers.
|
17 ani în urmă |
owbase.pas
|
5e11e697b4
* Use unsigned integers for sizes and positions to break 2GB limit in tdynamicarray, object writer, internal linker, coff and PE headers.
|
17 ani în urmă |
parabase.pas
|
7d459cf12a
* the compiler now explicitly keeps track of the minimally guaranteed
|
16 ani în urmă |
paramgr.pas
|
cc5aeb09de
* fixed handling the result value of functions where the result type is
|
16 ani în urmă |
parser.pas
|
04402dd6cc
* initialize allow_array_constructor for each compilation run, fixes probably #12283
|
16 ani în urmă |
pass_1.pas
|
39c1c4c199
* improved code generation by reducing the usage of unneeded temps due to incorrect
|
16 ani în urmă |
pass_2.pas
|
f54ea1e9f9
* fix compilation with -dEXTDEBUG
|
16 ani în urmă |
pbase.pas
|
e784ec1079
merge revisions 13898-13899:
|
16 ani în urmă |
pdecl.pas
|
f8754d8fab
+ Objective-C category support (old and new ABI, both external and
|
16 ani în urmă |
pdecobj.pas
|
f8754d8fab
+ Objective-C category support (old and new ABI, both external and
|
16 ani în urmă |
pdecsub.pas
|
8166148a37
compiler: 'static' keyword:
|
15 ani în urmă |
pdecvar.pas
|
9cc211e88e
* changed {$align mac68k} from an alias for {$packrecords 2} to a proper
|
15 ani în urmă |
pexports.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
pexpr.pas
|
ea88883915
compiler: fix access to static class fields from the static class methods + extended test
|
15 ani în urmă |
pinline.pas
|
6a6a6a6e6f
* Copy() with WideChar array or PWideChar parameter should use fpc_unicodestr_copy compilerproc, since fpc_widestr_copy is available only on Windows. Bug #14307.
|
16 ani în urmă |
pmodules.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
pp.lpi
|
eee6658a46
revert occasionally committed pp.lpi
|
16 ani în urmă |
pp.pas
|
6e8a6790d1
+ FPC_ARMEB and CPUARMEB similiar to FPC_ARMEL and CPUARMEL
|
16 ani în urmă |
ppc.cfg
|
9465a13e71
+ Delphi 6 configuration file
|
23 ani în urmă |
ppc.conf
|
add30a428e
* Kylix fixes, mostly case names of units
|
24 ani în urmă |
ppc.dof
|
67486c96c3
* fixes for Delphi 6 compilation
|
23 ani în urmă |
ppc68k.lpi
|
ab217ca748
* lpi version increased
|
16 ani în urmă |
ppcarm.lpi
|
ab217ca748
* lpi version increased
|
16 ani în urmă |
ppcavr.lpi
|
ab217ca748
* lpi version increased
|
16 ani în urmă |
ppcmipsel.lpi
|
4fd2aa297a
Adds mipsel lazarus project
|
15 ani în urmă |
ppcppc.lpi
|
ab217ca748
* lpi version increased
|
16 ani în urmă |
ppcsparc.lpi
|
ab217ca748
* lpi version increased
|
16 ani în urmă |
ppheap.pas
|
ef7bd58c54
* germanism removed (aktfilepos -> current_filepos)
|
19 ani în urmă |
ppu.pas
|
b3a1833e0f
* lowered symbol length at which we start shortening it with a crc so
|
15 ani în urmă |
ppx86_64.lpi
|
ab217ca748
* lpi version increased
|
16 ani în urmă |
procinfo.pas
|
7d459cf12a
* the compiler now explicitly keeps track of the minimally guaranteed
|
16 ani în urmă |
pstatmnt.pas
|
448f3d99c1
* cleanup of case <string> of code by Sergei Gorelkin, resolves #13700
|
15 ani în urmă |
psub.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
psystem.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
ptconst.pas
|
b5e7b3e1e7
o patch by Sergei Gorelkin which basically resolves #14308 (still misses some tests):
|
15 ani în urmă |
ptype.pas
|
dd94f5cf2b
* no longer allow typed files of reference counted data (mantis #15447)
|
15 ani în urmă |
raatt.pas
|
cc911887a8
* undo accidently committed changes from r11398
|
17 ani în urmă |
rabase.pas
|
b7fe6797bf
Merged revisions 2921-2922,2925 via svnmerge from
|
19 ani în urmă |
rasm.pas
|
1684a6fc32
* replaced tdictionary with tfphashlist
|
19 ani în urmă |
rautils.pas
|
56bd6e830e
compiler: fix assembler constant expressions evaluation + fully enable appropriate test
|
15 ani în urmă |
regvars.pas
|
491f0fa1d8
* Replaced all user defined warnings by TODO comments to reduce compiler noise.
|
17 ani în urmă |
rescmn.pas
|
174de3eab1
Merged revisions 9693-10480 via svnmerge from
|
17 ani în urmă |
rgbase.pas
|
790a4fe2d3
* log and id tags removed
|
20 ani în urmă |
rgobj.pas
|
d1538ab023
o added ARM VPFv2/VFPv3 support:
|
15 ani în urmă |
scandir.pas
|
9cc211e88e
* changed {$align mac68k} from an alias for {$packrecords 2} to a proper
|
15 ani în urmă |
scanner.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
script.pas
|
446e2161ce
+ Made a single Amiga/MorphOS-specific PathConv import to cfileutl.pas, instead of importing it every single place it is needed.
|
16 ani în urmă |
switches.pas
|
a7e02c7948
* check validity of calling conventions specified using {$calling x}
|
16 ani în urmă |
symbase.pas
|
5a2ccfff52
--WARNING: start build process with FPC 2.2.4; won't work when
|
16 ani în urmă |
symconst.pas
|
9cc211e88e
* changed {$align mac68k} from an alias for {$packrecords 2} to a proper
|
15 ani în urmă |
symdef.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
symnot.pas
|
790a4fe2d3
* log and id tags removed
|
20 ani în urmă |
symsym.pas
|
4989a1016f
compiler: don't use non-visible for current unit assignment and enumerator operators (fixes test webtbf/tw4103)
|
15 ani în urmă |
symtable.pas
|
9cc211e88e
* changed {$align mac68k} from an alias for {$packrecords 2} to a proper
|
15 ani în urmă |
symtype.pas
|
e784ec1079
merge revisions 13898-13899:
|
16 ani în urmă |
symutil.pas
|
9adb202a92
* Rework the constexprint to allow operations from low(int64) to high(qword).
|
18 ani în urmă |
systems.pas
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 ani în urmă |
tgobj.pas
|
718694d1d6
* always specify an explicit alignment for tgobj.gettemp (so e.g.
|
17 ani în urmă |
tokens.pas
|
f8754d8fab
+ Objective-C category support (old and new ABI, both external and
|
16 ani în urmă |
verbose.pas
|
e5920bc2b8
* delay verbosity changes just like localswitches changes
|
17 ani în urmă |
version.pas
|
8bd552b7b3
* version 2.5.1
|
16 ani în urmă |
widestr.pas
|
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
|
17 ani în urmă |
wpo.pas
|
060d81b8fa
Merged revisions 11878,11881-11882,11889,11891-11893,11895,11899-11902,11935,11938,12212,12304,12308-12310,12316,12330-12332,12334,12339-12340 via svnmerge from
|
16 ani în urmă |
wpobase.pas
|
7bff50becd
* give an error message when the specified wpo feedback input file
|
16 ani în urmă |
wpoinfo.pas
|
1743c6f1a8
* also recompile a unit if class/object definitions in indirectly used
|
15 ani în urmă |