beebasm

changeset 25:33bd79335c1e

Fixed build errors in VS2010, and added MSVC 2010 project.
author RichTW <richtw1@gmail.com>
date Sun Feb 27 13:50:29 2011 +0100
parents 282c9368835b
children d5660d5def2a
files beebasm.exe demo.ssd src/Makefile src/Makefile.inc src/VS2010/BeebAsm.sln src/VS2010/BeebAsm.vcxproj src/VS2010/BeebAsm.vcxproj.filters src/assemble.cpp src/commands.cpp src/discimage.cpp src/expression.cpp src/sourcefile.cpp
diffstat 12 files changed, 271 insertions(+), 19 deletions(-) [+]
line diff
     1.1 Binary file beebasm.exe has changed
     2.1 Binary file demo.ssd has changed
     3.1 --- a/src/Makefile	Sun Feb 27 12:27:24 2011 +0100
     3.2 +++ b/src/Makefile	Sun Feb 27 13:50:29 2011 +0100
     3.3 @@ -39,7 +39,7 @@
     3.4  
     3.5  # Define linker switches
     3.6  
     3.7 -LDFLAGS			:=		-s -static
     3.8 +LDFLAGS			:=		-s
     3.9  
    3.10  # Define 2nd party libs to link
    3.11  
    3.12 @@ -51,7 +51,7 @@
    3.13  
    3.14  # Parameters to the executable
    3.15  
    3.16 -PARAMS			:=		-i ..\demo.asm -do ..\demo.ssd -boot Code -v
    3.17 +PARAMS			:=		-i ../demo.asm -do ../demo.ssd -boot Code -v
    3.18  
    3.19  
    3.20  
     4.1 --- a/src/Makefile.inc	Sun Feb 27 12:27:24 2011 +0100
     4.2 +++ b/src/Makefile.inc	Sun Feb 27 13:50:29 2011 +0100
     4.3 @@ -42,11 +42,37 @@
     4.4  # Check that required variables have been set
     4.5  
     4.6  ifndef BUILD_DIR
     4.7 -error Please set BUILD_DIR to the path into which objects are compiled
     4.8 +$(error Please set BUILD_DIR to the path into which objects are compiled)
     4.9  endif
    4.10  
    4.11  ifndef TARGET
    4.12 -error Please set TARGET to the filename of the final executable to be built
    4.13 +$(error Please set TARGET to the filename of the final executable to be built)
    4.14 +endif
    4.15 +
    4.16 +
    4.17 +# List of allowed platform names.
    4.18 +# Add extra valid platforms to this list as they are supported.
    4.19 +
    4.20 +PLATFORM_LIST	:=		mingw-gcc3
    4.21 +PLATFORM_LIST	+=		mingw-gcc4
    4.22 +
    4.23 +
    4.24 +# Try to determine the build platform if it wasn't explicitly specified on the command line
    4.25 +
    4.26 +ifndef PLATFORM
    4.27 +# Do checks with $(shell uname -s) and/or $(OSTYPE) here to try to automatically determine
    4.28 +# the appropriate platform type
    4.29 +endif
    4.30 +
    4.31 +
    4.32 +# If we still haven't got a valid value for $(PLATFORM), exit gracefully with a helpful message
    4.33 +
    4.34 +ifeq ($(findstring $(PLATFORM),$(PLATFORM_LIST)),)
    4.35 +ifneq ($(MAKECMDGOALS),)
    4.36 +ifneq ($(MAKECMDGOALS),help)
    4.37 +$(error Could not determine the target platform, or an invalid value for PLATFORM was specified. Type 'make help' for information)
    4.38 +endif
    4.39 +endif
    4.40  endif
    4.41  
    4.42  
    4.43 @@ -66,6 +92,13 @@
    4.44  DEPS			:=		$(OBJS:.o=.d)
    4.45  
    4.46  
    4.47 +# Add platform-specific flags
    4.48 +
    4.49 +ifeq ($(PLATFORM),mingw-gcc4)
    4.50 +LDFLAGS			+=		-static
    4.51 +endif
    4.52 +
    4.53 +
    4.54  # Declare executable names
    4.55  
    4.56  CC				:=		gcc
    4.57 @@ -101,12 +134,19 @@
    4.58  
    4.59  
    4.60  help:
    4.61 +	$(ECHO) BeebAsm makefile
    4.62 +	$(ECHO) ""
    4.63 +	$(ECHO) "Syntax: make <option> [PLATFORM=<platform>] [VERBOSE=1]"
    4.64 +	$(ECHO) ""
    4.65  	$(ECHO) Possible options:
    4.66  	$(ECHO) make all .... Build and run code
    4.67  	$(ECHO) make code ... Build code
    4.68  	$(ECHO) make run .... Run code
    4.69  	$(ECHO) make clean .. Clean code
    4.70  	$(ECHO) make help ... Display this message again
    4.71 +	$(ECHO)
    4.72 +	$(ECHO) Possible platforms: $(PLATFORM_LIST)
    4.73 +	$(ECHO)
    4.74  	$(ECHO) Append VERBOSE=1 to show more information
    4.75  
    4.76  
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/src/VS2010/BeebAsm.sln	Sun Feb 27 13:50:29 2011 +0100
     5.3 @@ -0,0 +1,20 @@
     5.4 +
     5.5 +Microsoft Visual Studio Solution File, Format Version 11.00
     5.6 +# Visual C++ Express 2010
     5.7 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BeebAsm", "BeebAsm.vcxproj", "{3F33EAFE-FC5B-563C-6519-89DDC69ECF21}"
     5.8 +EndProject
     5.9 +Global
    5.10 +	GlobalSection(SolutionConfigurationPlatforms) = preSolution
    5.11 +		Debug|Win32 = Debug|Win32
    5.12 +		Release|Win32 = Release|Win32
    5.13 +	EndGlobalSection
    5.14 +	GlobalSection(ProjectConfigurationPlatforms) = postSolution
    5.15 +		{3F33EAFE-FC5B-563C-6519-89DDC69ECF21}.Debug|Win32.ActiveCfg = Debug|Win32
    5.16 +		{3F33EAFE-FC5B-563C-6519-89DDC69ECF21}.Debug|Win32.Build.0 = Debug|Win32
    5.17 +		{3F33EAFE-FC5B-563C-6519-89DDC69ECF21}.Release|Win32.ActiveCfg = Release|Win32
    5.18 +		{3F33EAFE-FC5B-563C-6519-89DDC69ECF21}.Release|Win32.Build.0 = Release|Win32
    5.19 +	EndGlobalSection
    5.20 +	GlobalSection(SolutionProperties) = preSolution
    5.21 +		HideSolutionNode = FALSE
    5.22 +	EndGlobalSection
    5.23 +EndGlobal
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/src/VS2010/BeebAsm.vcxproj	Sun Feb 27 13:50:29 2011 +0100
     6.3 @@ -0,0 +1,105 @@
     6.4 +<?xml version="1.0" encoding="utf-8"?>
     6.5 +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     6.6 +  <ItemGroup Label="ProjectConfigurations">
     6.7 +    <ProjectConfiguration Include="Debug|Win32">
     6.8 +      <Configuration>Debug</Configuration>
     6.9 +      <Platform>Win32</Platform>
    6.10 +    </ProjectConfiguration>
    6.11 +    <ProjectConfiguration Include="Release|Win32">
    6.12 +      <Configuration>Release</Configuration>
    6.13 +      <Platform>Win32</Platform>
    6.14 +    </ProjectConfiguration>
    6.15 +  </ItemGroup>
    6.16 +  <PropertyGroup Label="Globals">
    6.17 +    <Keyword>Win32Proj</Keyword>
    6.18 +  </PropertyGroup>
    6.19 +  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
    6.20 +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    6.21 +    <ConfigurationType>Application</ConfigurationType>
    6.22 +    <UseDebugLibraries>true</UseDebugLibraries>
    6.23 +  </PropertyGroup>
    6.24 +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    6.25 +    <ConfigurationType>Application</ConfigurationType>
    6.26 +    <UseDebugLibraries>false</UseDebugLibraries>
    6.27 +  </PropertyGroup>
    6.28 +  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
    6.29 +  <ImportGroup Label="ExtensionSettings">
    6.30 +  </ImportGroup>
    6.31 +  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    6.32 +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    6.33 +  </ImportGroup>
    6.34 +  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    6.35 +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    6.36 +  </ImportGroup>
    6.37 +  <PropertyGroup Label="UserMacros" />
    6.38 +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    6.39 +    <LinkIncremental>false</LinkIncremental>
    6.40 +    <OutDir>$(SolutionDir)..\..\</OutDir>
    6.41 +    <IntDir>$(SolutionDir)Obj\$(Configuration)\</IntDir>
    6.42 +  </PropertyGroup>
    6.43 +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    6.44 +    <LinkIncremental>false</LinkIncremental>
    6.45 +    <OutDir>$(SolutionDir)..\..\</OutDir>
    6.46 +    <IntDir>$(SolutionDir)Obj\$(Configuration)\</IntDir>
    6.47 +  </PropertyGroup>
    6.48 +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    6.49 +    <ClCompile>
    6.50 +      <PreprocessorDefinitions>WIN32;_USE_MATH_DEFINES;_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    6.51 +      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
    6.52 +      <WarningLevel>Level3</WarningLevel>
    6.53 +      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
    6.54 +      <Optimization>Disabled</Optimization>
    6.55 +    </ClCompile>
    6.56 +    <Link>
    6.57 +      <TargetMachine>MachineX86</TargetMachine>
    6.58 +      <GenerateDebugInformation>true</GenerateDebugInformation>
    6.59 +      <SubSystem>Console</SubSystem>
    6.60 +      <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
    6.61 +    </Link>
    6.62 +  </ItemDefinitionGroup>
    6.63 +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    6.64 +    <ClCompile>
    6.65 +      <PreprocessorDefinitions>WIN32;_USE_MATH_DEFINES;_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    6.66 +      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
    6.67 +      <WarningLevel>Level3</WarningLevel>
    6.68 +      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
    6.69 +    </ClCompile>
    6.70 +    <Link>
    6.71 +      <TargetMachine>MachineX86</TargetMachine>
    6.72 +      <GenerateDebugInformation>true</GenerateDebugInformation>
    6.73 +      <SubSystem>Console</SubSystem>
    6.74 +      <EnableCOMDATFolding>true</EnableCOMDATFolding>
    6.75 +      <OptimizeReferences>true</OptimizeReferences>
    6.76 +      <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
    6.77 +    </Link>
    6.78 +  </ItemDefinitionGroup>
    6.79 +  <ItemGroup>
    6.80 +    <ClCompile Include="..\asmexception.cpp" />
    6.81 +    <ClCompile Include="..\assemble.cpp" />
    6.82 +    <ClCompile Include="..\commands.cpp" />
    6.83 +    <ClCompile Include="..\discimage.cpp" />
    6.84 +    <ClCompile Include="..\expression.cpp" />
    6.85 +    <ClCompile Include="..\globaldata.cpp" />
    6.86 +    <ClCompile Include="..\lineparser.cpp" />
    6.87 +    <ClCompile Include="..\main.cpp" />
    6.88 +    <ClCompile Include="..\objectcode.cpp" />
    6.89 +    <ClCompile Include="..\sourcefile.cpp" />
    6.90 +    <ClCompile Include="..\stringutils.cpp" />
    6.91 +    <ClCompile Include="..\symboltable.cpp" />
    6.92 +  </ItemGroup>
    6.93 +  <ItemGroup>
    6.94 +    <ClInclude Include="..\asmexception.h" />
    6.95 +    <ClInclude Include="..\discimage.h" />
    6.96 +    <ClInclude Include="..\globaldata.h" />
    6.97 +    <ClInclude Include="..\lineparser.h" />
    6.98 +    <ClInclude Include="..\main.h" />
    6.99 +    <ClInclude Include="..\objectcode.h" />
   6.100 +    <ClInclude Include="..\sourcefile.h" />
   6.101 +    <ClInclude Include="..\stringutils.h" />
   6.102 +    <ClInclude Include="..\symboltable.h" />
   6.103 +    <ClInclude Include="..\tokens.h" />
   6.104 +  </ItemGroup>
   6.105 +  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   6.106 +  <ImportGroup Label="ExtensionTargets">
   6.107 +  </ImportGroup>
   6.108 +</Project>
   6.109 \ No newline at end of file
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/src/VS2010/BeebAsm.vcxproj.filters	Sun Feb 27 13:50:29 2011 +0100
     7.3 @@ -0,0 +1,87 @@
     7.4 +<?xml version="1.0" encoding="utf-8"?>
     7.5 +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     7.6 +  <ItemGroup>
     7.7 +    <Filter Include="Source Files">
     7.8 +      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
     7.9 +      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
    7.10 +    </Filter>
    7.11 +    <Filter Include="Header Files">
    7.12 +      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
    7.13 +      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
    7.14 +    </Filter>
    7.15 +    <Filter Include="Resource Files">
    7.16 +      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
    7.17 +      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
    7.18 +    </Filter>
    7.19 +  </ItemGroup>
    7.20 +  <ItemGroup>
    7.21 +    <ClCompile Include="..\asmexception.cpp">
    7.22 +      <Filter>Source Files</Filter>
    7.23 +    </ClCompile>
    7.24 +    <ClCompile Include="..\assemble.cpp">
    7.25 +      <Filter>Source Files</Filter>
    7.26 +    </ClCompile>
    7.27 +    <ClCompile Include="..\commands.cpp">
    7.28 +      <Filter>Source Files</Filter>
    7.29 +    </ClCompile>
    7.30 +    <ClCompile Include="..\discimage.cpp">
    7.31 +      <Filter>Source Files</Filter>
    7.32 +    </ClCompile>
    7.33 +    <ClCompile Include="..\expression.cpp">
    7.34 +      <Filter>Source Files</Filter>
    7.35 +    </ClCompile>
    7.36 +    <ClCompile Include="..\globaldata.cpp">
    7.37 +      <Filter>Source Files</Filter>
    7.38 +    </ClCompile>
    7.39 +    <ClCompile Include="..\lineparser.cpp">
    7.40 +      <Filter>Source Files</Filter>
    7.41 +    </ClCompile>
    7.42 +    <ClCompile Include="..\main.cpp">
    7.43 +      <Filter>Source Files</Filter>
    7.44 +    </ClCompile>
    7.45 +    <ClCompile Include="..\objectcode.cpp">
    7.46 +      <Filter>Source Files</Filter>
    7.47 +    </ClCompile>
    7.48 +    <ClCompile Include="..\sourcefile.cpp">
    7.49 +      <Filter>Source Files</Filter>
    7.50 +    </ClCompile>
    7.51 +    <ClCompile Include="..\stringutils.cpp">
    7.52 +      <Filter>Source Files</Filter>
    7.53 +    </ClCompile>
    7.54 +    <ClCompile Include="..\symboltable.cpp">
    7.55 +      <Filter>Source Files</Filter>
    7.56 +    </ClCompile>
    7.57 +  </ItemGroup>
    7.58 +  <ItemGroup>
    7.59 +    <ClInclude Include="..\asmexception.h">
    7.60 +      <Filter>Header Files</Filter>
    7.61 +    </ClInclude>
    7.62 +    <ClInclude Include="..\discimage.h">
    7.63 +      <Filter>Header Files</Filter>
    7.64 +    </ClInclude>
    7.65 +    <ClInclude Include="..\globaldata.h">
    7.66 +      <Filter>Header Files</Filter>
    7.67 +    </ClInclude>
    7.68 +    <ClInclude Include="..\lineparser.h">
    7.69 +      <Filter>Header Files</Filter>
    7.70 +    </ClInclude>
    7.71 +    <ClInclude Include="..\main.h">
    7.72 +      <Filter>Header Files</Filter>
    7.73 +    </ClInclude>
    7.74 +    <ClInclude Include="..\objectcode.h">
    7.75 +      <Filter>Header Files</Filter>
    7.76 +    </ClInclude>
    7.77 +    <ClInclude Include="..\sourcefile.h">
    7.78 +      <Filter>Header Files</Filter>
    7.79 +    </ClInclude>
    7.80 +    <ClInclude Include="..\stringutils.h">
    7.81 +      <Filter>Header Files</Filter>
    7.82 +    </ClInclude>
    7.83 +    <ClInclude Include="..\symboltable.h">
    7.84 +      <Filter>Header Files</Filter>
    7.85 +    </ClInclude>
    7.86 +    <ClInclude Include="..\tokens.h">
    7.87 +      <Filter>Header Files</Filter>
    7.88 +    </ClInclude>
    7.89 +  </ItemGroup>
    7.90 +</Project>
    7.91 \ No newline at end of file
     8.1 --- a/src/assemble.cpp	Sun Feb 27 12:27:24 2011 +0100
     8.2 +++ b/src/assemble.cpp	Sun Feb 27 13:50:29 2011 +0100
     8.3 @@ -411,7 +411,7 @@
     8.4  		{
     8.5  			value = EvaluateExpressionAsInt();
     8.6  		}
     8.7 -		catch ( AsmException_SyntaxError_SymbolNotDefined& e )
     8.8 +		catch ( AsmException_SyntaxError_SymbolNotDefined& )
     8.9  		{
    8.10  			if ( GlobalData::Instance().IsFirstPass() )
    8.11  			{
    8.12 @@ -485,7 +485,7 @@
    8.13  			// an extra close bracket.
    8.14  			value = EvaluateExpressionAsInt( true );
    8.15  		}
    8.16 -		catch ( AsmException_SyntaxError_SymbolNotDefined& e )
    8.17 +		catch ( AsmException_SyntaxError_SymbolNotDefined& )
    8.18  		{
    8.19  			if ( GlobalData::Instance().IsFirstPass() )
    8.20  			{
    8.21 @@ -695,7 +695,7 @@
    8.22  	{
    8.23  		value = EvaluateExpressionAsInt();
    8.24  	}
    8.25 -	catch ( AsmException_SyntaxError_SymbolNotDefined& e )
    8.26 +	catch ( AsmException_SyntaxError_SymbolNotDefined& )
    8.27  	{
    8.28  		if ( GlobalData::Instance().IsFirstPass() )
    8.29  		{
     9.1 --- a/src/commands.cpp	Sun Feb 27 12:27:24 2011 +0100
     9.2 +++ b/src/commands.cpp	Sun Feb 27 13:50:29 2011 +0100
     9.3 @@ -715,7 +715,7 @@
     9.4  			{
     9.5  				value = EvaluateExpressionAsInt();
     9.6  			}
     9.7 -			catch ( AsmException_SyntaxError_SymbolNotDefined& e )
     9.8 +			catch ( AsmException_SyntaxError_SymbolNotDefined& )
     9.9  			{
    9.10  				if ( GlobalData::Instance().IsFirstPass() )
    9.11  				{
    9.12 @@ -784,7 +784,7 @@
    9.13  		{
    9.14  			value = EvaluateExpressionAsInt();
    9.15  		}
    9.16 -		catch ( AsmException_SyntaxError_SymbolNotDefined& e )
    9.17 +		catch ( AsmException_SyntaxError_SymbolNotDefined& )
    9.18  		{
    9.19  			if ( GlobalData::Instance().IsFirstPass() )
    9.20  			{
    9.21 @@ -859,7 +859,7 @@
    9.22  		{
    9.23  			value = EvaluateExpressionAsInt();
    9.24  		}
    9.25 -		catch ( AsmException_SyntaxError_SymbolNotDefined& e )
    9.26 +		catch ( AsmException_SyntaxError_SymbolNotDefined& )
    9.27  		{
    9.28  			if ( GlobalData::Instance().IsFirstPass() )
    9.29  			{
    9.30 @@ -1016,7 +1016,7 @@
    9.31  		{
    9.32  			exec = EvaluateExpressionAsInt();
    9.33  		}
    9.34 -		catch ( AsmException_SyntaxError_SymbolNotDefined& e )
    9.35 +		catch ( AsmException_SyntaxError_SymbolNotDefined& )
    9.36  		{
    9.37  			if ( GlobalData::Instance().IsSecondPass() )
    9.38  			{
    9.39 @@ -1254,7 +1254,7 @@
    9.40  void LineParser::HandleIf()
    9.41  {
    9.42  	// Handles both IF and ELIF
    9.43 -	int condition = EvaluateExpressionAsInt();
    9.44 +	bool condition = (EvaluateExpressionAsInt() != 0);
    9.45  	m_sourceFile->SetCurrentIfCondition( condition );
    9.46  
    9.47  	if ( m_line[ m_column ] == ',' )
    9.48 @@ -1327,7 +1327,7 @@
    9.49  			{
    9.50  				value = EvaluateExpressionAsInt();
    9.51  			}
    9.52 -			catch ( AsmException_SyntaxError_SymbolNotDefined& e )
    9.53 +			catch ( AsmException_SyntaxError_SymbolNotDefined& )
    9.54  			{
    9.55  				if ( GlobalData::Instance().IsFirstPass() )
    9.56  				{
    9.57 @@ -1354,7 +1354,7 @@
    9.58  			{
    9.59  				value = EvaluateExpression();
    9.60  			}
    9.61 -			catch ( AsmException_SyntaxError_SymbolNotDefined& e )
    9.62 +			catch ( AsmException_SyntaxError_SymbolNotDefined& )
    9.63  			{
    9.64  				if ( GlobalData::Instance().IsFirstPass() )
    9.65  				{
    10.1 --- a/src/discimage.cpp	Sun Feb 27 12:27:24 2011 +0100
    10.2 +++ b/src/discimage.cpp	Sun Feb 27 13:50:29 2011 +0100
    10.3 @@ -86,7 +86,7 @@
    10.4  		}
    10.5  
    10.6  		m_inputFile.seekg( 0, ios::end );
    10.7 -		int length = m_inputFile.tellg();
    10.8 +		int length = static_cast< int >( m_inputFile.tellg() );
    10.9  		m_inputFile.seekg( 0, ios::beg );
   10.10  
   10.11  		assert( length >= endSectorAddr * 0x100 );
    11.1 --- a/src/expression.cpp	Sun Feb 27 12:27:24 2011 +0100
    11.2 +++ b/src/expression.cpp	Sun Feb 27 13:50:29 2011 +0100
    11.3 @@ -126,7 +126,7 @@
    11.4  		istringstream str( m_line );
    11.5  		str.seekg( m_column );
    11.6  		str >> value;
    11.7 -		m_column = str.tellg();
    11.8 +		m_column = static_cast< size_t >( str.tellg() );
    11.9  	}
   11.10  	else if ( m_line[ m_column ] == '&' || m_line[ m_column ] == '$' )
   11.11  	{
   11.12 @@ -148,7 +148,7 @@
   11.13  			istringstream str( m_line );
   11.14  			str.seekg( m_column );
   11.15  			str >> hex >> hexValue;
   11.16 -			m_column = str.tellg();
   11.17 +			m_column = static_cast< size_t >( str.tellg() );
   11.18  
   11.19  			value = static_cast< double >( hexValue );
   11.20  		}
   11.21 @@ -299,7 +299,7 @@
   11.22  				{
   11.23  					value = GetValue();
   11.24  				}
   11.25 -				catch ( AsmException_SyntaxError_SymbolNotDefined& e )
   11.26 +				catch ( AsmException_SyntaxError_SymbolNotDefined& )
   11.27  				{
   11.28  					// If we encountered an unknown symbol whilst evaluating the expression...
   11.29  
    12.1 --- a/src/sourcefile.cpp	Sun Feb 27 12:27:24 2011 +0100
    12.2 +++ b/src/sourcefile.cpp	Sun Feb 27 13:50:29 2011 +0100
    12.3 @@ -131,7 +131,7 @@
    12.4  		}
    12.5  
    12.6  		m_lineNumber++;
    12.7 -		m_filePointer = m_file.tellg();
    12.8 +		m_filePointer = static_cast< int >( m_file.tellg() );
    12.9  	}
   12.10  
   12.11  	// Check whether we aborted prematurely