view win/lwtools.sln @ 505:59b8c8b15bd4

Add integer shifts and fix code template errors for mul/div/mod One needs to remove stuff from the stack after putting it there. Actually do that in the code output for multiplication, division, and modulus. Add integer shifting code output which is optimized for constant shift counts but calls a routine for non-constant shift counts. Shifting by a negative amount is a no-op. Shifting by more than the size of an integer results in 0 (for left shifts) or -1 (for right shifts). Both negative shift counts and shift counts larger than the base type are undefined in the C standard so this behaviour is allowed.
author William Astle <lost@l-w.ca>
date Sat, 26 Oct 2019 22:01:55 -0600
parents 221b5f58d8ad
children
line wrap: on
line source


Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.31101.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lwlib", "lwlib.vcxproj", "{93A52E3F-D19D-4A1A-8B8F-15270BD3D0E2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lwasm", "lwasm.vcxproj", "{52309F4D-C1D8-43FC-BC02-C71B69D01E3B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lwlink", "lwlink.vcxproj", "{FF4E3359-4B82-4111-8D32-16E0DCFAE39E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lwar", "lwar.vcxproj", "{D3F0DBD9-6275-428B-950F-01FE32D77A58}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lwobjdump", "lwobjdump.vcxproj", "{852540C9-DEA5-4BFF-BE18-FD946C3857AA}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Release|Win32 = Release|Win32
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{93A52E3F-D19D-4A1A-8B8F-15270BD3D0E2}.Debug|Win32.ActiveCfg = Debug|Win32
		{93A52E3F-D19D-4A1A-8B8F-15270BD3D0E2}.Debug|Win32.Build.0 = Debug|Win32
		{93A52E3F-D19D-4A1A-8B8F-15270BD3D0E2}.Release|Win32.ActiveCfg = Release|Win32
		{93A52E3F-D19D-4A1A-8B8F-15270BD3D0E2}.Release|Win32.Build.0 = Release|Win32
		{52309F4D-C1D8-43FC-BC02-C71B69D01E3B}.Debug|Win32.ActiveCfg = Debug|Win32
		{52309F4D-C1D8-43FC-BC02-C71B69D01E3B}.Debug|Win32.Build.0 = Debug|Win32
		{52309F4D-C1D8-43FC-BC02-C71B69D01E3B}.Release|Win32.ActiveCfg = Release|Win32
		{52309F4D-C1D8-43FC-BC02-C71B69D01E3B}.Release|Win32.Build.0 = Release|Win32
		{FF4E3359-4B82-4111-8D32-16E0DCFAE39E}.Debug|Win32.ActiveCfg = Debug|Win32
		{FF4E3359-4B82-4111-8D32-16E0DCFAE39E}.Debug|Win32.Build.0 = Debug|Win32
		{FF4E3359-4B82-4111-8D32-16E0DCFAE39E}.Release|Win32.ActiveCfg = Release|Win32
		{FF4E3359-4B82-4111-8D32-16E0DCFAE39E}.Release|Win32.Build.0 = Release|Win32
		{D3F0DBD9-6275-428B-950F-01FE32D77A58}.Debug|Win32.ActiveCfg = Debug|Win32
		{D3F0DBD9-6275-428B-950F-01FE32D77A58}.Debug|Win32.Build.0 = Debug|Win32
		{D3F0DBD9-6275-428B-950F-01FE32D77A58}.Release|Win32.ActiveCfg = Release|Win32
		{D3F0DBD9-6275-428B-950F-01FE32D77A58}.Release|Win32.Build.0 = Release|Win32
		{852540C9-DEA5-4BFF-BE18-FD946C3857AA}.Debug|Win32.ActiveCfg = Debug|Win32
		{852540C9-DEA5-4BFF-BE18-FD946C3857AA}.Debug|Win32.Build.0 = Debug|Win32
		{852540C9-DEA5-4BFF-BE18-FD946C3857AA}.Release|Win32.ActiveCfg = Release|Win32
		{852540C9-DEA5-4BFF-BE18-FD946C3857AA}.Release|Win32.Build.0 = Release|Win32
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal