in a single statement, to be added later)
o the unicodestrings are internally simply java.lang.String instances
o at the language level, the unicodestrings are assignment-compatible
with java.lang.String
o constant strings can be implicitly converted to java.lang.String
o since java.lang.String is immutable, in particular changing a
single character in a string is extremely inefficient. This could
be solved by letting unicodestring map to java.lang.StringBuilder,
but that would make integration with plain Java code harder
git-svn-id: branches/jvmbackend@18470 -
generated from Pascal source code, but they will be generated by the
JVM backend to construct new array instances
git-svn-id: branches/jvmbackend@18374 -
- extend tok2node array to store inline function number for the case when nodetype = inlinen, add Inc, Dec operators to array
- implement inline function support in isunaryoverloaded
- check for operator overload if Inc, Dec is not used for standard types
- extend test to check Inc,Dec operators
git-svn-id: trunk@16629 -
they are constants (instead of only on 32 bit systems), and always use the
actual upper/lower bound of the loop variable instead of hardcoding the
bounds of longint (mantis #17646)
git-svn-id: trunk@16213 -
from the unit initialisation sections to the variable declaration sections
to prevent the base units from overriding derived classes (based on patch
by Hans-Peter Dietrich, mantis #17516)
git-svn-id: trunk@16118 -
that was set during the typecheck pass because typeconversion nodes
may have been optimised away previously and sometimes the resultdef is
important (e.g. for the value of callparanodes) (mantis #17458)
git-svn-id: trunk@16101 -
pointer, because that will force "value" to become unsigned, which
result in errors in case of negative 64bit constants in case they
are multiplied by the size of the pointed type in ncginl (the
tconstexprint type operators have to handle positive and
negative numbers differently) (mantis #17342)
git-svn-id: trunk@15951 -
- add own symbol table for enumeration to store enumeration elements
- reimplement enumeration member traverse using symbol table instead of firstenum/nextenum - that members are removed
- implement TEnum.Element access syntax - element is searched in the enumeration symtable in this case instead of global/local symtables
- implement {$SCOPEDENUM ON/OFF} local switch
+ tests
git-svn-id: trunk@15051 -
properties/behaviour of the equivalent of Extended in C (i.e., to
"long double" on i386 and x86_64 platforms that support a 10 byte
long double, and to "double" elsewhere)
git-svn-id: trunk@14912 -
Objective-C methods or which are fields of Objective-C classes (since they
are basically opaque to the Objective-C runtime) + fixed tobjc11 so it
expects classes to be encoded as opaque types
* give a proper error message when using illegal field/parameter types in
Objective-C classes/methods instead of an internal error (only checked
during rtti generation rather than during parsing, because during parsing
some types may still be forwarddefs)
* split objcutil in objcdef and objcutil, with objcdef depending only on
the symtable so it can be used in symdef
git-svn-id: trunk@14838 -
(mantis #14841)
-> this also makes it impossible now to use constructs such as
inc(qword_var,-1) with range checking enabled, because that would require
a conversion to 128 bit for proper evaluation
git-svn-id: trunk@14260 -
associated with an Objective-C protocol. Code generator part will
always generate an internalerror currently, because it cannot yet
be implemented (needs support for generating RTTI for Objective-C
classes)
git-svn-id: branches/objc@13461 -
the use of Objective-C 1.0 constructs. Because it is a mode switch, it
can be used cumulatively with every syntax mode. Note that a {$mode xxx}
statement resets all mode switches as well, so you cannot use the
-Mobjectivec1 variant if you have such a statement in a unit. This
modeswitch is currently only enabled for Darwin/PowerPC and Darwin/i386,
as the backend support is not yet implemented for other platforms.
+ implemented selector() statement that can be used to create an Objective-C
selector for the message with the specified *constant* name (in the future,
it will also work for Objective-C method identifiers)
+ added SEL type to the system unit (the selector() statement returns it)
+ added all Objective-C segments to the assembler writers
+ (currently mostly dummy) objc1 unit that is automatically included if the
{$modeswitch objectivec1} statement is used
+ some tests for the selector() statement
git-svn-id: trunk@12870 -