Miguel de Icaza [Thu, 27 Sep 2001 17:43:26 +0000 (17:43 -0000)]
2001-09-27 Miguel de Icaza <miguel@ximian.com>
* expression.cs (Cast::Resolve): First resolve the child expression.
svn path=/trunk/mcs/; revision=1010
Miguel de Icaza [Thu, 27 Sep 2001 17:36:55 +0000 (17:36 -0000)]
2001-09-27 Miguel de Icaza <miguel@ximian.com>
* expression.cs (LValue): Add new method AddressOf to be used by
the `&' operator.
Change the argument of Store to take an EmitContext instead of an
ILGenerator, because things like FieldExpr need to be able to call
their children expression to generate the instance code.
(Expression::Error, Expression::Warning): Sugar functions for
reporting errors.
(Expression::MemberLookup): Accept a TypeContainer instead of a
Report as the first argument.
(Expression::ResolvePrimary): Killed. I still want to improve
this as currently the code is just not right.
(Expression::ResolveMemberAccess): Simplify, but it is still
wrong.
(Unary::Resolve): Catch errors in AddressOf operators.
(LocalVariableReference::Emit, ::Store, ::AddressOf): typecast
index to a byte for the short-version, or the compiler will choose
the wrong Emit call, which generates the wrong data.
(ParameterReference::Emit, ::Store): same.
(FieldExpr::AddressOf): Implement.
* typemanager.cs: TypeManager: made public variable instead of
property.
* driver.cs: document --fatal.
* report.cs (ErrorMessage, WarningMessage): new names for the old
Error and Warning classes.
* cs-parser.jay (member_access): Turn built-in access to types
into a normal simplename
svn path=/trunk/mcs/; revision=1009
Ravi Pratap M [Thu, 27 Sep 2001 17:17:18 +0000 (17:17 -0000)]
Fix bug in BetterConversion and in ConvertImplicit
svn path=/trunk/mcs/; revision=1007
Paolo Molaro [Thu, 27 Sep 2001 17:05:26 +0000 (17:05 -0000)]
Add tests again so that they are included in make dist.
svn path=/trunk/mono/; revision=1006
Paolo Molaro [Thu, 27 Sep 2001 15:49:54 +0000 (15:49 -0000)]
Thu Sep 27 21:45:55 CEST 2001 Paolo Molaro <lupus@ximian.com>
* rawbuffer.c: disable mmap on cygwin since it seems to be broken there.
svn path=/trunk/mono/; revision=1005
Paolo Molaro [Thu, 27 Sep 2001 13:57:46 +0000 (13:57 -0000)]
Thu Sep 27 19:52:11 CEST 2001 Paolo Molaro <lupus@ximian.com>
* class.c, loader.c: warn and return NULL instead of erroring out.
* icall.c: added System.AppDomain::getCurDomain().
* loader.c: we don't need to lookup the typedef again for p/invoke calls.
svn path=/trunk/mono/; revision=1004
Paolo Molaro [Thu, 27 Sep 2001 13:51:14 +0000 (13:51 -0000)]
Some more stubs and fixes.
svn path=/trunk/mcs/; revision=1003
Miguel de Icaza [Thu, 27 Sep 2001 13:39:40 +0000 (13:39 -0000)]
Add more tests to compare our cast code
svn path=/trunk/mcs/; revision=1002
Ravi Pratap M [Thu, 27 Sep 2001 12:51:06 +0000 (12:51 -0000)]
2001-09-27 Ravi Pratap <ravi@ximian.com>
* expression.cs (UserImplicitCast::Resolve): Fix bug.
svn path=/trunk/mcs/; revision=1001
Ravi Pratap M [Thu, 27 Sep 2001 12:43:56 +0000 (12:43 -0000)]
2001-09-27 Ravi Pratap <ravi@ximian.com>
* test-7.cs : Uncomment lines True operator overload now works.
svn path=/trunk/mcs/; revision=1000
Miguel de Icaza [Thu, 27 Sep 2001 12:27:08 +0000 (12:27 -0000)]
Add a comment to Cast type
svn path=/trunk/mcs/; revision=999
Dietmar Maurer [Thu, 27 Sep 2001 11:43:34 +0000 (11:43 -0000)]
cleanup
svn path=/trunk/mono/; revision=998
Dietmar Maurer [Thu, 27 Sep 2001 10:41:13 +0000 (10:41 -0000)]
2001-09-27 Dietmar Maurer <dietmar@ximian.com>
* testjit.c: impl. LDIND/STIND/LDLOCA, use g_malloc to alloc static
data.
(map_stind_type): support enum types
(map_ldind_type): support enum types
* emit-x86.c (tree_allocate_regs): added code to support
register allocation for addressing modes trees.
(tree_emit): bug fix: we have to emit all mono_burg_functins. The
previous impl. did not work for chain rules.
(compute_branches): support for SWITCH statements
* x86.brg: added rules to model x86 addressing modes
svn path=/trunk/mono/; revision=997
Miguel de Icaza [Thu, 27 Sep 2001 10:32:32 +0000 (10:32 -0000)]
Typo fix
svn path=/trunk/mono/; revision=996
Paolo Molaro [Thu, 27 Sep 2001 09:38:19 +0000 (09:38 -0000)]
Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
* x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
as basereg.
svn path=/trunk/mono/; revision=995
Ravi Pratap M [Thu, 27 Sep 2001 08:24:07 +0000 (08:24 -0000)]
2001-09-27 Ravi Pratap <ravi@ximian.com>
* class.cs (TypeContainer::AddConstructor): Fix a stupid bug
I had introduced long ago (what's new ?).
* expression.cs (UserImplicitCast::CanConvert): Static method to do
the work of all the checking.
(ConvertImplicit): Call CanConvert and only then create object if necessary.
(UserImplicitCast::CanConvert, ::Resolve): Re-write.
(Unary::Operator): Rename Add and Subtract to Addition and Subtraction because
that is the right way.
(Invocation::MakeUnionSet): Convenience function to make unions of sets for
overloading resolution. Use everywhere instead of cutting and pasting code.
(Binary::ResolveOperator): Use MakeUnionSet.
(UserImplicitCast::CanConvert, ::Resolve): Update to take care of the case when
we have to convert to bool types. Not complete yet.
svn path=/trunk/mcs/; revision=994
Ravi Pratap M [Thu, 27 Sep 2001 08:19:38 +0000 (08:19 -0000)]
2001-09-27 Ravi Pratap <ravi@ximian.com>
* test-7.cs : Revamp and add more operator tests. Still in progress.
* test-9,10.cs : Added by Miguel earlier.
svn path=/trunk/mcs/; revision=993
Miguel de Icaza [Thu, 27 Sep 2001 01:16:47 +0000 (01:16 -0000)]
2001-09-27 Miguel de Icaza <miguel@ximian.com>
* typemanager.cs (TypeManager::CSharpName): support ushort.
* expression.cs (Expression::TryImplicitIntConversion): Attempts
to provide an expression that performsn an implicit constant int
conversion (section 6.1.6).
(Expression::ConvertImplicitRequired): Reworked to include
implicit constant expression conversions.
(Expression::ConvertNumericExplicit): Finished.
(Invocation::Emit): If InstanceExpression is null, then it means
that we perform a call on this.
svn path=/trunk/mcs/; revision=992
Miguel de Icaza [Thu, 27 Sep 2001 00:43:59 +0000 (00:43 -0000)]
Add Explicit Number Conversion operator test
svn path=/trunk/mcs/; revision=991
Miguel de Icaza [Wed, 26 Sep 2001 20:40:58 +0000 (20:40 -0000)]
*** empty log message ***
svn path=/trunk/mcs/; revision=990
Miguel de Icaza [Wed, 26 Sep 2001 18:56:23 +0000 (18:56 -0000)]
2001-09-26 Miguel de Icaza <miguel@ximian.com>
* expression.cs (Unary::Emit): Remove some dead code.
svn path=/trunk/mcs/; revision=989
Miguel de Icaza [Wed, 26 Sep 2001 18:32:27 +0000 (18:32 -0000)]
2001-09-26 Miguel de Icaza <miguel@ximian.com>
* cs-parser.jay: Update operator constants.
* parameter.cs (Parameters::GetParameterInfo): Hook up VerifyArgs
(Parameters::GetSignature): Hook up VerifyArgs here.
(Parameters::VerifyArgs): Verifies that no two arguments have the
same name.
* class.cs (Operator): Update the operator names to reflect the
ones that the spec expects (as we are just stringizing the
operator names).
* expression.cs (Unary::ResolveOperator): Fix bug: Use
MethodInfo's ReturnType instead of LookupMethodByBuilder as the
previous usage did only work for our methods.
(Expression::ConvertImplicit): Handle decimal implicit numeric
conversions as well.
(Expression::InternalTypeConstructor): Used to invoke constructors
on internal types for default promotions.
(Unary::Emit): Implement special handling for the pre/post
increment/decrement for overloaded operators, as they need to have
the same semantics as the other operators.
(Binary::ResolveOperator): ditto.
(Invocation::ConversionExists): ditto.
(UserImplicitCast::Resolve): ditto.
svn path=/trunk/mcs/; revision=988
Sean MacIsaac [Wed, 26 Sep 2001 16:08:28 +0000 (16:08 -0000)]
fixed clean target
svn path=/trunk/mcs/; revision=987
Sean MacIsaac [Wed, 26 Sep 2001 16:04:13 +0000 (16:04 -0000)]
Don't build classes that reference WebRequest.
svn path=/trunk/mcs/; revision=986
Sean MacIsaac [Wed, 26 Sep 2001 11:17:23 +0000 (11:17 -0000)]
new version of nant that shouldn't cause security exception for win98
(lupus). i just removed the offending code. i'll look into a better
solution.
svn path=/trunk/mcs/; revision=985
Paolo Molaro [Wed, 26 Sep 2001 10:33:18 +0000 (10:33 -0000)]
Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
* x86/x86-codegen.h: added memindex addressing mode encoding
(and mov to/from register opcodes).
svn path=/trunk/mono/; revision=984
Sean MacIsaac [Wed, 26 Sep 2001 09:58:25 +0000 (09:58 -0000)]
changed target from unix to linux
svn path=/trunk/mcs/; revision=983
Sean MacIsaac [Wed, 26 Sep 2001 09:53:17 +0000 (09:53 -0000)]
Fixed some build problems (related to targets)
svn path=/trunk/mcs/; revision=982
Sean MacIsaac [Wed, 26 Sep 2001 09:51:04 +0000 (09:51 -0000)]
makefile: calls NAnt to build class libs
System/System.build: Exclude broken source files
corlib/Test/corlib_test.build: Exclude broken source files
svn path=/trunk/mcs/; revision=981
Dietmar Maurer [Wed, 26 Sep 2001 09:48:13 +0000 (09:48 -0000)]
*** empty log message ***
svn path=/trunk/mono/; revision=980
Sean MacIsaac [Wed, 26 Sep 2001 09:46:28 +0000 (09:46 -0000)]
Moved to corlib/Test
svn path=/trunk/mcs/; revision=979
Sean MacIsaac [Wed, 26 Sep 2001 09:44:54 +0000 (09:44 -0000)]
Moved to corlib/Test Directory
svn path=/trunk/mcs/; revision=978
Sean MacIsaac [Wed, 26 Sep 2001 09:42:52 +0000 (09:42 -0000)]
No longer used. New Platform Abstraction Layer used instead.
svn path=/trunk/mcs/; revision=977
Sean MacIsaac [Wed, 26 Sep 2001 09:38:27 +0000 (09:38 -0000)]
NAnt executable
svn path=/trunk/mcs/; revision=976
Sean MacIsaac [Wed, 26 Sep 2001 09:35:13 +0000 (09:35 -0000)]
NAnt build files and System.Data files moved to appropriate directory.
svn path=/trunk/mcs/; revision=975
Sean MacIsaac [Wed, 26 Sep 2001 09:25:02 +0000 (09:25 -0000)]
NAnt build files and test cases that CVS is giving me problems with.
svn path=/trunk/mcs/; revision=974
Sean MacIsaac [Wed, 26 Sep 2001 09:21:42 +0000 (09:21 -0000)]
Moved to old.
svn path=/trunk/mcs/; revision=973
Sean MacIsaac [Wed, 26 Sep 2001 09:19:25 +0000 (09:19 -0000)]
Test files. Will soon be moved into appropriate namespace directory.
svn path=/trunk/mcs/; revision=972
Sean MacIsaac [Wed, 26 Sep 2001 09:15:43 +0000 (09:15 -0000)]
Moving to NAnt.
svn path=/trunk/mcs/; revision=971
Sean MacIsaac [Wed, 26 Sep 2001 09:14:31 +0000 (09:14 -0000)]
Moved temporarily to old. Soon I will move them into the proper
namespace directories.
svn path=/trunk/mcs/; revision=970
Sean MacIsaac [Wed, 26 Sep 2001 09:11:29 +0000 (09:11 -0000)]
Removing old build files. NAnt doesn't use them.
svn path=/trunk/mcs/; revision=969
Ravi Pratap M [Wed, 26 Sep 2001 07:11:40 +0000 (07:11 -0000)]
2001-09-26 Ravi Pratap <ravi@ximian.com>
* expression.cs (Unary::Emit and Binary::Emit): If we have an overloaded
operator, return after emitting body. Regression tests pass again !
* expression.cs (ConvertImplicit): Take TypeContainer as first argument
(Unary::ForceConversion, Binary::ForceConversion): Ditto.
(Invocation::OverloadResolve): Ditto.
(Invocation::BetterFunction, BetterConversion, ConversionExists): Ditto.
* everywhere : update calls to the above methods accordingly.
svn path=/trunk/mcs/; revision=968
Ravi Pratap M [Wed, 26 Sep 2001 07:06:57 +0000 (07:06 -0000)]
2001-09-26 Ravi Pratap <ravi@ximian.com>
* test-7.cs : Update to return an exit code
* test-8.cs : Added by Miguel.
svn path=/trunk/mcs/; revision=967
Dietmar Maurer [Wed, 26 Sep 2001 06:38:36 +0000 (06:38 -0000)]
2001-09-26 Dietmar Maurer <dietmar@ximian.com>
* emit-x86.c (arch_compile_method): more documentation.
* testjit.c: moved the architecture specific things to emit-x86.c
and x86.brg. Added more documentation. code cleanup.
svn path=/trunk/mono/; revision=966
Mads Pultz [Wed, 26 Sep 2001 05:34:51 +0000 (05:34 -0000)]
*** empty log message ***
svn path=/trunk/mono/; revision=965
Mads Pultz [Wed, 26 Sep 2001 04:53:42 +0000 (04:53 -0000)]
* Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented.
* DnsTest.cs: initial tests of BeginGetHostByName and EndGetHostByName implemented.
svn path=/trunk/mcs/; revision=964
Miguel de Icaza [Wed, 26 Sep 2001 02:01:40 +0000 (02:01 -0000)]
*** empty log message ***
svn path=/trunk/mcs/; revision=963
Paolo Molaro [Tue, 25 Sep 2001 14:01:33 +0000 (14:01 -0000)]
Tue Sep 25 19:58:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
* String.cs: fix off-by-one error in Trim().
svn path=/trunk/mcs/; revision=961
Miguel de Icaza [Tue, 25 Sep 2001 13:31:28 +0000 (13:31 -0000)]
2001-09-25 Miguel de Icaza <miguel@ximian.com>
* driver.cs: Change the wording of message
svn path=/trunk/mcs/; revision=960
Paolo Molaro [Tue, 25 Sep 2001 13:07:03 +0000 (13:07 -0000)]
Tue Sep 25 19:03:52 CEST 2001 Paolo Molaro <lupus@ximian.com>
* class.xml: updates.
svn path=/trunk/mono/; revision=959
Paolo Molaro [Tue, 25 Sep 2001 12:58:06 +0000 (12:58 -0000)]
Tue Sep 25 18:52:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
* Type.cs: added GetType () method.
Tue Sep 25 18:52:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
* ArrayList.cs: fix Insert () to check capacity, not count.
Tue Sep 25 18:54:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
* File.cs: fix signatures of the Open() and OpenRead() functions
(they are static).
svn path=/trunk/mcs/; revision=958
Dietmar Maurer [Tue, 25 Sep 2001 12:51:51 +0000 (12:51 -0000)]
2001-09-25 Dietmar Maurer <dietmar@ximian.com>
* x86.brg: we now have different types of addresses: ADDR_L for local
values, ADDR_A for arguments and ADDR_G for global addresses. We
also use LDIND_XX token to load values from a specific address
instead of LDLOC/STLOC.
* testjit.c: use the new adressing scheme everywhere:
LDIND _XX (ADDR_X), and STIND_XX (ADDR_X, tree)
svn path=/trunk/mono/; revision=957
Paolo Molaro [Tue, 25 Sep 2001 11:32:07 +0000 (11:32 -0000)]
Tue Sep 25 17:29:02 CEST 2001 Paolo Molaro <lupus@ximian.com>
* MissingMethodException.cs, MissingMemberException.cs,
MemberAccessException.cs: added.
svn path=/trunk/mcs/; revision=956
Paolo Molaro [Tue, 25 Sep 2001 10:57:56 +0000 (10:57 -0000)]
Tue Sep 25 16:54:54 CEST 2001 Paolo Molaro <lupus@ximian.com>
* DictionaryEntry.cs: added.
svn path=/trunk/mcs/; revision=955
Paolo Molaro [Tue, 25 Sep 2001 10:56:37 +0000 (10:56 -0000)]
Tue Sep 25 16:53:08 CEST 2001 Paolo Molaro <lupus@ximian.com>
* TypeBuilder.cs, ConstructorBuilder.cs, ModuleBuilder.cs: added.
svn path=/trunk/mcs/; revision=954
Paolo Molaro [Tue, 25 Sep 2001 10:53:32 +0000 (10:53 -0000)]
Tue Sep 25 16:48:50 CEST 2001 Paolo Molaro <lupus@ximian.com>
* ConstructorInfo.cs, MemberFilter.cs, Module.cs: added.
svn path=/trunk/mcs/; revision=953
Ravi Pratap M [Tue, 25 Sep 2001 10:52:47 +0000 (10:52 -0000)]
2001-09-25 Ravi Pratap <ravi@ximian.com>
* expression.cs (Binary::ResolveOperator): Had forgottten to set
the type of the expression to the return type of the method if
we have an overloaded operator match ! The regression tests pass again !
(Unary::ResolveOperator): Ditto.
* expression.cs (Invocation::ConversionExists): Correct the member lookup
to find "op_Implicit", not "implicit" ;-)
(UserImplicitCast): New class to take care of user-defined implicit conversions.
(ConvertImplicit, ForceConversion): Take TypeContainer argument
* everywhere : Correct calls to the above accordingly.
* expression.cs (UserImplicitCast::Resolve, ::Emit): Implement.
(ConvertImplicit): Do user-defined conversion if it exists.
svn path=/trunk/mcs/; revision=952
Paolo Molaro [Tue, 25 Sep 2001 10:50:58 +0000 (10:50 -0000)]
Tue Sep 25 16:46:43 CEST 2001 Paolo Molaro <lupus@ximian.com>
* String.cs: don't access the string array out of bounds in LastIndexOf.
* Type.cs: fix return type of the Assembly property.
svn path=/trunk/mcs/; revision=951
Ravi Pratap M [Tue, 25 Sep 2001 10:47:42 +0000 (10:47 -0000)]
2001-09-25 Ravi Pratap <ravi@ximian.com>
* test-7.cs : Update to include implicit conversion tests.
svn path=/trunk/mcs/; revision=950
Dick Porter [Tue, 25 Sep 2001 09:37:00 +0000 (09:37 -0000)]
2001-09-25 Dick Porter <dick@ximian.com>
* threads-pthread.h:
* threads-pthread.c: Implemented timed thread joining and added
System.Threading.Thread::Join_internal internal call
* icall.c: Added System.Threading.Thread::Join_internal internal call
* threads-dummy.h:
* threads-dummy.c: Dummy calls for System.Thread.Thread::Join_internal
svn path=/trunk/mono/; revision=949
Dick Porter [Tue, 25 Sep 2001 09:31:59 +0000 (09:31 -0000)]
Implemented more System.Threading.Thread members
svn path=/trunk/mono/; revision=948
Dick Porter [Tue, 25 Sep 2001 09:31:20 +0000 (09:31 -0000)]
2001-09-25 Dick Porter <dick@ximian.com>
* Thread.cs: Implement Join and timed Join, set correct state
around Start, Join and Sleep calls, implement IsAlive and
ThreadState properties.
* ThreadState.cs (Threading): Added StopRequested,
SuspendRequested, Suspended values
svn path=/trunk/mcs/; revision=947
Paolo Molaro [Tue, 25 Sep 2001 05:16:48 +0000 (05:16 -0000)]
Tue Sep 25 11:12:35 CEST 2001 Paolo Molaro <lupus@ximian.com>
* interp.c: fixed get_virtual_method () to deal with interface
methods better.
svn path=/trunk/mono/; revision=946
Miguel de Icaza [Mon, 24 Sep 2001 18:34:15 +0000 (18:34 -0000)]
2001-09-24 Miguel de Icaza <miguel@ximian.com>
* assign.cs: track location.
(Resolve): Use implicit conversions on assignment.
* literal.cs: Oops. Not good, Emit of short access values should
pass (Bytes) or the wrong argument will be selected.
* expression.cs (Unary::Emit): Emit code for -expr.
(Unary::ResolveOperator): Handle `Substract' for non-constants
(substract from zero from the non-constants).
Deal with Doubles as well.
(Expression::ConvertImplicitRequired): New routine that reports an
error if no implicit conversion exists.
(Invocation::OverloadResolve): Store the converted implicit
expressions if we make them
svn path=/trunk/mcs/; revision=945
Paolo Molaro [Mon, 24 Sep 2001 14:38:49 +0000 (14:38 -0000)]
Mon Sep 24 20:35:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
* String.cs: make Intern and IsIntern internalcalls.
svn path=/trunk/mcs/; revision=944
Paolo Molaro [Mon, 24 Sep 2001 13:30:32 +0000 (13:30 -0000)]
Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
* x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
when it's an argument to an internalcall.
Mon Sep 24 18:56:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
* object.c, object.h: added mono_ldstr (), mono_string_is_interned () and
mono_string_intern () to implement the semantics of the ldstr opcode
and the interning of System.Strings.
* icall.c: provide hooks to make String::IsIntern and String::Intern
internalcalls.
Mon Sep 24 18:50:25 CEST 2001 Paolo Molaro <lupus@ximian.com>
* interp.c: catch a few more error conditions with exceptions instead of
erroring out.
Don't use g_print() in stack traces because it doesn't work with
some float values.
When we call an instance method of a valuetype class, unbox the 'this'
argument if it is an object.
Use mono_ldstr () to implement the ldstr opcode: it takes care of
interning the string if necessary.
Implemented new opcodes: ckfinite, cgt.un, clt.un, ldvirtftn, ldarga.
Fixes to handle NaNs when comparing doubles.
Make sure the loaded assembly has an entry point defined.
Fixed portability bugs in neg and not opcodes.
svn path=/trunk/mono/; revision=943
Dietmar Maurer [Mon, 24 Sep 2001 13:13:25 +0000 (13:13 -0000)]
(ves_exec_method): bug fix for NOT/NEG
svn path=/trunk/mono/; revision=942
Dietmar Maurer [Mon, 24 Sep 2001 12:56:27 +0000 (12:56 -0000)]
* mono/jit/x86.brg: impl. more opcodes
svn path=/trunk/mono/; revision=941
Dietmar Maurer [Mon, 24 Sep 2001 08:51:54 +0000 (08:51 -0000)]
2001-09-24 Dietmar Maurer <dietmar@ximian.com>
* x86.brg: impl. more opcodes
svn path=/trunk/mono/; revision=940
Ravi Pratap M [Mon, 24 Sep 2001 06:04:44 +0000 (06:04 -0000)]
2001-09-24 Ravi Pratap <ravi@ximian.com>
* class.cs (ConstructorInitializer): Take a Location argument.
(ConstructorBaseInitializer): Same here.
(ConstructorThisInitializer): Same here.
* cs-parser.jay : Update all calls accordingly.
* expression.cs (Unary, Binary, New): Take location argument.
Update accordingly everywhere.
* cs-parser.jay : Update all calls to the above to take a location
argument.
* class.cs : Ditto.
svn path=/trunk/mcs/; revision=939
Ravi Pratap M [Mon, 24 Sep 2001 04:24:01 +0000 (04:24 -0000)]
2001-09-24 Ravi Pratap <ravi@ximian.com>
* expression.cs (Invocation::BetterFunction): Take TypeContainer argument
(Invocation::BetterConversion): Same here
(Invocation::ConversionExists): Ditto.
(Invocation::ConversionExists): Implement.
svn path=/trunk/mcs/; revision=938
Mads Pultz [Mon, 24 Sep 2001 03:40:55 +0000 (03:40 -0000)]
* DnsTest.cs: now tests GetHostByAddress, GetHostByName, IpToString and Resolve.
* Dns.cs: Minor changes (some print statements removed).
svn path=/trunk/mcs/; revision=937
Dick Porter [Sun, 23 Sep 2001 12:55:17 +0000 (12:55 -0000)]
Forgot this file
svn path=/trunk/mono/; revision=936
Dick Porter [Sun, 23 Sep 2001 12:46:54 +0000 (12:46 -0000)]
Cope with systems that have pthread.h but no libpthread
svn path=/trunk/mono/; revision=935
Dick Porter [Sun, 23 Sep 2001 12:32:33 +0000 (12:32 -0000)]
2001-09-23 Dick Porter <dick@ximian.com>
* threads-dummy.c:
* threads-dummy.h: New files of dummy threading routines
* Makefile.am (THREAD_SOURCE): Arrange to compile different thread
support code based on system specifics
Rename PTHREAD_LIBS to THREAD_LIBS
2001-09-23 Dick Porter <dick@ximian.com>
* configure.in: Arrange to compile dummy thread support routines
if pthread isnt available
2001-09-23 Dick Porter <dick@ximian.com>
* Makefile.am (testjit_LDADD): rename PTHREAD_LIBS to THREAD_LIBS
2001-09-23 Dick Porter <dick@ximian.com>
* Makefile.am (mint_LDADD): rename PTHREAD_LIBS to THREAD_LIBS
svn path=/trunk/mono/; revision=934
Dick Porter [Sun, 23 Sep 2001 11:28:08 +0000 (11:28 -0000)]
2001-09-23 Dick Porter <dick@ximian.com>
* threads-pthread.c: Implement the System.Threading.Thread::Sleep,
Schedule (called when asked to Sleep for 0 ms) and CurrentThread
internal calls.
(mono_thread_init): Set up a Thread object instance to return when
the main thread calls Thread.CurrentThread
(mono_thread_cleanup): Wait for all subthreads to exit
* icall.c: New internal calls for System.Threading.Thread::Sleep
(including Schedule) and CurrentThread
* threads.h: New file, to insulate thread-specific stuff from the
rest of the code
2001-09-23 Dick Porter <dick@ximian.com>
* interp.c (main): Do some thread setup and cleanup around the
call to ves_exec()
2001-09-23 Dick Porter <dick@ximian.com>
* configure.in: Check for pthread.h, so that we can check for the
HAVE_PTHREAD_H define in config.h
svn path=/trunk/mono/; revision=933
Dick Porter [Sun, 23 Sep 2001 11:13:40 +0000 (11:13 -0000)]
2001-09-23 Dick Porter <dick@ximian.com>
* Thread.cs: Implemented CurrentThread and Sleep (both versions)
with internal calls, and Name.
svn path=/trunk/mcs/; revision=932
Mads Pultz [Sun, 23 Sep 2001 08:29:10 +0000 (08:29 -0000)]
*** empty log message ***
svn path=/trunk/mcs/; revision=931
Mads Pultz [Sun, 23 Sep 2001 08:27:17 +0000 (08:27 -0000)]
* DnsTest.cs: Initial work submitted to repository.
* IPHostEntryTest.cs: Initial work submitted to repository.
---------------------------------------------------------------------
svn path=/trunk/mcs/; revision=930
Mads Pultz [Sun, 23 Sep 2001 08:23:12 +0000 (08:23 -0000)]
* Dns.cs: Initial work submitted to repository.
* IPHostEntry.cs: Initial work submitted to repository.
---------------------------------------------------------------------
svn path=/trunk/mcs/; revision=929
Dietmar Maurer [Sun, 23 Sep 2001 07:57:26 +0000 (07:57 -0000)]
2001-09-23 Dietmar Maurer <dietmar@ximian.com>
* testjit.c: use the memory pool to avoid memory leaks
monoburg.c: add a macro MBALLOC_STATE to define the allocation
function for MBState. Added an additional user data argument to
mono_burg_label - the data can be used in the cost functions. The
type can be defined with MBCOST_DATA macro.
(emit_cost_func): inline cost functions
svn path=/trunk/mono/; revision=928
Paolo Molaro [Sun, 23 Sep 2001 07:49:26 +0000 (07:49 -0000)]
Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
* x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.
svn path=/trunk/mono/; revision=927
Dietmar Maurer [Sat, 22 Sep 2001 12:02:19 +0000 (12:02 -0000)]
added more documentation
svn path=/trunk/mono/; revision=926
Ravi Pratap M [Sat, 22 Sep 2001 08:10:28 +0000 (08:10 -0000)]
2001-09-22 Ravi Pratap <ravi@ximian.com>
* expression.cs (OverloadResolve): Improve some more to catch errors 1502 and 1503
Also take an additional TypeContainer argument.
* All over : Pass in TypeContainer as argument to OverloadResolve.
* typemanager.cs (CSharpName): Update to check for the string type and return
that too.
* expression.cs (Invocation::FullMethodDesc): New static method to return a string fully describing
a given method.
svn path=/trunk/mcs/; revision=925
Dietmar Maurer [Sat, 22 Sep 2001 03:43:24 +0000 (03:43 -0000)]
* monoburg.y (strndup): removed, use g_strndup instead
svn path=/trunk/mono/; revision=924
Dietmar Maurer [Sat, 22 Sep 2001 03:40:16 +0000 (03:40 -0000)]
* monoburg.y (strndup): terminate string with 0
svn path=/trunk/mono/; revision=923
Dietmar Maurer [Sat, 22 Sep 2001 02:45:59 +0000 (02:45 -0000)]
* monoburg.c (create_term): bug fix: g_strdup strings from the parser
svn path=/trunk/mono/; revision=922
Dick Porter [Fri, 21 Sep 2001 13:07:33 +0000 (13:07 -0000)]
Sample threading app
svn path=/trunk/mono/; revision=918
Miguel de Icaza [Fri, 21 Sep 2001 13:06:31 +0000 (13:06 -0000)]
2001-09-21 Miguel de Icaza <miguel@ximian.com>
* Makefile.am (EXTRA_DIST): Add man page to the distro
svn path=/trunk/mono/; revision=917
Dietmar Maurer [Fri, 21 Sep 2001 12:50:46 +0000 (12:50 -0000)]
implemented more opcodes
svn path=/trunk/mono/; revision=916
Dietmar Maurer [Fri, 21 Sep 2001 12:45:43 +0000 (12:45 -0000)]
*** empty log message ***
svn path=/trunk/mono/; revision=915
Dick Porter [Fri, 21 Sep 2001 12:42:33 +0000 (12:42 -0000)]
2001-09-21 Dick Porter <dick@ximian.com>
* threads-pthread.h:
* threads-pthread.c: New file, for handling pthreads-style
threading support. Start() now starts a new thread and executes
the ThreadStart delegate instance.
* icall.c: Added the internalcall for
System.Threading.Thread::Start_internal
* Makefile.am: Added new files, and PTHREADS_LIBS to the link line
2001-09-21 Dick Porter <dick@ximian.com>
* Makefile.am (testjit_LDADD): Added PTHREAD_LIBS to the link line
2001-09-21 Dick Porter <dick@ximian.com>
* Makefile.am (mint_LDADD): Added PTHREAD_LIBS to the link line
2001-09-21 Dick Porter <dick@ximian.com>
* configure.in: Check for libpthread
svn path=/trunk/mono/; revision=914
Miguel de Icaza [Fri, 21 Sep 2001 12:16:09 +0000 (12:16 -0000)]
Updates
svn path=/trunk/mono/; revision=913
Ravi Pratap M [Fri, 21 Sep 2001 10:56:23 +0000 (10:56 -0000)]
2001-09-21 Ravi Pratap <ravi@ximian.com>
* expression.cs (Invocation::OverloadResolve): Re-write to conform more to the spec.
(Invocation::BetterFunction): Implement.
(Invocation::BetterConversion): Implement.
(Invocation::ConversionExists): Skeleton, no implementation yet.
Okay, things work fine !
svn path=/trunk/mcs/; revision=912
Ravi Pratap M [Fri, 21 Sep 2001 10:54:53 +0000 (10:54 -0000)]
2001-09-21 Ravi Pratap <ravi@ximian.com>
* test-7.cs : Add.
svn path=/trunk/mcs/; revision=911
Dick Porter [Fri, 21 Sep 2001 10:50:27 +0000 (10:50 -0000)]
System.Threading.ThreadExceptionEventArgs is done.
svn path=/trunk/mono/; revision=910
Dick Porter [Fri, 21 Sep 2001 10:45:31 +0000 (10:45 -0000)]
2001-09-21 Dick Porter <dick@ximian.com>
* Thread.cs: Implement Thread(ThreadStart) constructor and Start()
with an internal call
* WaitHandle.cs: Close calls Dispose(false)
2001-09-21 Dick Porter <dick@ximian.com>
* ThreadExceptionEventArgs.cs: Implemented
svn path=/trunk/mcs/; revision=909
Dietmar Maurer [Fri, 21 Sep 2001 10:38:07 +0000 (10:38 -0000)]
x86.brg: (MB_OPT_LEVEL): define optimisation level macro
svn path=/trunk/mono/; revision=908
Dietmar Maurer [Fri, 21 Sep 2001 09:26:51 +0000 (09:26 -0000)]
2001-09-21 Dietmar Maurer <dietmar@ximian.com>
* x86.brg: implemented long MUL/DIV
* testjit.c (tree_allocate_regs): added a way to prevent EDX usage
for operations like idiv. it is also possible to assign specific registers.
svn path=/trunk/mono/; revision=907
Miguel de Icaza [Fri, 21 Sep 2001 00:17:01 +0000 (00:17 -0000)]
2001-09-21 Miguel de Icaza <miguel@ximian.com>
* typemanager.cs: declare and load enum_type, delegate_type and
void_type.
* expression.cs (Expression::Emit): Now emit returns a value that
tells whether a value is left on the stack or not. This strategy
might be reveted tomorrow with a mechanism that would address
multiple assignments.
(Expression::report118): Utility routine to report mismatches on
the ExprClass.
(Unary::Report23): Report impossible type/operator combination
utility function.
(Unary::IsIncrementableNumber): Whether the type can be
incremented or decremented with add.
(Unary::ResolveOperator): Also allow enumerations to be bitwise
complemented.
(Unary::ResolveOperator): Implement ++, !, ~, ++ and --.
(Unvocation::Emit): Deal with new Emit convetion.
* All Expression derivatives: Updated their Emit method to return
whether they leave values on the stack or not.
* codegen.cs (CodeGen::EmitStatement): Pop values left on the
stack for expressions that are statements.
2001-09-20 Miguel de Icaza <miguel@ximian.com>
* expression.cs (LValue): New interface. Must be implemented by
LValue objects.
(LocalVariableReference, ParameterReference, FieldExpr): Implement
LValue interface.
* assign.cs (Assign::Emit, Assign::Resolve): Use new LValue
interface for generating code, simplifies the code.
svn path=/trunk/mcs/; revision=906