fpc/compiler/jvm
Jonas Maebe 76de70e683 * since enums are represented by classes in the JVM, initialize global
variables, class/record fields and arrays with enumtype(0) on
    creation, so that using them without explicitly initializing them
    doesn't cause a null-pointer exception. If enumtype(0) is not a
    valid enum, they are not initialized (and since they wouldn't have
    a valid value on native targets either in that case, an exception
    on use is acceptable)

git-svn-id: branches/jvmbackend@18755 -
2011-08-20 08:33:02 +00:00
..
aasmcpu.pas + support for (formal/untyped) constants (ordinal, floating point, 2011-08-20 07:55:41 +00:00
cgcpu.pas * removed unused local variables 2011-08-20 07:54:37 +00:00
cpubase.pas + cpubase for jvm: opcodes, basic register definitions, ... 2011-08-20 07:35:32 +00:00
cpuinfo.pas * fixed compilation 2011-08-20 07:36:22 +00:00
cpunode.pas + full support for sets on the JVM target 2011-08-20 08:22:22 +00:00
cpupara.pas + support for formal var/out parameters on the JVM target: 2011-08-20 08:23:33 +00:00
cpupi.pas + tjvmprocinfo, only overrides set_first_temp_offset() and sets it to 2011-08-20 07:37:20 +00:00
cputarg.pas + support for JVM local variable and parameter debug information 2011-08-20 07:50:41 +00:00
dbgjasm.pas + support for emiting "signature" attributes for fields and methods; these 2011-08-20 08:08:00 +00:00
hlcgcpu.pas * since enums are represented by classes in the JVM, initialize global 2011-08-20 08:33:02 +00:00
itcpujas.pas + jvm (cpu architecure) and java ("OS"/target) identifiers 2011-08-20 07:37:33 +00:00
jvmreg.dat + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
njvmadd.pas + full support for sets on the JVM target 2011-08-20 08:22:22 +00:00
njvmcal.pas * always create a new call node when replacing virtual class method calls 2011-08-20 08:30:38 +00:00
njvmcnv.pas * fixed handling of currency in int_to_int conversions 2011-08-20 08:31:12 +00:00
njvmcon.pas * since enums are represented by classes in the JVM, initialize global 2011-08-20 08:33:02 +00:00
njvmflw.pas * converted all enum handling for the JVM target so that it uses the 2011-08-20 08:15:54 +00:00
njvminl.pas + import java.lang.Math in the system unit 2011-08-20 08:31:24 +00:00
njvmld.pas + support for procedural variables for the JVM target 2011-08-20 08:24:58 +00:00
njvmmat.pas + support for qword div/mod via helper (the JVM only supports signed 2011-08-20 08:07:02 +00:00
njvmmem.pas * allow taking the address of var-parameters in normal Pascal code (not just 2011-08-20 08:29:11 +00:00
njvmset.pas * convert non-constant enums in in-expressions to longint if we use the 2011-08-20 08:25:33 +00:00
njvmtcon.pas + full support for sets on the JVM target 2011-08-20 08:22:22 +00:00
njvmutil.pas * when the user calls initialize(), force initialization to happen on the 2011-08-20 08:23:16 +00:00
rgcpu.pas * fixed memory leak 2011-08-20 08:13:36 +00:00
rjvmcon.inc + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
rjvmnor.inc + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
rjvmnum.inc + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
rjvmrni.inc + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
rjvmsri.inc + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
rjvmstd.inc + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
rjvmsup.inc + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
tgcpu.pas * don't initialize static arrays of records twice (g_newarray already 2011-08-20 08:32:52 +00:00