Overhaul of RCOMP/GCCE error parsing to fix 8901:
authortzelaw
Fri, 24 Apr 2009 14:48:12 -0500
changeset 125 b878114e8cc2
parent 112 a809383cf300
child 126 efa1c6e4825e
Overhaul of RCOMP/GCCE error parsing to fix 8901: -RCOMP error parser will defer C preprocessor errors to GCCECompiler error parser. -GCCE error parser is splited into compiler/assembler/linker, calling their counterpart in CDT respectively before handling special cases. -Updated error messages RCOMP error parser according to latest copy of RCOMP source. -WINSCW build configuration is using CDT GCC error parser instead of GCCE(for RCOMP C preprocessor error) Updated test case for error parsing -Added Bugzilla regression for GCC and make error parser -Converted test case from hardcoded SDK_ID to picking up the first SDK from device.xml with the build config specified by the test. -Fixed bug in test harness for input file ends on the last line so it was processed in the same run. -Fixed bug in test harness for not clearing problem view before each run(for visual cross check). -Rewritten test harness to use JDOM XML handling(from JAXP), to solve deployment issue in newer JRE.
builder/com.nokia.carbide.cdt.builder.test/META-INF/MANIFEST.MF
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/abstractgcce.input.txt
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/abstractgcce.regression.xml
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/2969.gcce.input.txt
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/2969.gcce.regression.xml
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3053.rvct.input.txt
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3053.rvct.regression.xml
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3134.winscw.input.txt
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3134.winscw.regression.xml
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3201.winscw.input.txt
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3201.winscw.regression.xml
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3490.winscw.input.txt
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3490.winscw.regression.xml
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3642.winscw.input.txt
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3642.winscw.regression.xml
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/4541.gcce.input.txt
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/4541.gcce.regression.xml
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/5618.gcce.input.txt
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/5618.gcce.regression.xml
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/5824.gcce.input.txt
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/5824.gcce.regression.xml
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/6415.winscw.input.txt
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/6415.winscw.regression.xml
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/6417.gcce.input.txt
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/6417.gcce.regression.xml
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/gnu_as.input.txt
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/gnu_as.regression.xml
builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/makmake.errors.regression.1.xml
builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/AllTests.java
builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/CarbideErrorParserTestHarness.java
builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/ErrorParserRegressionGenerator.java
builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestGcceErrorParser.java
builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestMakeErrorParser.java
builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestMakmakeErrorParser.java
builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestRVCTErrorParser.java
builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestSBSv2ErrorParser.java
builder/com.nokia.carbide.cdt.builder/plugin.xml
builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/builder/CarbideCPPBuilder.java
builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/AbstractGCCEErrorParser.java
builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/CarbideBaseErrorParser.java
builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/CarbideMakeErrorParser.java
builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/GCCEAssemblerErrorParser.java
builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/GCCECompilerErrorParser.java
builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/GCCEErrorParser.java
builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/GCCELinkerErrorParser.java
builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/RCOMPErrorParser.java
--- a/builder/com.nokia.carbide.cdt.builder.test/META-INF/MANIFEST.MF	Tue Apr 21 15:35:46 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/META-INF/MANIFEST.MF	Fri Apr 24 14:48:12 2009 -0500
@@ -6,16 +6,21 @@
 Bundle-Activator: com.nokia.carbide.cdt.builder.test.TestPlugin
 Bundle-Vendor: NOKIA
 Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
+Require-Bundle: abbot,
+ abbot.swt,
+ abbot.swt.eclipse,
+ org.eclipse.ui,
  org.eclipse.core.runtime,
  org.junit,
  com.nokia.carbide.cpp.sdk.core,
  org.eclipse.emf.common,
  com.nokia.carbide.cpp.project.core,
  org.eclipse.core.resources,
+ com.nokia.carbide.automation.utils,
  com.nokia.carbide.cdt.builder,
  com.nokia.carbide.cpp.epoc.engine,
  com.nokia.cpp.utils.core,
- org.eclipse.cdt.core
+ org.eclipse.cdt.core,
+ org.jdom
 Bundle-ActivationPolicy: lazy
 Export-Package: com.nokia.carbide.cdt.builder.test
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/abstractgcce.input.txt	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,4 @@
+arm-none-symbianelf-g++: \test\test.cpp: No such file or directory
+arm-none-symbianelf-g++: no input files
+arm-none-symbianelf-g++: warning: `-x c++' after last input file has no effect
+arm-none-symbianelf-g++: error: some message
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/abstractgcce.regression.xml	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+  <!--Error Marker at index 0-->
+  <marker_info file="^EMPTY^" line_number="0" message="\test\test.cpp: No such file or directory" severity="2" variable_name="^EMPTY^" external_path_string="test/test.cpp:" />
+  <!--Error Marker at index 1-->
+  <marker_info file="^EMPTY^" line_number="0" message="no input files" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 2-->
+  <marker_info file="^EMPTY^" line_number="0" message="`-x c++' after last input file has no effect" severity="1" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 3-->
+  <marker_info file="^EMPTY^" line_number="0" message="some message" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+</root>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/2969.gcce.input.txt	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,17 @@
+perl.exe -S ABLD.PL \Symbian\Carbide\workspace\test3\group\ target gcce urel  
+  make -r  -f "\S60\devices\S60_3rd_FP2_SDK_v1.1\EPOC32\BUILD\Symbian\Carbide\workspace\test3\group\GCCE.make" TARGET CFG=UREL VERBOSE=-s
+arm-none-symbianelf-ld: \S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\release\ARMV5\LIB\foo.dso: No such file: No such file or directory
+make[1]: *** [\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\release\GCCE\urel\test3.exe] Error 1
+make: *** [TARGETTEST3] Error 2
+
+perl.exe -S ABLD.PL \Symbian\Carbide\workspace\test3\group\ target gcce urel  
+  make -r  -f "\S60\devices\S60_3rd_FP2_SDK_v1.1\EPOC32\BUILD\Symbian\Carbide\workspace\test3\group\GCCE.make" TARGET CFG=UREL VERBOSE=-s
+arm-none-symbianelf-g++: \test\test.cpp: No such file or directory
+make[1]: *** [\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\release\GCCE\urel\test3.exe] Error 1
+make: *** [TARGETTEST3] Error 2
+
+perl.exe -S ABLD.PL \Symbian\Carbide\workspace\test3\group\ target gcce urel  
+  make -r  -f "\S60\devices\S60_3rd_FP2_SDK_v1.1\EPOC32\BUILD\Symbian\Carbide\workspace\test3\group\GCCE.make" TARGET CFG=UREL VERBOSE=-s
+arm-none-symbianelf-as: \test\test.s: No such file or directory
+make[1]: *** [\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\release\GCCE\urel\test3.exe] Error 1
+make: *** [TARGETTEST3] Error 2
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/2969.gcce.regression.xml	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+  <!--Error Marker at index 0-->
+  <marker_info file="^EMPTY^" line_number="0" message="\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\release\ARMV5\LIB\foo.dso: No such file: No such file or directory" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 1-->
+  <marker_info file="^EMPTY^" line_number="0" message="\test\test.cpp: No such file or directory" severity="2" variable_name="^EMPTY^" external_path_string="test/test.cpp:" />
+  <!--Error Marker at index 2-->
+  <marker_info file="^EMPTY^" line_number="0" message="\test\test.s: No such file or directory" severity="2" variable_name="^EMPTY^" external_path_string="test/test.s:" />
+</root>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3053.rvct.input.txt	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,20 @@
+make[1]: Leaving directory `C:/Symbian/9.1/S60_3rd_MR/S60Ex/AddressBook/group'
+  make -r  -f
+"\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Symbian\9.1\S60_3rd_MR\S60Ex\AddressBook\group\ARMV5.make"
+TARGET CFG=UDEB
+Warning: C3492W: Site License not found, falling back to normal license
+ARM/Thumb C/C++ Compiler, RVCT2.2 [Build 593]
+Error: C3397E: Cannot obtain license for Compiler (feature compiler) with
+license version >= 2.2: 
+The desired vendor daemon is down
+ 1) Check the lmgrd log file, or 2) Try lmreread
+Feature:       compiler
+Vendor:Host:   asqarun1.americas.nokia.com
+License path:  7166@asqarun1.americas.nokia.com
+FLEXlm error:  -97,121
+For further information, refer to the FLEXlm End User Manual,
+available at "www.macrovision.com".
+
+make[1]: ***
+[..\..\..\EPOC32\BUILD\Symbian\9.1\S60_3rd_MR\S60Ex\AddressBook\group\ADDRESSBOOK\ARMV5\UDEB\AddressBookApp.o]
+Error 1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3053.rvct.regression.xml	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+  <!--Error Marker at index 0-->
+  <marker_info file="^EMPTY^" line_number="0" message="Error: C3397E: Cannot obtain license for Compiler (feature compiler) with" severity="3" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+</root>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3134.winscw.input.txt	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,2 @@
+  -- C:\Symbian\9.1\S60_3rd\EPOC32\INCLUDE\RVCT0_0\RVCT0_0.H: No such file or directory
+  ERROR: cpp.EXE failure
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3134.winscw.regression.xml	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+  <!--Error Marker at index 0-->
+  <marker_info file="^EMPTY^" line_number="-1" message="RVCT not installed or 'armcc' is not on PATH. Please check that your environment for the RVCT compiler is correct." severity="3" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 1-->
+  <marker_info file="^EMPTY^" line_number="-1" message="ERROR: cpp.EXE failure" severity="3" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+</root>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3201.winscw.input.txt	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,9 @@
+process_begin: CreateProcess((null), mwccsym2.exe -g -O0 -wchar_t off -align 4
+-warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool
+-nostdinc -d _DEBUG -d _UNICODE -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d
+__WINSCW__ -cwd source -i- -i
+\AUSCVS_JOEY_DEV\ECLIPSE\RUNTIME-NEW_CONFIGURATION\TESTLIB\INC -i
+\Symbian\8.0a\S60_2nd_FP2_CW\EPOC32\INCLUDE -o
+\Symbian\8.0a\S60_2nd_FP2_CW\EPOC32\BUILD\AUSCVS_JOEY_DEV\ECLIPSE\RUNTIME-NEW_CONFIGURATION\TESTLIB\GROUP\TESTLIB\WINSCW\UDEB\TESTLIB.o
+-c \AUSCVS_JOEY_DEV\ECLIPSE\RUNTIME-NEW_CONFIGURATION\TESTLIB\SRC\Testlib.cpp,
+...) failed.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3201.winscw.regression.xml	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+  <!--Error Marker at index 0-->
+  <marker_info file="^EMPTY^" line_number="-1" message="Cannot launch a process. Check the build console for process creation errors." severity="3" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+</root>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3490.winscw.input.txt	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,1 @@
+'nmake' is not recognized as an internal or external command, operable program or batch file.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3490.winscw.regression.xml	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+  <!--Error Marker at index 0-->
+  <marker_info file="^EMPTY^" line_number="-1" message="'nmake' is not recognized as an internal or external command, operable program or batch file." severity="3" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+</root>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3642.winscw.input.txt	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,11 @@
+***Performing targeted build for configuration... Phone Debug (GCCE)
+[S60_3rd_MR].
+C:\WINNT\system32\cmd.exe /c abld  target GCCE UDEB  -v 
+  make -r  -f
+"\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Symbian\Carbide\workspace\baz\group\GCCE.make"
+TARGET CFG=UDEB
+The process cannot access the file because it is being used by another process.
+make[1]: *** [..\..\..\..\9.1\S60_3rd_MR\EPOC32\RELEASE\GCCE\UDEB\baz.exe]
+Error 1
+make: *** [TARGETBAZ] Error 2
+make   -C \Symbian\Carbide\workspace\baz\group -f "ICONS_SCALABLE_DC.MK"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3642.winscw.regression.xml	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+  <!--Error Marker at index 0-->
+  <marker_info file="^EMPTY^" line_number="0" message="The process cannot access the file because it is being used by another process." severity="3" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+</root>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/4541.gcce.input.txt	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,6 @@
+perl.exe -S ABLD.PL \Symbian\Carbide\kinoma\test3\group\ target gcce urel  
+  make -r  -f "\S60\devices\S60_3rd_FP2_SDK_v1.1\EPOC32\BUILD\Symbian\Carbide\kinoma\test3\group\GCCE.make" TARGET CFG=UREL VERBOSE=-s
+\S60\devices\S60_3rd_FP2_SDK_v1.1\EPOC32\BUILD\Symbian\Carbide\kinoma\test3\group\TEST3\GCCE\UREL\test3.o: In function `MainL()':
+test3.cpp:(.text+0x14): undefined reference to `foo()'
+make[1]: *** [\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\release\GCCE\urel\test3.exe] Error 1
+make: *** [TARGETTEST3] Error 2
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/4541.gcce.regression.xml	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+  <!--Error Marker at index 0-->
+  <marker_info file="^EMPTY^" line_number="0" message="test3.cpp: undefined reference to `foo()'" severity="2" variable_name="^EMPTY^" external_path_string="test3.cpp:" />
+</root>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/5618.gcce.input.txt	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,13 @@
+perl.exe -S ABLD.PL \develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\ target gcce urel  
+  make -r  -f "\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\GCCE.make" TARGET CFG=UREL VERBOSE=-s
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x14): undefined reference to `CScanEngine::HandleEvent(TECAMEvent const&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x18): undefined reference to `CScanEngine::ViewFinderReady(MCameraBuffer&, int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x1c): undefined reference to `CScanEngine::ImageBufferReady(MCameraBuffer&, int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x20): undefined reference to `CScanEngine::VideoBufferReady(MCameraBuffer&, int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x2c): undefined reference to `non-virtual thunk to CScanEngine::HandleEvent(TECAMEvent const&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x30): undefined reference to `non-virtual thunk to CScanEngine::ViewFinderReady(MCameraBuffer&, int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x34): undefined reference to `non-virtual thunk to CScanEngine::ImageBufferReady(MCameraBuffer&, int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x38): undefined reference to `non-virtual thunk to CScanEngine::VideoBufferReady(MCameraBuffer&, int)'
+make[1]: *** [..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\RELEASE\GCCE\UREL\BarcMe_20008181.exe] Error 1
+make: *** [TARGETBARCME] Error 2
+make -j 4 -s  -r -f "\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\BARCME.GCCE" UREL
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/5618.gcce.regression.xml	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+  <!--Error Marker at index 0-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x14): undefined reference to `CScanEngine::HandleEvent(TECAMEvent const&amp;)'" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 1-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x18): undefined reference to `CScanEngine::ViewFinderReady(MCameraBuffer&amp;, int)'" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 2-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x1c): undefined reference to `CScanEngine::ImageBufferReady(MCameraBuffer&amp;, int)'" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 3-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x20): undefined reference to `CScanEngine::VideoBufferReady(MCameraBuffer&amp;, int)'" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 4-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x2c): undefined reference to `non-virtual thunk to CScanEngine::HandleEvent(TECAMEvent const&amp;)'" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 5-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x30): undefined reference to `non-virtual thunk to CScanEngine::ViewFinderReady(MCameraBuffer&amp;, int)'" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 6-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x34): undefined reference to `non-virtual thunk to CScanEngine::ImageBufferReady(MCameraBuffer&amp;, int)'" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 7-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x38): undefined reference to `non-virtual thunk to CScanEngine::VideoBufferReady(MCameraBuffer&amp;, int)'" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+</root>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/5824.gcce.input.txt	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,23 @@
+perl.exe -S ABLD.PL \BlackFlag\ target gcce udeb  
+  make -r  -f "\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\BlackFlag\GCCE.make" TARGET
+CFG=UDEB VERBOSE=-s
+arm-none-symbianelf-g++: ..\..\SRC\Main.cpp: No such file or directory
+arm-none-symbianelf-g++: warning: `-x c++' after last input file has no effect
+arm-none-symbianelf-g++: no input files
+arm-none-symbianelf-g++: ..\..\SRC\Dbg_breakpoints.cpp: No such file or directory
+arm-none-symbianelf-g++: warning: `-x c++' after last input file has no effect
+arm-none-symbianelf-g++: no input files
+make[1]: ***
+[..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\BlackFlag\BLACKFLAG\GCCE\UDEB\main.o] Error 1
+make[1]: *** Waiting for unfinished jobs....
+make[1]: ***
+[..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\BlackFlag\BLACKFLAG\GCCE\UDEB\dbg_breakpoints.o] Error 1
+arm-none-symbianelf-g++: ..\..\SRC\Dbg_debug_menu.cpp: No such file or directory
+arm-none-symbianelf-g++: warning: `-x c++' after last input file has no effect
+arm-none-symbianelf-g++: no input files
+make[1]: ***
+[..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\BlackFlag\BLACKFLAG\GCCE\UDEB\dbg_debug_menu.o] Error 1
+make: *** [TARGETBLACKFLAG] Error 2
+arm-none-symbianelf-g++: ..\..\SRC\Dbg_derived_types.cpp: No such file or directory
+arm-none-symbianelf-g++: warning: `-x c++' after last input file has no effect
+arm-none-symbianelf-g++: no input files
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/5824.gcce.regression.xml	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+  <!--Error Marker at index 0-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\SRC\Main.cpp: No such file or directory" severity="2" variable_name="^EMPTY^" external_path_string="../../SRC/Main.cpp:" />
+  <!--Error Marker at index 1-->
+  <marker_info file="^EMPTY^" line_number="0" message="`-x c++' after last input file has no effect" severity="1" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 2-->
+  <marker_info file="^EMPTY^" line_number="0" message="no input files" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 3-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\SRC\Dbg_breakpoints.cpp: No such file or directory" severity="2" variable_name="^EMPTY^" external_path_string="../../SRC/Dbg_breakpoints.cpp:" />
+  <!--Error Marker at index 4-->
+  <marker_info file="^EMPTY^" line_number="0" message="`-x c++' after last input file has no effect" severity="1" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 5-->
+  <marker_info file="^EMPTY^" line_number="0" message="no input files" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 6-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\SRC\Dbg_debug_menu.cpp: No such file or directory" severity="2" variable_name="^EMPTY^" external_path_string="../../SRC/Dbg_debug_menu.cpp:" />
+  <!--Error Marker at index 7-->
+  <marker_info file="^EMPTY^" line_number="0" message="`-x c++' after last input file has no effect" severity="1" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 8-->
+  <marker_info file="^EMPTY^" line_number="0" message="no input files" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 9-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\SRC\Dbg_derived_types.cpp: No such file or directory" severity="2" variable_name="^EMPTY^" external_path_string="../../SRC/Dbg_derived_types.cpp:" />
+  <!--Error Marker at index 10-->
+  <marker_info file="^EMPTY^" line_number="0" message="`-x c++' after last input file has no effect" severity="1" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 11-->
+  <marker_info file="^EMPTY^" line_number="0" message="no input files" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+</root>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/6415.winscw.input.txt	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,17 @@
+Reportagencycontainer.cpp
+Reportcontainer.cpp
+Reportprojectcontainer.cpp
+Reportselectcontainer.cpp
+Reportsummarycontainer.cpp
+Reporttaskcontainer.cpp
+Reportview.cpp
+Yearselectitem.cpp
+Importhistorycontainer.cpp
+make[1]: *** [..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\RELEASE\GCCE\UREL\Punch2Go_A00001CE.exe] Error 87
+Importprogressdlgimpl.cpp
+Logentrydetailsdlg.cpp
+Logentrydetailscontainer.cpp
+Logentryeditdlg.cpp
+Logentryeditlistbox.cpp
+make: *** [TARGETPUNCH2GO] Error 2
+Maincontainer.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/6415.winscw.regression.xml	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+  <!--Error Marker at index 0-->
+  <marker_info file="^EMPTY^" line_number="-1" message="make[1]: *** [..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\RELEASE\GCCE\UREL\Punch2Go_A00001CE.exe] Error 87 - possibly too many arguments.  If there are a lot of source files in a library, try breaking those out into multiple libraries." severity="3" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+</root>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/6417.gcce.input.txt	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,181 @@
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::NewL(CDataKeeper&)':
+Overtimehandler.cpp:(.text+0x0): multiple definition of `COvertimeHandler::NewL(CDataKeeper&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::COvertimeHandler(CDataKeeper&)':
+Overtimehandler.cpp:(.text+0xa4): multiple definition of `COvertimeHandler::COvertimeHandler(CDataKeeper&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0xa4): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::ConstructL()':
+Overtimehandler.cpp:(.text+0x1ac): multiple definition of `COvertimeHandler::ConstructL()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x1ac): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::COvertimeHandler(CDataKeeper&)':
+Overtimehandler.cpp:(.text+0x40): multiple definition of `COvertimeHandler::COvertimeHandler(CDataKeeper&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x40): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::restoreDefaultValues()':
+Overtimehandler.cpp:(.text+0x3b8): multiple definition of `COvertimeHandler::restoreDefaultValues()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x3b8): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x0): multiple definition of `vtable for COvertimeHandler'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::~COvertimeHandler()':
+Overtimehandler.cpp:(.text+0x108): multiple definition of `COvertimeHandler::~COvertimeHandler()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x108): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::~COvertimeHandler()':
+Overtimehandler.cpp:(.text+0x13c): multiple definition of `COvertimeHandler::~COvertimeHandler()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x13c): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::~COvertimeHandler()':
+Overtimehandler.cpp:(.text+0x170): multiple definition of `COvertimeHandler::~COvertimeHandler()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x170): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::save(MSettingsStorage&)':
+Overtimehandler.cpp:(.text+0x1b0): multiple definition of `COvertimeHandler::save(MSettingsStorage&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x1b0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::load(MSettingsStorage&)':
+Overtimehandler.cpp:(.text+0x280): multiple definition of `COvertimeHandler::load(MSettingsStorage&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x280): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleViewActivated()':
+Overtimehandler.cpp:(.text+0x450): multiple definition of `COvertimeHandler::handleViewActivated()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x450): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleViewDeactivated()':
+Overtimehandler.cpp:(.text+0x454): multiple definition of `COvertimeHandler::handleViewDeactivated()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x454): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleWentBackground()':
+Overtimehandler.cpp:(.text+0x458): multiple definition of `COvertimeHandler::handleWentBackground()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x458): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleWentForeground()':
+Overtimehandler.cpp:(.text+0x45c): multiple definition of `COvertimeHandler::handleWentForeground()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x45c): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getOvertimeEngine()':
+Overtimehandler.cpp:(.text+0x460): multiple definition of `COvertimeHandler::getOvertimeEngine()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x460): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getPunchEngine()':
+Overtimehandler.cpp:(.text+0x478): multiple definition of `COvertimeHandler::getPunchEngine()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x478): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getSelectedHolidayId() const':
+Overtimehandler.cpp:(.text+0x490): multiple definition of `COvertimeHandler::getSelectedHolidayId() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x490): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getSelectedHolidayObject()':
+Overtimehandler.cpp:(.text+0x498): multiple definition of `COvertimeHandler::getSelectedHolidayObject()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x498): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getEditHolidayObject()':
+Overtimehandler.cpp:(.text+0x4c0): multiple definition of `COvertimeHandler::getEditHolidayObject()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x4c0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getSelectedVacationId() const':
+Overtimehandler.cpp:(.text+0x4c8): multiple definition of `COvertimeHandler::getSelectedVacationId() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x4c8): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getSelectedVacationObject()':
+Overtimehandler.cpp:(.text+0x4d0): multiple definition of `COvertimeHandler::getSelectedVacationObject()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x4d0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getEditVacationObject()':
+Overtimehandler.cpp:(.text+0x4f8): multiple definition of `COvertimeHandler::getEditVacationObject()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x4f8): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getStartStatistics() const':
+Overtimehandler.cpp:(.text+0x500): multiple definition of `COvertimeHandler::getStartStatistics() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x500): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getEndStatistics() const':
+Overtimehandler.cpp:(.text+0x508): multiple definition of `COvertimeHandler::getEndStatistics() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x508): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getStartResult() const':
+Overtimehandler.cpp:(.text+0x510): multiple definition of `COvertimeHandler::getStartResult() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x510): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getWorkHours() const':
+Overtimehandler.cpp:(.text+0x518): multiple definition of `COvertimeHandler::getWorkHours() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x518): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::setSelectedHolidayId(int)':
+Overtimehandler.cpp:(.text+0x520): multiple definition of `COvertimeHandler::setSelectedHolidayId(int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x520): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::setSelectedVacationId(int)':
+Overtimehandler.cpp:(.text+0x528): multiple definition of `COvertimeHandler::setSelectedVacationId(int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x528): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::setStartStatistics(TTime const&)':
+Overtimehandler.cpp:(.text+0x530): multiple definition of `COvertimeHandler::setStartStatistics(TTime const&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x530): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::setEndStatistics(TTime const&)':
+Overtimehandler.cpp:(.text+0x598): multiple definition of `COvertimeHandler::setEndStatistics(TTime const&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x598): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::setStartResult(int)':
+Overtimehandler.cpp:(.text+0x600): multiple definition of `COvertimeHandler::setStartResult(int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x600): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::setWorkHours(int)':
+Overtimehandler.cpp:(.text+0x63c): multiple definition of `COvertimeHandler::setWorkHours(int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x63c): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleHolidayEditL(MObjectProvider*, MReloadable*)':
+Overtimehandler.cpp:(.text+0x678): multiple definition of `COvertimeHandler::handleHolidayEditL(MObjectProvider*, MReloadable*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x678): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::canModifyObject(TBOBase const*)':
+Overtimehandler.cpp:(.text+0xb20): multiple definition of `COvertimeHandler::canModifyObject(TBOBase const*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0xb20): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleHolidayNewL(MObjectProvider*, MReloadable*)':
+Overtimehandler.cpp:(.text+0x750): multiple definition of `COvertimeHandler::handleHolidayNewL(MObjectProvider*, MReloadable*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x750): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleHolidayDeleteL(MObjectProvider*, MReloadable*)':
+Overtimehandler.cpp:(.text+0x7f4): multiple definition of `COvertimeHandler::handleHolidayDeleteL(MObjectProvider*, MReloadable*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x7f4): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleVacationEditL(MObjectProvider*, MReloadable*)':
+Overtimehandler.cpp:(.text+0x8cc): multiple definition of `COvertimeHandler::handleVacationEditL(MObjectProvider*, MReloadable*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x8cc): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleVacationNewL(MObjectProvider*, MReloadable*)':
+Overtimehandler.cpp:(.text+0x9a4): multiple definition of `COvertimeHandler::handleVacationNewL(MObjectProvider*, MReloadable*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x9a4): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleVacationDeleteL(MObjectProvider*, MReloadable*)':
+Overtimehandler.cpp:(.text+0xa48): multiple definition of `COvertimeHandler::handleVacationDeleteL(MObjectProvider*, MReloadable*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0xa48): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x64): multiple definition of `typeinfo for COvertimeHandler'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x64): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x50): multiple definition of `typeinfo name for COvertimeHandler'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x50): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::CMyContainer(CDataKeeper*)':
+Mycontainer.cpp:(.text+0x0): multiple definition of `CMyContainer::CMyContainer(CDataKeeper*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x0): multiple definition of `vtable for CMyContainer'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::CMyContainer(CDataKeeper*)':
+Mycontainer.cpp:(.text+0x5c): multiple definition of `CMyContainer::CMyContainer(CDataKeeper*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x5c): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::~CMyContainer()':
+Mycontainer.cpp:(.text+0xb8): multiple definition of `CMyContainer::~CMyContainer()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0xb8): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::~CMyContainer()':
+Mycontainer.cpp:(.text+0x144): multiple definition of `CMyContainer::~CMyContainer()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x144): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::~CMyContainer()':
+Mycontainer.cpp:(.text+0x1d0): multiple definition of `CMyContainer::~CMyContainer()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x1d0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::BaseContainerConstructL()':
+Mycontainer.cpp:(.text+0x264): multiple definition of `CMyContainer::BaseContainerConstructL()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x264): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::getDataKeeper() const':
+Mycontainer.cpp:(.text+0x268): multiple definition of `CMyContainer::getDataKeeper() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x268): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::handleSizeChanged(TRect const&)':
+Mycontainer.cpp:(.text+0x270): multiple definition of `CMyContainer::handleSizeChanged(TRect const&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x270): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::CountComponentControls() const':
+Mycontainer.cpp:(.text+0x284): multiple definition of `CMyContainer::CountComponentControls() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x284): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::ComponentControl(int) const':
+Mycontainer.cpp:(.text+0x29c): multiple definition of `CMyContainer::ComponentControl(int) const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x29c): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::addControlL(CCoeControl*)':
+Mycontainer.cpp:(.text+0x2c8): multiple definition of `CMyContainer::addControlL(CCoeControl*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x2c8): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::removeControl(CCoeControl*)':
+Mycontainer.cpp:(.text+0x318): multiple definition of `CMyContainer::removeControl(CCoeControl*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x318): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::resetControls()':
+Mycontainer.cpp:(.text+0x3a8): multiple definition of `CMyContainer::resetControls()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x3a8): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::handleBeforeDestruction()':
+Mycontainer.cpp:(.text+0x3c8): multiple definition of `CMyContainer::handleBeforeDestruction()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x3c8): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::isDestructing() const':
+Mycontainer.cpp:(.text+0x3f0): multiple definition of `CMyContainer::isDestructing() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x3f0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x118): multiple definition of `typeinfo for CMyContainer'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x118): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x108): multiple definition of `typeinfo name for CMyContainer'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x108): first defined here
+make[1]: *** [..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\RELEASE\GCCE\UREL\P2GData_A00001CD.dll] Error 1
+make: *** [TARGETP2GDATACLASSES] Error 2
+make -j 4 -s  -C \Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3 -f "PROGRAMICON.MK" TO_ROOT=..\..\..\..\.. EPOCBLD=..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\PROGRAMICON\GCCE TO_BLDINF=..\..\..\..\..\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3 PLATFORM=GCCE CFG=UREL BLD
+make -j 4 -s  -C \Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3 -f "PROGRAMGRAPHICS.MK" TO_ROOT=..\..\..\..\.. EPOCBLD=..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\PROGRAMGRAPHICS\GCCE TO_BLDINF=..\..\..\..\..\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3 PLATFORM=GCCE CFG=UREL BLD
+make -j 4 -s  -r -f "\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GCOMMON\GCCE\P2GCOMMON.GCCE" UREL
+make -j 4 -s  -r -f "\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GSERVER\GCCE\P2GSERVER.GCCE" UREL
+make -j 4 -s  -r -f "\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\P2GDATACLASSES.GCCE" UREL
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/6417.gcce.regression.xml	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+  <!--Error Marker at index 0-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::NewL(CDataKeeper&amp;)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 1-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 2-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::COvertimeHandler(CDataKeeper&amp;)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 3-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 4-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::ConstructL()'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 5-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 6-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::COvertimeHandler(CDataKeeper&amp;)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 7-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 8-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::restoreDefaultValues()'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 9-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 10-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x0): multiple definition of `vtable for COvertimeHandler'" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 11-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x0): first defined here" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 12-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::~COvertimeHandler()'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 13-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 14-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::~COvertimeHandler()'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 15-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 16-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::~COvertimeHandler()'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 17-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 18-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::save(MSettingsStorage&amp;)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 19-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 20-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::load(MSettingsStorage&amp;)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 21-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 22-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::handleViewActivated()'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 23-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 24-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::handleViewDeactivated()'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 25-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 26-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::handleWentBackground()'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 27-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 28-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::handleWentForeground()'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 29-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 30-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::getOvertimeEngine()'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 31-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 32-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::getPunchEngine()'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 33-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 34-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::getSelectedHolidayId() const'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 35-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 36-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::getSelectedHolidayObject()'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 37-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 38-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::getEditHolidayObject()'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 39-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 40-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::getSelectedVacationId() const'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 41-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 42-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::getSelectedVacationObject()'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 43-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 44-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::getEditVacationObject()'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 45-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 46-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::getStartStatistics() const'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 47-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 48-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::getEndStatistics() const'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 49-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 50-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::getStartResult() const'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 51-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 52-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::getWorkHours() const'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 53-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 54-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::setSelectedHolidayId(int)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 55-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 56-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::setSelectedVacationId(int)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 57-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 58-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::setStartStatistics(TTime const&amp;)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 59-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 60-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::setEndStatistics(TTime const&amp;)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 61-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 62-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::setStartResult(int)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 63-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 64-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::setWorkHours(int)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 65-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 66-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::handleHolidayEditL(MObjectProvider*, MReloadable*)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 67-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 68-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::canModifyObject(TBOBase const*)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 69-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 70-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::handleHolidayNewL(MObjectProvider*, MReloadable*)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 71-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 72-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::handleHolidayDeleteL(MObjectProvider*, MReloadable*)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 73-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 74-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::handleVacationEditL(MObjectProvider*, MReloadable*)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 75-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 76-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::handleVacationNewL(MObjectProvider*, MReloadable*)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 77-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 78-->
+  <marker_info file="^EMPTY^" line_number="0" message="Overtimehandler.cpp: multiple definition of `COvertimeHandler::handleVacationDeleteL(MObjectProvider*, MReloadable*)'" severity="2" variable_name="^EMPTY^" external_path_string="Overtimehandler.cpp:" />
+  <!--Error Marker at index 79-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/OvertimeHandler.o:Overtimehandler.cpp:" />
+  <!--Error Marker at index 80-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x64): multiple definition of `typeinfo for COvertimeHandler'" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 81-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x64): first defined here" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 82-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x50): multiple definition of `typeinfo name for COvertimeHandler'" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 83-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x50): first defined here" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 84-->
+  <marker_info file="^EMPTY^" line_number="0" message="Mycontainer.cpp: multiple definition of `CMyContainer::CMyContainer(CDataKeeper*)'" severity="2" variable_name="^EMPTY^" external_path_string="Mycontainer.cpp:" />
+  <!--Error Marker at index 85-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/MyContainer.o:Mycontainer.cpp:" />
+  <!--Error Marker at index 86-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x0): multiple definition of `vtable for CMyContainer'" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 87-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x0): first defined here" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 88-->
+  <marker_info file="^EMPTY^" line_number="0" message="Mycontainer.cpp: multiple definition of `CMyContainer::CMyContainer(CDataKeeper*)'" severity="2" variable_name="^EMPTY^" external_path_string="Mycontainer.cpp:" />
+  <!--Error Marker at index 89-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/MyContainer.o:Mycontainer.cpp:" />
+  <!--Error Marker at index 90-->
+  <marker_info file="^EMPTY^" line_number="0" message="Mycontainer.cpp: multiple definition of `CMyContainer::~CMyContainer()'" severity="2" variable_name="^EMPTY^" external_path_string="Mycontainer.cpp:" />
+  <!--Error Marker at index 91-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/MyContainer.o:Mycontainer.cpp:" />
+  <!--Error Marker at index 92-->
+  <marker_info file="^EMPTY^" line_number="0" message="Mycontainer.cpp: multiple definition of `CMyContainer::~CMyContainer()'" severity="2" variable_name="^EMPTY^" external_path_string="Mycontainer.cpp:" />
+  <!--Error Marker at index 93-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/MyContainer.o:Mycontainer.cpp:" />
+  <!--Error Marker at index 94-->
+  <marker_info file="^EMPTY^" line_number="0" message="Mycontainer.cpp: multiple definition of `CMyContainer::~CMyContainer()'" severity="2" variable_name="^EMPTY^" external_path_string="Mycontainer.cpp:" />
+  <!--Error Marker at index 95-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/MyContainer.o:Mycontainer.cpp:" />
+  <!--Error Marker at index 96-->
+  <marker_info file="^EMPTY^" line_number="0" message="Mycontainer.cpp: multiple definition of `CMyContainer::BaseContainerConstructL()'" severity="2" variable_name="^EMPTY^" external_path_string="Mycontainer.cpp:" />
+  <!--Error Marker at index 97-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/MyContainer.o:Mycontainer.cpp:" />
+  <!--Error Marker at index 98-->
+  <marker_info file="^EMPTY^" line_number="0" message="Mycontainer.cpp: multiple definition of `CMyContainer::getDataKeeper() const'" severity="2" variable_name="^EMPTY^" external_path_string="Mycontainer.cpp:" />
+  <!--Error Marker at index 99-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/MyContainer.o:Mycontainer.cpp:" />
+  <!--Error Marker at index 100-->
+  <marker_info file="^EMPTY^" line_number="0" message="Mycontainer.cpp: multiple definition of `CMyContainer::handleSizeChanged(TRect const&amp;)'" severity="2" variable_name="^EMPTY^" external_path_string="Mycontainer.cpp:" />
+  <!--Error Marker at index 101-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/MyContainer.o:Mycontainer.cpp:" />
+  <!--Error Marker at index 102-->
+  <marker_info file="^EMPTY^" line_number="0" message="Mycontainer.cpp: multiple definition of `CMyContainer::CountComponentControls() const'" severity="2" variable_name="^EMPTY^" external_path_string="Mycontainer.cpp:" />
+  <!--Error Marker at index 103-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/MyContainer.o:Mycontainer.cpp:" />
+  <!--Error Marker at index 104-->
+  <marker_info file="^EMPTY^" line_number="0" message="Mycontainer.cpp: multiple definition of `CMyContainer::ComponentControl(int) const'" severity="2" variable_name="^EMPTY^" external_path_string="Mycontainer.cpp:" />
+  <!--Error Marker at index 105-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/MyContainer.o:Mycontainer.cpp:" />
+  <!--Error Marker at index 106-->
+  <marker_info file="^EMPTY^" line_number="0" message="Mycontainer.cpp: multiple definition of `CMyContainer::addControlL(CCoeControl*)'" severity="2" variable_name="^EMPTY^" external_path_string="Mycontainer.cpp:" />
+  <!--Error Marker at index 107-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/MyContainer.o:Mycontainer.cpp:" />
+  <!--Error Marker at index 108-->
+  <marker_info file="^EMPTY^" line_number="0" message="Mycontainer.cpp: multiple definition of `CMyContainer::removeControl(CCoeControl*)'" severity="2" variable_name="^EMPTY^" external_path_string="Mycontainer.cpp:" />
+  <!--Error Marker at index 109-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/MyContainer.o:Mycontainer.cpp:" />
+  <!--Error Marker at index 110-->
+  <marker_info file="^EMPTY^" line_number="0" message="Mycontainer.cpp: multiple definition of `CMyContainer::resetControls()'" severity="2" variable_name="^EMPTY^" external_path_string="Mycontainer.cpp:" />
+  <!--Error Marker at index 111-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/MyContainer.o:Mycontainer.cpp:" />
+  <!--Error Marker at index 112-->
+  <marker_info file="^EMPTY^" line_number="0" message="Mycontainer.cpp: multiple definition of `CMyContainer::handleBeforeDestruction()'" severity="2" variable_name="^EMPTY^" external_path_string="Mycontainer.cpp:" />
+  <!--Error Marker at index 113-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/MyContainer.o:Mycontainer.cpp:" />
+  <!--Error Marker at index 114-->
+  <marker_info file="^EMPTY^" line_number="0" message="Mycontainer.cpp: multiple definition of `CMyContainer::isDestructing() const'" severity="2" variable_name="^EMPTY^" external_path_string="Mycontainer.cpp:" />
+  <!--Error Marker at index 115-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp: first defined here" severity="2" variable_name="^EMPTY^" external_path_string="../../../../../Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Carb13rc2/Workspace-P2G-3/Punch2Go-S60-3/Punch2Go/CS60-3/P2GDATACLASSES/GCCE/UREL/MyContainer.o:Mycontainer.cpp:" />
+  <!--Error Marker at index 116-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x118): multiple definition of `typeinfo for CMyContainer'" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 117-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x118): first defined here" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 118-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x108): multiple definition of `typeinfo name for CMyContainer'" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 119-->
+  <marker_info file="^EMPTY^" line_number="0" message="..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x108): first defined here" severity="2" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+</root>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/gnu_as.input.txt	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,2 @@
+/Symbian/Carbide/workspace/test/src/Foo.s: Assembler messages:
+/Symbian/Carbide/workspace/test/src/Foo.s:13: Warning: ignoring redefinition of register alias 'WIDTH'
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/gnu_as.regression.xml	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,5 @@
+<root>
+<!--Error Marker at index 0-->
+<marker_info external_path_string="/Symbian/Carbide/workspace/test/src/Foo.s" file="^EMPTY^" line_number="13" message="/Symbian/Carbide/workspace/test/src/Foo.s ignoring redefinition of register alias 'WIDTH'" severity="1" variable_name="^EMPTY^"/>
+</root>
+
--- a/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/makmake.errors.regression.1.xml	Tue Apr 21 15:35:46 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/makmake.errors.regression.1.xml	Fri Apr 24 14:48:12 2009 -0500
@@ -1,18 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <root>
-<!--Error Marker at index 0-->
-<marker_info external_path_string="/APPS/Nokia/DDB21Nightly/workspace/ListBox/group/LISTBOX.MMP" file="^EMPTY^" line_number="2" message="Unrecognised Keyword &quot;TARGE&quot;[\APPS\Nokia\DDB21Nightly\workspace\ListBox\group\LISTBOX.MMP]" severity="1" variable_name="^EMPTY^"/>
-<!--Error Marker at index 1-->
-<marker_info external_path_string="^EMPTY^" file="^EMPTY^" line_number="-1" message="ERROR: No Target specified" severity="3" variable_name="^EMPTY^"/>
-<!--Error Marker at index 2-->
-<marker_info external_path_string="/APPS/Nokia/DDB21Nightly/workspace/ListBox/group/LISTBOX.MMP" file="^EMPTY^" line_number="11" message="SOURCEPATH &quot;\APPS\Nokia\DDB21Nightly\workspace\ListBox\datx\&quot; not found[\APPS\Nokia\DDB21Nightly\workspace\ListBox\group\LISTBOX.MMP]" severity="1" variable_name="^EMPTY^"/>
-<!--Error Marker at index 3-->
-<marker_info external_path_string="/APPS/Nokia/DDB21Nightly/workspace/ListBox/group/LISTBOX.MMP" file="^EMPTY^" line_number="6" message="Stack size doesn't fit expected number format[\APPS\Nokia\DDB21Nightly\workspace\ListBox\group\LISTBOX.MMP]" severity="3" variable_name="^EMPTY^"/>
-<!--Error Marker at index 4-->
-<marker_info external_path_string="/APPS/Nokia/DDB21Nightly/workspace/ListBox/group/LISTBOX.MMP" file="^EMPTY^" line_number="42" message="BITMAP color depth &quot;listboxlistbox.cpp&quot; - unexpected format[\APPS\Nokia\DDB21Nightly\workspace\ListBox\group\LISTBOX.MMP]" severity="3" variable_name="^EMPTY^"/>
-<!--Error Marker at index 5-->
-<marker_info external_path_string="^EMPTY^" file="^EMPTY^" line_number="-1" message="ERROR: No Sources specified" severity="3" variable_name="^EMPTY^"/>
-<!--Error Marker at index 6-->
-<marker_info external_path_string="^EMPTY^" file="^EMPTY^" line_number="-1" message="ERROR: No Sources specified" severity="3" variable_name="^EMPTY^"/>
-<!--Error Marker at index 7-->
-<marker_info external_path_string="X:/SWATI_Symbian_Tools/Trace/TraceCore/group2/BLD.INF" file="^EMPTY^" line_number="59" message="#error test[X:\SWATI_Symbian_Tools\Trace\TraceCore\group2\BLD.INF]" severity="3" variable_name="^EMPTY^"/>
+  <!--Error Marker at index 0-->
+  <marker_info file="^EMPTY^" line_number="2" message="Unrecognised Keyword &quot;TARGE&quot;[\APPS\Nokia\DDB21Nightly\workspace\ListBox\group\LISTBOX.MMP]" severity="1" variable_name="^EMPTY^" external_path_string="/APPS/Nokia/DDB21Nightly/workspace/ListBox/group/LISTBOX.MMP" />
+  <!--Error Marker at index 1-->
+  <marker_info file="^EMPTY^" line_number="-1" message="ERROR: No Target specified" severity="3" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 2-->
+  <marker_info file="^EMPTY^" line_number="11" message="SOURCEPATH &quot;\APPS\Nokia\DDB21Nightly\workspace\ListBox\datx\&quot; not found[\APPS\Nokia\DDB21Nightly\workspace\ListBox\group\LISTBOX.MMP]" severity="1" variable_name="^EMPTY^" external_path_string="/APPS/Nokia/DDB21Nightly/workspace/ListBox/group/LISTBOX.MMP" />
+  <!--Error Marker at index 3-->
+  <marker_info file="^EMPTY^" line_number="6" message="Stack size doesn't fit expected number format[\APPS\Nokia\DDB21Nightly\workspace\ListBox\group\LISTBOX.MMP]" severity="3" variable_name="^EMPTY^" external_path_string="/APPS/Nokia/DDB21Nightly/workspace/ListBox/group/LISTBOX.MMP" />
+  <!--Error Marker at index 4-->
+  <marker_info file="^EMPTY^" line_number="42" message="BITMAP color depth &quot;listboxlistbox.cpp&quot; - unexpected format[\APPS\Nokia\DDB21Nightly\workspace\ListBox\group\LISTBOX.MMP]" severity="3" variable_name="^EMPTY^" external_path_string="/APPS/Nokia/DDB21Nightly/workspace/ListBox/group/LISTBOX.MMP" />
+  <!--Error Marker at index 5-->
+  <marker_info file="^EMPTY^" line_number="-1" message="ERROR: No Sources specified" severity="3" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 6-->
+  <marker_info file="^EMPTY^" line_number="-1" message="ERROR: No Sources specified" severity="3" variable_name="^EMPTY^" external_path_string="^EMPTY^" />
+  <!--Error Marker at index 7-->
+  <marker_info file="^EMPTY^" line_number="59" message="X:\SWATI_Symbian_Tools\Trace\TraceCore\group2\BLD.INF #error test" severity="2" variable_name="^EMPTY^" external_path_string="X:/SWATI_Symbian_Tools/Trace/TraceCore/group2/BLD.INF" />
 </root>
+
--- a/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/AllTests.java	Tue Apr 21 15:35:46 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/AllTests.java	Fri Apr 24 14:48:12 2009 -0500
@@ -28,6 +28,8 @@
 		suite.addTestSuite(TestRVCTErrorParser.class);
 		suite.addTestSuite(TestMakmakeErrorParser.class);
 		suite.addTestSuite(TestSBSv2ErrorParser.class);
+		suite.addTestSuite(TestGcceErrorParser.class);
+		suite.addTestSuite(TestMakeErrorParser.class);
 		//$JUnit-END$
 		return suite;
 	}
--- a/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/CarbideErrorParserTestHarness.java	Tue Apr 21 15:35:46 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/CarbideErrorParserTestHarness.java	Fri Apr 24 14:48:12 2009 -0500
@@ -27,37 +27,32 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintStream;
-import java.io.StringWriter;
 import java.util.ArrayList;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
+import java.util.List;
 
 import junit.framework.Assert;
 
 import org.eclipse.cdt.core.ProblemMarkerInfo;
+import org.eclipse.cdt.core.model.ICModelMarker;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.w3c.dom.Comment;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
+import org.jdom.Attribute;
+import org.jdom.Comment;
+import org.jdom.DefaultJDOMFactory;
+import org.jdom.Document;
+import org.jdom.Element;
+import org.jdom.JDOMException;
+import org.jdom.filter.ElementFilter;
+import org.jdom.input.SAXBuilder;
+import org.jdom.output.Format;
+import org.jdom.output.XMLOutputter;
 
 import com.nokia.carbide.cdt.builder.builder.CarbideCommandLauncher;
+import com.nokia.carbide.cdt.builder.test.TestPlugin;
+import com.nokia.cpp.internal.api.utils.core.FileUtils;
 
 public class CarbideErrorParserTestHarness extends CarbideCommandLauncher {
 	static final String EMPTY = "^EMPTY^";
@@ -72,6 +67,7 @@
 	IProject project;
 	ArrayList<ProblemMarkerInfo> ideProblemMarkerInfoList;
 	ArrayList<ProblemMarkerInfo> xmlFilePromblemMarkerInfoList;
+	boolean debug = false;
 	
 	public CarbideErrorParserTestHarness(IProject project, 
 			  IProgressMonitor monitor, 
@@ -117,9 +113,15 @@
 		// pick out the stdout stream directly, where CDT error parser sniff
 		// for error messages from build console
 		try {
+			stdoutStream.getProject().deleteMarkers(ICModelMarker.C_MODEL_PROBLEM_MARKER, true, IResource.DEPTH_INFINITE); // clear UI list before we start
+			stdoutStream.clearScratchBuffer();	// some error parser do multiple lines
+			consoleOutput += "\n";	// force the input file to flush all lines
 			stdoutStream.write(consoleOutput.getBytes());
+			stdoutStream.flush();
 		} catch (IOException e) {
 			Assert.fail();
+		} catch (CoreException e) {
+			Assert.fail();
 		}
 	}
 	
@@ -174,6 +176,16 @@
 		readControlXML(xmlInputStream);
 		
 		if (ideProblemMarkerInfoList.size() != xmlFilePromblemMarkerInfoList.size()) {
+			if (debug) {
+				java.io.File file;
+				try {
+					file = FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/currentOutput.xml");
+					writeRegressionXMLFile(new java.io.PrintStream(file));
+				} catch (IOException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+			}
 			Assert.fail("IDE contains " + ideProblemMarkerInfoList.size() + " markers and Control file contains " + xmlFilePromblemMarkerInfoList.size());
 			return false;
 		}
@@ -252,18 +264,20 @@
 	// read control case from a XML file and setup internal list
 	public void readControlXML(InputStream xmlInputStream) {
 		try {
-			DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
-	        DocumentBuilder docBuilder;
-			docBuilder = dbfac.newDocumentBuilder();
-	        Document doc = docBuilder.parse(xmlInputStream);
-	        doc.getDocumentElement().normalize();
+	        SAXBuilder docBuilder = new SAXBuilder();
+	        Document doc = docBuilder.build(xmlInputStream);
 
-	        NodeList markerNodeList = doc.getElementsByTagName(MARKER_INFO);
-	        int markerNodeListSize = markerNodeList.getLength();
+	        Element root = doc.getRootElement();
+	        ElementFilter elementFilter = new ElementFilter(MARKER_INFO);
+
+	        List<?> allMarkerInfo = root.getContent(elementFilter);
 	        
 	        xmlFilePromblemMarkerInfoList.clear();
 	        
-	        for (int i = 0; i < markerNodeListSize; i++) {
+	        int markerInfoListSize = allMarkerInfo.size();
+	        
+	        for (int i = 0; i < markerInfoListSize; i++) {
+	        	Object info = allMarkerInfo.get(i);
 	        	IResource file = null;
 	        	int lineNumber;
 	        	String description;
@@ -271,31 +285,29 @@
 	        	String variableName;
 	        	IPath externalPath;
 	        	
-	        	Node markerNode = markerNodeList.item(i);
-		        NamedNodeMap attributes = markerNode.getAttributes();
+	        	Assert.assertTrue(info instanceof Element);
+	        	Element markerInfo = (Element)info;
 		        
-		        Node locationNode = attributes.getNamedItem(LINE_NUMBER);
-		        lineNumber = Integer.parseInt(locationNode.getNodeValue());
+		        Attribute locationNode = markerInfo.getAttribute(LINE_NUMBER);
+		        lineNumber = Integer.parseInt(locationNode.getValue());
 
-		        Node messageNode = attributes.getNamedItem(MESSAGE);
-		        description = messageNode.getNodeValue();
+		        Attribute messageNode = markerInfo.getAttribute(MESSAGE);
+		        description = messageNode.getValue();
 		        
-		        Node severityNode = attributes.getNamedItem(SEVERITY);
-		        severity = Integer.parseInt(severityNode.getNodeValue());
+		        Attribute severityNode = markerInfo.getAttribute(SEVERITY);
+		        severity = Integer.parseInt(severityNode.getValue());
 
-		        Node variableNameNode = attributes.getNamedItem(VARIABLE_NAME);
-		        variableName = variableNameNode.getNodeValue();
+		        Attribute variableNameNode = markerInfo.getAttribute(VARIABLE_NAME);
+		        variableName = variableNameNode.getValue();
 		        
-		        Node externalPathStringNode = attributes.getNamedItem(EXTERNAL_PATH_STRING);
-		        externalPath = new Path(externalPathStringNode.getNodeValue());		        
+		        Attribute externalPathStringNode = markerInfo.getAttribute(EXTERNAL_PATH_STRING);
+		        externalPath = new org.eclipse.core.runtime.Path(externalPathStringNode.getValue());		        
 
 	        	ProblemMarkerInfo details = new ProblemMarkerInfo(file, lineNumber, description, severity, variableName, externalPath);
 	        	xmlFilePromblemMarkerInfoList.add(details);
 
 	        }
-		} catch (ParserConfigurationException e) {
-			Assert.fail();
-		} catch (SAXException e) {
+		} catch (JDOMException e) {
 			Assert.fail();
 		} catch (IOException e) {
 			Assert.fail();
@@ -312,29 +324,22 @@
 	 */
 	public void writeRegressionXMLFile(PrintStream printStream) {		
 		try {
-			
-			// prepare XML tree
-	        DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
-	        DocumentBuilder docBuilder;
-
-			docBuilder = dbfac.newDocumentBuilder();
-	        Document doc = docBuilder.newDocument();
-
-	        Element root = doc.createElement("root");
-	        doc.appendChild(root);
+	        DefaultJDOMFactory jdomFactory = new DefaultJDOMFactory();
+	        Document jdomdoc = jdomFactory.document(jdomFactory.element("root"));
+	        Element root = jdomdoc.getRootElement();
 	        
 	        int index = 0;
-
-			for (ProblemMarkerInfo marker : ideProblemMarkerInfoList)
-			{
-		        Element child = doc.createElement(MARKER_INFO);
-		        Comment comment = doc.createComment("Error Marker at index " + index);
-		        ++index;
-
+	        for (ProblemMarkerInfo marker : ideProblemMarkerInfoList)
+	        {
+	        	Element child = jdomFactory.element(MARKER_INFO);
+	        	Comment comment = jdomFactory.comment("Error Marker at index " + index);
+	        	++index;
+	        	
 		        /* CarbideCommandLauncher.addMarker() does not set file
 		        file = marker.getAttribute(IMarker.LOCATION, 0);
 				child.setAttribute(LOCATION, new Integer(file).toString()); 
 		         */
+	        	
 		        child.setAttribute(FILE, EMPTY); // file
 				child.setAttribute(LINE_NUMBER, new Integer(marker.lineNumber).toString());
 				String description;
@@ -360,34 +365,21 @@
 				}
 				child.setAttribute(EXTERNAL_PATH_STRING, externalPathString);
 				
-				root.appendChild(comment);
-		        root.appendChild(child);
-			}
+				root.addContent(comment);
+				root.addContent(child);
+	        }
 
-	        // print
-	        TransformerFactory transfac = TransformerFactory.newInstance();
-	        Transformer trans = transfac.newTransformer();
-	        trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
-	        trans.setOutputProperty(OutputKeys.INDENT, "yes");
-
-	        // create string from xml tree
-	        StringWriter sw = new StringWriter();
-	        StreamResult result = new StreamResult(sw);
-	        DOMSource source = new DOMSource(doc);
-	        trans.transform(source, result);
-	        String xmlString = sw.toString();
+			// drop JAXP for JDOM
+			XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
+			outputter.output(jdomdoc, printStream);
 
 	        // print xml
-	        printStream.println(xmlString);
 	        printStream.flush();
 	        printStream.close();
         
-		} catch (ParserConfigurationException e) {
-			Assert.fail();
-		} catch (TransformerConfigurationException e) {
-			Assert.fail();
-		} catch (TransformerException e) {
-			Assert.fail();
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
 		}
 
 	}
--- a/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/ErrorParserRegressionGenerator.java	Tue Apr 21 15:35:46 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/ErrorParserRegressionGenerator.java	Fri Apr 24 14:48:12 2009 -0500
@@ -21,23 +21,30 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import junit.framework.TestCase;
-
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.NullProgressMonitor;
 
+import com.nokia.carbide.automation.utils.UITestCase;
 import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin;
 import com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder;
 import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
 import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
 import com.nokia.carbide.cdt.builder.test.TestPlugin;
-import com.nokia.carbide.cpp.internal.api.sdk.SymbianBuildContext;
 import com.nokia.carbide.cpp.project.core.ProjectCorePlugin;
-import com.nokia.carbide.cpp.sdk.core.*;
+import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
+import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
+import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
 import com.nokia.cpp.internal.api.utils.core.FileUtils;
 
-public class ErrorParserRegressionGenerator extends TestCase {
+public class ErrorParserRegressionGenerator extends UITestCase {
+	public ErrorParserRegressionGenerator(String name) {
+		super(name);
+		// TODO Auto-generated constructor stub
+	}
+
 	private static final String PROJECT_NAME = "TestErrorParser";
+	// Platform matters, set this before you build
+	private static final String PLATFORM_STRING = ISymbianBuildContext.EMULATOR_PLATFORM;
 
 	CarbideErrorParserTestHarness harness;
 	private IProject project;
@@ -46,11 +53,24 @@
 		super.setUp();
 		project = ProjectCorePlugin.createProject(PROJECT_NAME, null);
 		
+		// look for first SDK with the platform
+		List<ISymbianBuildContext> contextList = new ArrayList<ISymbianBuildContext>();
 		// You need to set the proper default configuration so the correct set of error parsers is called
-		ISymbianSDK sdk = SDKCorePlugin.getSDKManager().getSDKList().get(0);
-		ISymbianBuildContext context = new SymbianBuildContext(sdk, ISymbianBuildContext.ARMV5_PLATFORM, ISymbianBuildContext.DEBUG_TARGET);
-		List<ISymbianBuildContext> contextList = new ArrayList<ISymbianBuildContext>();
-		contextList.add(context);
+		List<ISymbianSDK> sdkList = SDKCorePlugin.getSDKManager().getSDKList();
+		for (ISymbianSDK currSDK : sdkList){
+			List<ISymbianBuildContext> contexts = currSDK.getUnfilteredBuildConfigurations();
+			for (ISymbianBuildContext context : contexts) {
+				if (context.getPlatformString().equals(PLATFORM_STRING)) {
+					contextList.add(context);
+					break;
+				}
+			}
+			if (contextList.size() > 0) {
+				break;
+			}
+		}
+
+		assertTrue(contextList.size() > 0);		// this means you don't have any SDK installe with the said platform
 		
 //		ProjectCorePlugin.postProjectCreatedActions(project, "group/bld.inf", 
 //				TestPlugin.getUsableBuildConfigs(), new ArrayList<String>(), 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestGcceErrorParser.java	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,122 @@
+package com.nokia.carbide.cdt.builder.test.errorParsers;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.NullProgressMonitor;
+
+import com.nokia.carbide.automation.utils.UITestCase;
+import com.nokia.carbide.automation.utils.debugger.DebuggerTestCaseParameters;
+import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin;
+import com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder;
+import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
+import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
+import com.nokia.carbide.cdt.builder.test.TestPlugin;
+import com.nokia.carbide.cpp.project.core.ProjectCorePlugin;
+import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
+import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
+import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
+import com.nokia.cpp.internal.api.utils.core.FileUtils;
+
+public class TestGcceErrorParser extends UITestCase implements DebuggerTestCaseParameters {
+
+	public TestGcceErrorParser(String name) {
+		super(name);
+		// TODO Auto-generated constructor stub
+	}
+
+	private static final String PROJECT_NAME = "TestGcceErrorParser";
+	private static final String PROJECT_PATH = "group/bld.inf";
+	
+	CarbideErrorParserTestHarness harness;
+	private IProject project;
+	
+	protected void setUp() throws Exception {
+		super.setUp();
+		project = ProjectCorePlugin.createProject(PROJECT_NAME, null);
+		List<ISymbianBuildContext> contextList = new ArrayList<ISymbianBuildContext>();
+		
+		// You need to set the proper default configuration so the correct set of error parsers is called
+		List<ISymbianSDK> sdkList = SDKCorePlugin.getSDKManager().getSDKList();
+		for (ISymbianSDK currSDK : sdkList){
+			List<ISymbianBuildContext> contexts = currSDK.getUnfilteredBuildConfigurations();
+			for (ISymbianBuildContext context : contexts) {
+				if (context.getPlatformString().equals(ISymbianBuildContext.GCCE_PLATFORM)) {
+					contextList.add(context);
+					break;
+				}
+			}
+			if (contextList.size() > 0) {
+				break;
+			}
+		}
+		
+		assertTrue(contextList.size() > 0);		// if this fail, you don't have any SDK installed supporting GCCE
+		
+		ProjectCorePlugin.postProjectCreatedActions(project, PROJECT_PATH, 
+				contextList, new ArrayList<String>(), 
+				"Debug MMP", null, new NullProgressMonitor());
+		
+		ICarbideProjectInfo cpi = CarbideBuilderPlugin.getBuildManager().getProjectInfo(project);
+		ICarbideBuildConfiguration buildConfig = cpi.getDefaultConfiguration();
+		harness = new CarbideErrorParserTestHarness(project, 
+												new NullProgressMonitor(),
+												CarbideCPPBuilder.getParserIdArray(buildConfig.getErrorParserId()), 
+												cpi.getINFWorkingDirectory());
+	}
+	
+	protected void tearDown() throws Exception {
+		project.delete(true, null);
+		super.tearDown();
+	}
+	
+	/**
+	 * Test for assembler errors/warnings
+	 */
+	/*
+	public void testGnuAsMessages() {
+		//argument 1 is console output you get from the tool
+		//argument 2 is control XML with the marker data
+		try {
+			harness.parseStringAndTestAgainstXML(FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/gnu_as.input.txt"), 
+												FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/gnu_as.regression.xml"));
+		} catch (IOException e) {
+			fail();
+		}
+	}
+	*/
+	
+	/*
+	 * Test for AbstractGCCErrorParser
+	 */
+	public void testAbstractGCCErrorParser() {
+		//argument 1 is console output you get from the tool
+		//argument 2 is control XML with the marker data
+		try {
+			harness.parseStringAndTestAgainstXML(FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/abstractgcce.input.txt"), 
+												FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/abstractgcce.regression.xml"));
+		} catch (IOException e) {
+			fail();
+		}
+	}
+
+	/**
+	 * Regress Bugzilla issues by entries
+	 */
+	public void testBugzillaRegression() {
+		final String reportID[] = {"2969", "4541", "5618", "5824", "6417"};
+		//argument 1 is console output you get from the tool
+		//argument 2 is control XML with the marker data
+		try {
+			for (int i = 0; i < reportID.length; i++) {
+				harness.parseStringAndTestAgainstXML(FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/bugzilla/" + reportID[i] +".gcce.input.txt"), 
+						FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/bugzilla/" + reportID[i] +".gcce.regression.xml"));
+			}
+		} catch (IOException e) {
+			fail();
+		}
+	}
+	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestMakeErrorParser.java	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,91 @@
+package com.nokia.carbide.cdt.builder.test.errorParsers;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.NullProgressMonitor;
+
+import com.nokia.carbide.automation.utils.UITestCase;
+import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin;
+import com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder;
+import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
+import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
+import com.nokia.carbide.cdt.builder.test.TestPlugin;
+import com.nokia.carbide.cpp.project.core.ProjectCorePlugin;
+import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
+import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
+import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
+import com.nokia.cpp.internal.api.utils.core.FileUtils;
+
+public class TestMakeErrorParser extends UITestCase {
+
+	public TestMakeErrorParser(String name) {
+		super(name);
+		// TODO Auto-generated constructor stub
+	}
+
+	CarbideErrorParserTestHarness harness;
+	private IProject project;
+	
+	private static final String PROJECT_NAME = "TestGcceErrorParser";
+	private static final String PROJECT_PATH = "group/bld.inf";
+	
+	protected void setUp() throws Exception {
+		super.setUp();
+		project = ProjectCorePlugin.createProject(PROJECT_NAME, null);
+		List<ISymbianBuildContext> contextList = new ArrayList<ISymbianBuildContext>();
+		
+		// You need to set the proper default configuration so the correct set of error parsers is called
+		List<ISymbianSDK> sdkList = SDKCorePlugin.getSDKManager().getSDKList();
+		for (ISymbianSDK currSDK : sdkList){
+			List<ISymbianBuildContext> contexts = currSDK.getUnfilteredBuildConfigurations();
+			for (ISymbianBuildContext context : contexts) {
+				if (context.getPlatformString().equals(ISymbianBuildContext.EMULATOR_PLATFORM)) {
+					contextList.add(context);
+					break;
+				}
+			}
+			if (contextList.size() > 0) {
+				break;
+			}
+		}
+		
+		assertTrue(contextList.size() > 0);		// if this fail, you don't have any SDK installed supporting GCCE
+		
+		ProjectCorePlugin.postProjectCreatedActions(project, PROJECT_PATH, 
+				contextList, new ArrayList<String>(), 
+				"Debug MMP", null, new NullProgressMonitor());
+		
+		ICarbideProjectInfo cpi = CarbideBuilderPlugin.getBuildManager().getProjectInfo(project);
+		ICarbideBuildConfiguration buildConfig = cpi.getDefaultConfiguration();
+		harness = new CarbideErrorParserTestHarness(project, 
+												new NullProgressMonitor(),
+												CarbideCPPBuilder.getParserIdArray(buildConfig.getErrorParserId()), 
+												cpi.getINFWorkingDirectory());
+	}
+	
+	protected void tearDown() throws Exception {
+		project.delete(true, null);
+		super.tearDown();
+	}
+	
+	/**
+	 * Regress Bugzilla issues by entries
+	 */
+	public void testBugzillaRegression() {
+		final String reportID[] = {"3201", "3134", "3490", "6415"};
+		//argument 1 is console output you get from the tool
+		//argument 2 is control XML with the marker data
+		try {
+			for (int i = 0; i < reportID.length; i++) {
+				harness.parseStringAndTestAgainstXML(FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/bugzilla/" + reportID[i] +".winscw.input.txt"), 
+						FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/bugzilla/" + reportID[i] +".winscw.regression.xml"));
+			}
+		} catch (IOException e) {
+			fail();
+		}
+	}
+
+}
--- a/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestMakmakeErrorParser.java	Tue Apr 21 15:35:46 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestMakmakeErrorParser.java	Fri Apr 24 14:48:12 2009 -0500
@@ -21,6 +21,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import junit.framework.TestCase;
+
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.NullProgressMonitor;
 
@@ -29,18 +31,15 @@
 import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
 import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
 import com.nokia.carbide.cdt.builder.test.TestPlugin;
-import com.nokia.carbide.cpp.internal.api.sdk.SymbianBuildContext;
 import com.nokia.carbide.cpp.project.core.ProjectCorePlugin;
-import com.nokia.carbide.cpp.sdk.core.*;
+import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
+import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
+import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
 import com.nokia.cpp.internal.api.utils.core.FileUtils;
 
-import junit.framework.TestCase;
-
 public class TestMakmakeErrorParser extends TestCase {
 	private static final String PROJECT_NAME = "TestMakmakeErrorParser";
 	private static final String PROJECT_PATH = "group/bld.inf";
-	private static final String SDK_ID_UPPER_CASE = "S60_3RD_MR";  // ID of the SDK we want to use to create build configurations
-	
 	private static final String TEST_DATA_INPUT_FILE = "data/errorpatterns/makmake.errors.input.1.txt";
 	private static final String CONTROL_DATA_FILE    = "data/errorpatterns/makmake.errors.regression.1.xml";
 	
@@ -50,23 +49,23 @@
 	protected void setUp() throws Exception {
 		super.setUp();
 		project = ProjectCorePlugin.createProject(PROJECT_NAME, null);
+		List<ISymbianBuildContext> contextList = new ArrayList<ISymbianBuildContext>();
 		
 		// You need to set the proper default configuration so the correct set of error parsers is called
 		List<ISymbianSDK> sdkList = SDKCorePlugin.getSDKManager().getSDKList();
-		ISymbianSDK sdk = null;
 		for (ISymbianSDK currSDK : sdkList){
-			if (currSDK.getUniqueId().toUpperCase().equals(SDK_ID_UPPER_CASE)){
-				sdk = currSDK;
+			List<ISymbianBuildContext> contexts = currSDK.getUnfilteredBuildConfigurations();
+			for (ISymbianBuildContext context : contexts) {
+				if (context.getPlatformString().equals(ISymbianBuildContext.ARMV5_PLATFORM)) {
+					contextList.add(context);
+					break;
+				}
+			}
+			if (contextList.size() > 0) {
 				break;
 			}
 		}
 		
-		assertNotNull(sdk);
-		
-		ISymbianBuildContext context = new SymbianBuildContext(sdk, ISymbianBuildContext.ARMV5_PLATFORM, ISymbianBuildContext.DEBUG_TARGET);
-		List<ISymbianBuildContext> contextList = new ArrayList<ISymbianBuildContext>();
-		contextList.add(context);
-		
 		// Don't do this... Because it will just default to WINSCW target
 //		ProjectCorePlugin.postProjectCreatedActions(project, "group/bld.inf", 
 //				TestPlugin.getUsableBuildConfigs(), new ArrayList<String>(), 
--- a/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestRVCTErrorParser.java	Tue Apr 21 15:35:46 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestRVCTErrorParser.java	Fri Apr 24 14:48:12 2009 -0500
@@ -21,6 +21,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import junit.framework.TestCase;
+
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.NullProgressMonitor;
 
@@ -29,18 +31,15 @@
 import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
 import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
 import com.nokia.carbide.cdt.builder.test.TestPlugin;
-import com.nokia.carbide.cpp.internal.api.sdk.SymbianBuildContext;
 import com.nokia.carbide.cpp.project.core.ProjectCorePlugin;
-import com.nokia.carbide.cpp.sdk.core.*;
+import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
+import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
+import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
 import com.nokia.cpp.internal.api.utils.core.FileUtils;
 
-import junit.framework.TestCase;
-
 public class TestRVCTErrorParser extends TestCase {
 	private static final String PROJECT_NAME = "TestRVCTErrorParser";
 	private static final String PROJECT_PATH = "group/bld.inf";
-	private static final String SDK_ID_UPPER_CASE = "S60_3RD_MR";  // ID of the SDK we want to use to create build configurations
-	
 	private static final String TEST_DATA_INPUT_FILE = "data/errorpatterns/rvct.errors.input.1.txt";
 	private static final String CONTROL_DATA_FILE    = "data/errorpatterns/rvct.errors.regression.1.xml";
 	
@@ -50,22 +49,24 @@
 	protected void setUp() throws Exception {
 		super.setUp();
 		project = ProjectCorePlugin.createProject(PROJECT_NAME, null);
+		List<ISymbianBuildContext> contextList = new ArrayList<ISymbianBuildContext>();
 		
 		// You need to set the proper default configuration so the correct set of error parsers is called
 		List<ISymbianSDK> sdkList = SDKCorePlugin.getSDKManager().getSDKList();
-		ISymbianSDK sdk = null;
 		for (ISymbianSDK currSDK : sdkList){
-			if (currSDK.getUniqueId().toUpperCase().equals(SDK_ID_UPPER_CASE)){
-				sdk = currSDK;
+			List<ISymbianBuildContext> contexts = currSDK.getUnfilteredBuildConfigurations();
+			for (ISymbianBuildContext context : contexts) {
+				if (context.getPlatformString().equals(ISymbianBuildContext.ARMV5_PLATFORM)) {
+					contextList.add(context);
+					break;
+				}
+			}
+			if (contextList.size() > 0) {
 				break;
 			}
 		}
 		
-		assertNotNull(sdk);
-		
-		ISymbianBuildContext context = new SymbianBuildContext(sdk, ISymbianBuildContext.ARMV5_PLATFORM, ISymbianBuildContext.DEBUG_TARGET);
-		List<ISymbianBuildContext> contextList = new ArrayList<ISymbianBuildContext>();
-		contextList.add(context);
+		assertTrue(contextList.size() > 0);		// if this fail, you don't have any SDK installed supporting GCCE
 		
 		// Don't do this... Because it will just default to WINSCW target
 //		ProjectCorePlugin.postProjectCreatedActions(project, "group/bld.inf", 
@@ -114,4 +115,22 @@
 			fail();
 		}
 	}
+	
+	/**
+	 * Regress Bugzilla issues by entries
+	 */
+	public void testBugzillaRegression() {
+		final String reportID[] = {"3053"};
+		//argument 1 is console output you get from the tool
+		//argument 2 is control XML with the marker data
+		try {
+			for (int i = 0; i < reportID.length; i++) {
+				harness.parseStringAndTestAgainstXML(FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/bugzilla/" + reportID[i] +".rvct.input.txt"), 
+						FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/bugzilla/" + reportID[i] +".rvct.regression.xml"));
+			}
+		} catch (IOException e) {
+			fail();
+		}
+	}
+
 }
--- a/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestSBSv2ErrorParser.java	Tue Apr 21 15:35:46 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestSBSv2ErrorParser.java	Fri Apr 24 14:48:12 2009 -0500
@@ -21,6 +21,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import junit.framework.TestCase;
+
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.NullProgressMonitor;
 
@@ -29,18 +31,15 @@
 import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
 import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
 import com.nokia.carbide.cdt.builder.test.TestPlugin;
-import com.nokia.carbide.cpp.internal.api.sdk.SymbianBuildContext;
 import com.nokia.carbide.cpp.project.core.ProjectCorePlugin;
-import com.nokia.carbide.cpp.sdk.core.*;
+import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
+import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
+import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
 import com.nokia.cpp.internal.api.utils.core.FileUtils;
 
-import junit.framework.TestCase;
-
 public class TestSBSv2ErrorParser extends TestCase {
 	private static final String PROJECT_NAME = "TestSBSv2ErrorParser";
 	private static final String PROJECT_PATH = "group/bld.inf";
-	private static final String SDK_ID_UPPER_CASE = "SYMBIANOS_95_200906";  // ID of the SDK we want to use to create build configurations
-	
 	private static final String TEST_DATA_INPUT_FILE = "data/errorpatterns/sbsv2.errors.input.txt";
 	private static final String CONTROL_DATA_FILE    = "data/errorpatterns/sbsv2.errors.regression.xml";
 	
@@ -50,23 +49,23 @@
 	protected void setUp() throws Exception {
 		super.setUp();
 		project = ProjectCorePlugin.createProject(PROJECT_NAME, null);
+		List<ISymbianBuildContext> contextList = new ArrayList<ISymbianBuildContext>();
 		
 		// You need to set the proper default configuration so the correct set of error parsers is called
 		List<ISymbianSDK> sdkList = SDKCorePlugin.getSDKManager().getSDKList();
-		ISymbianSDK sdk = null;
 		for (ISymbianSDK currSDK : sdkList){
-			if (currSDK.getUniqueId().toUpperCase().equals(SDK_ID_UPPER_CASE)){
-				sdk = currSDK;
+			List<ISymbianBuildContext> contexts = currSDK.getUnfilteredBuildConfigurations();
+			for (ISymbianBuildContext context : contexts) {
+				if (context.getPlatformString().equals(ISymbianBuildContext.ARMV5_PLATFORM)) {
+					contextList.add(context);
+					break;
+				}
+			}
+			if (contextList.size() > 0) {
 				break;
 			}
 		}
 		
-		assertNotNull(sdk);
-		
-		ISymbianBuildContext context = new SymbianBuildContext(sdk, ISymbianBuildContext.ARMV5_PLATFORM, ISymbianBuildContext.DEBUG_TARGET);
-		List<ISymbianBuildContext> contextList = new ArrayList<ISymbianBuildContext>();
-		contextList.add(context);
-		
 		// Don't do this... Because it will just default to WINSCW target
 //		ProjectCorePlugin.postProjectCreatedActions(project, "group/bld.inf", 
 //				TestPlugin.getUsableBuildConfigs(), new ArrayList<String>(), 
--- a/builder/com.nokia.carbide.cdt.builder/plugin.xml	Tue Apr 21 15:35:46 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/plugin.xml	Fri Apr 24 14:48:12 2009 -0500
@@ -160,11 +160,27 @@
       </errorparser>
     </extension>
     <extension
-         id="GCCEErrorParser"
-         name="GCCE Error Parser"
+         id="GCCEAssemblerErrorParser"
+         name="GCCE Assembler Error Parser"
          point="org.eclipse.cdt.core.ErrorParser">
       <errorparser
-            class="com.nokia.carbide.cdt.internal.builder.error.parsers.GCCEErrorParser">
+            class="com.nokia.carbide.cdt.internal.builder.error.parsers.GCCEAssemblerErrorParser">
+      </errorparser>
+    </extension>
+    <extension
+         id="GCCECompilerErrorParser"
+         name="GCCE Compiler Error Parser"
+         point="org.eclipse.cdt.core.ErrorParser">
+      <errorparser
+            class="com.nokia.carbide.cdt.internal.builder.error.parsers.GCCECompilerErrorParser">
+      </errorparser>
+    </extension>
+    <extension
+         id="GCCELinkerErrorParser"
+         name="GCCE Linker Error Parser"
+         point="org.eclipse.cdt.core.ErrorParser">
+      <errorparser
+            class="com.nokia.carbide.cdt.internal.builder.error.parsers.GCCELinkerErrorParser">
       </errorparser>
     </extension>
     <extension
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/builder/CarbideCPPBuilder.java	Tue Apr 21 15:35:46 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/builder/CarbideCPPBuilder.java	Fri Apr 24 14:48:12 2009 -0500
@@ -991,7 +991,7 @@
 		        "com.nokia.carbide.cdt.builder.SBSv2ErrorParser",
 		        "com.nokia.carbide.cdt.builder.CarbideMakeErrorParser",
 		        "com.nokia.carbide.cdt.builder.RCOMPErrorParser",
-		        "com.nokia.carbide.cdt.builder.GCCErrorParser",
+		        "org.eclipse.cdt.core.GCCErrorParser",				// for cpp message from RCOMP
 		        "com.nokia.carbide.cdt.builder.MWLDErrorParser",
 		        "com.nokia.carbide.cdt.builder.MWCCErrorParser",
 		        "com.nokia.carbide.cdt.builder.MakeDefErrorParser"
@@ -1008,6 +1008,7 @@
 			        "com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser",
 			        "com.nokia.carbide.cdt.builder.MakeDefErrorParser",
 			        "com.nokia.carbide.cdt.builder.RCOMPErrorParser",
+			        "org.eclipse.cdt.core.GCCErrorParser",				// for cpp message from RCOMP
 			        "com.nokia.carbide.cdt.builder.Elf2E32ErrorParser"
 			        };
 			break;
@@ -1018,7 +1019,9 @@
 			        "com.nokia.carbide.cdt.builder.SBSv2ErrorParser",
 			        "com.nokia.carbide.cdt.builder.CarbideMakeErrorParser",
 			        "com.nokia.carbide.cdt.builder.RCOMPErrorParser",
-			        "com.nokia.carbide.cdt.builder.GCCEErrorParser",
+			        "com.nokia.carbide.cdt.builder.GCCECompilerErrorParser",		// also handles cpp message from RCOMP
+			        "com.nokia.carbide.cdt.builder.GCCEAssemblerErrorParser",
+			        "com.nokia.carbide.cdt.builder.GCCELinkerErrorParser",
 			        "com.nokia.carbide.cdt.builder.MakeDefErrorParser",
 			        "com.nokia.carbide.cdt.builder.Elf2E32ErrorParser"
 			        };
@@ -1068,7 +1071,7 @@
 			        "com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser",
 			        "com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser",
 			        "com.nokia.carbide.cdt.builder.RCOMPErrorParser",
-			        "com.nokia.carbide.cdt.builder.GCCEErrorParser",
+			        "org.eclipse.cdt.core.GCCErrorParser",				// for cpp message from RCOMP
 			        "com.nokia.carbide.cdt.builder.MWLDErrorParser",
 			        "com.nokia.carbide.cdt.builder.MakeDefErrorParser",
 			        "com.nokia.carbide.cdt.builder.Elf2E32ErrorParser",
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/AbstractGCCEErrorParser.java	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+* Handles GCCE specific error before invoking CDT error parser
+* 
+*/
+package com.nokia.carbide.cdt.internal.builder.error.parsers;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.cdt.core.ErrorParserManager;
+import org.eclipse.cdt.core.IMarkerGenerator;
+import org.eclipse.cdt.internal.errorparsers.AbstractErrorParser;
+import org.eclipse.cdt.internal.errorparsers.ErrorPattern;
+
+/*
+ * AbstractErrorParser/ErrorPattern are going to public API in CDT 5.1
+ */
+abstract public class AbstractGCCEErrorParser extends AbstractErrorParser {
+	private String toolNameString;
+	private static final ErrorPattern[] patterns = {
+		/*
+		 *	int groupFileName,
+		 *	int groupLineNum,
+		 *	int groupDesc,
+		 *	int groupVarName,
+		 *	int severity
+		 */
+			// arm-none-symbianelf-g++: \test\test.cpp: No such file or directory
+			new ErrorPattern("(.*):\\s*(.*:)\\s*(.*(?:[Nn]o such file:\\s*)?[Nn]o such file or directory)", 2, 0, 3, 0, IMarkerGenerator.SEVERITY_ERROR_RESOURCE),	//$NON-NLS-1$
+			// arm-none-symbianelf-g++: no input files
+			new ErrorPattern("(.*):\\s*(.*[Nn]o input files)", 0, 0, 2, 0, IMarkerGenerator.SEVERITY_ERROR_RESOURCE),	//$NON-NLS-1$
+			//arm-none-symbianelf-g++: warning: `-x c++' after last input file has no effect
+			//arm-none-symbianelf-g++: error: some message
+			new ErrorPattern("(.*):\\s*(.*[(?:[Ww]arning)(?:[Ee]rror)]):\\s*(.*)", 0, 0, 3, 0, IMarkerGenerator.SEVERITY_INFO) {	//$NON-NLS-1$
+
+				@Override
+				public int getSeverity(Matcher matcher) {
+					String warningGroup = matcher.group(2);
+					if (warningGroup != null && warningGroup.indexOf("arning") >= 0) //$NON-NLS-1$
+						return IMarkerGenerator.SEVERITY_WARNING;
+					
+					return IMarkerGenerator.SEVERITY_ERROR_RESOURCE;
+				}
+
+			}
+	};
+	
+	protected AbstractGCCEErrorParser(String toolNameString) {
+		super(patterns);
+		this.toolNameString = toolNameString;
+	}
+	
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.cdt.internal.errorparsers.AbstractErrorParser#processLine(java.lang.String, org.eclipse.cdt.core.ErrorParserManager)
+	 * 
+	 * Only pick up message that matches the tool name pattern
+	 * 
+	 */
+	public boolean processLine(String line, ErrorParserManager eoParser) {
+		if (line.startsWith(toolNameString)) {
+			return super.processLine(line, eoParser);
+		}
+		return false;
+	}
+}
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/CarbideBaseErrorParser.java	Tue Apr 21 15:35:46 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/CarbideBaseErrorParser.java	Fri Apr 24 14:48:12 2009 -0500
@@ -172,7 +172,7 @@
 	 * sets iIFile variable if possible
 	 * 
 	 * @param errorParserManager
-	 *            Errro parser manager to query
+	 *            Error parser manager to query
 	 */
 	protected void setFile(ErrorParserManager errorParserManager) {
 		// if no filename, just return
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/CarbideMakeErrorParser.java	Tue Apr 21 15:35:46 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/CarbideMakeErrorParser.java	Fri Apr 24 14:48:12 2009 -0500
@@ -50,6 +50,7 @@
 		if (matcher.matches()) {
 			setDescription(matcher.group(1));
 			String msg = " - possibly too many arguments.  If there are a lot of source files in a library, try breaking those out into multiple libraries.";
+			msgLineNumber = -1;
 			eoParser.generateMarker(rsrc, msgLineNumber, line + msg, msgSeverity, null);
 			return true;
 		}
@@ -108,7 +109,7 @@
 		
 		if (line.contains(rvctNotInstalled)){
 			// create a specific error message when rvct is not installed since the build tools don't
-			this.msgDescription = "RVCT not isntalled or 'armcc' is not on PATH. Please check that your environment for the RVCT compiler is correct.";
+			this.msgDescription = "RVCT not installed or 'armcc' is not on PATH. Please check that your environment for the RVCT compiler is correct.";
 			this.msgLineNumber = -1;
 			this.msgSeverity = IMarkerGenerator.SEVERITY_ERROR_BUILD;
 			eoParser.generateMarker(rsrc, msgLineNumber, msgDescription, msgSeverity, null);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/GCCEAssemblerErrorParser.java	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+* Handles GCCE specific error before invoking CDT GNU assembler error parser
+* 
+*/
+package com.nokia.carbide.cdt.internal.builder.error.parsers;
+
+import org.eclipse.cdt.core.CCorePlugin;
+import org.eclipse.cdt.core.ErrorParserManager;
+import org.eclipse.cdt.core.IErrorParser;
+import org.eclipse.cdt.core.IMarkerGenerator;
+
+public class GCCEAssemblerErrorParser extends AbstractGCCEErrorParser {
+	static String parsersID = "org.eclipse.cdt.core.GASErrorParser";
+	static IErrorParser asErrorParser = CCorePlugin.getDefault().getErrorParser(parsersID)[0];
+	
+	public GCCEAssemblerErrorParser() {
+		super("arm-none-symbianelf-as");		//$NON-NLS-1$
+	}
+	
+	public boolean processLine(String line, ErrorParserManager eoParser) {
+		String lineLC = line.toLowerCase();
+		// check if the tool is installed.  if not then give add a user friendly error to the problems view.
+		if (lineLC.startsWith("'arm-none-symbianelf-as.exe' is not recognized")) {
+			eoParser.generateMarker(eoParser.getProject(), 0, "GCCE not found on the PATH.  Please check your GCCE installation.", IMarkerGenerator.SEVERITY_ERROR_BUILD, null);
+			return true;
+		}
+	
+		if (asErrorParser.processLine(line, eoParser)) {
+			return true;
+		}
+		
+		// pick up where CDT failed to pick up
+		// consider porting to CDT later
+		if (super.processLine(line, eoParser)) {
+			return true;
+		}
+		
+		return false;
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/GCCECompilerErrorParser.java	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+* Handles GCCE specific error before invoking CDT GCC error parser
+* 
+*/
+package com.nokia.carbide.cdt.internal.builder.error.parsers;
+
+import org.eclipse.cdt.core.CCorePlugin;
+import org.eclipse.cdt.core.ErrorParserManager;
+import org.eclipse.cdt.core.IErrorParser;
+import org.eclipse.cdt.core.IMarkerGenerator;
+
+public class GCCECompilerErrorParser extends AbstractGCCEErrorParser {
+
+	public GCCECompilerErrorParser() {
+		super("arm-none-symbianelf-g++");		//$NON-NLS-1$
+	}
+
+	static String parsersID = "org.eclipse.cdt.core.GCCErrorParser";
+	static IErrorParser gccErrorParser = CCorePlugin.getDefault().getErrorParser(parsersID)[0];
+	
+	public boolean processLine(String line, ErrorParserManager eoParser) {
+		String lineLC = line.toLowerCase();
+		
+		// check if the tool is installed.  if not then give add a user friendly error to the problems view.
+		if (lineLC.startsWith("'arm-none-symbianelf-g++.exe' is not recognized")) {
+			eoParser.generateMarker(eoParser.getProject(), 0, "GCCE not found on the PATH.  Please check your GCCE installation.", IMarkerGenerator.SEVERITY_ERROR_BUILD, null);
+			return true;
+		}
+	
+		if (gccErrorParser.processLine(line, eoParser)) {
+			return true;
+		}
+		
+		// pick up where CDT failed to pick up
+		// consider porting to CDT later
+		if (super.processLine(line, eoParser)) {
+			return true;
+		}
+		
+		return false;
+	}
+
+}
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/GCCEErrorParser.java	Tue Apr 21 15:35:46 2009 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-package com.nokia.carbide.cdt.internal.builder.error.parsers;
-
-import org.eclipse.cdt.core.ErrorParserManager;
-import org.eclipse.cdt.core.IMarkerGenerator;
-import org.eclipse.cdt.internal.errorparsers.GCCErrorParser;
-
-public class GCCEErrorParser extends GCCErrorParser {
-
-	public boolean processLine(String line, ErrorParserManager eoParser) {
-		String lineLC = line.toLowerCase();
-		
-		// check if the tool is installed.  if not then give add a user friendly error to the problems view.
-		if (lineLC.startsWith("'arm-none-symbianelf-g++.exe' is not recognized")) {
-			eoParser.generateMarker(eoParser.getProject(), 0, "GCCE not found on the PATH.  Please check your GCCE installation.", IMarkerGenerator.SEVERITY_ERROR_BUILD, null);
-			return true;
-		}
-		
-		// case for arm-none-symbianelf-ld:
-		if (lineLC.contains("no such file: no such file or directory") || lineLC.contains("no such file or directory")) {
-			eoParser.generateMarker(eoParser.getProject(), 0, line, IMarkerGenerator.SEVERITY_ERROR_BUILD, null);
-			return true;
-		}
-		
-		// fix bug #4541 (and #5618).  undefined reference linker errors.  note that they work correctly already for udeb
-		// build because the error is reported with the source path and line #.  urel builds give an offset to
-		// the text section.
-		//Test2.cpp:(.text+0x1a4): undefined reference to `foo()' (UREL)
-		//..\\src\/Test2.cpp:69: undefined reference to `foo()' (UDEB)
-		if ((lineLC.contains("(.text") || lineLC.contains("(.rodata")) && lineLC.contains(": undefined reference to ")) {
-			eoParser.generateMarker(eoParser.getProject(), 0, line, IMarkerGenerator.SEVERITY_ERROR_BUILD, null);
-			return true;
-		}
-
-		// fix bug #6417. multiple definition linker errors.  note that they work correctly already for udeb
-		// build because the error is reported with the source path and line #.  urel builds give an offset to
-		// the text section.
-		//b6417_2.cpp:(.text+0x88): multiple definition of `E32Main()'
-		//\Symbian\9.2\S60_3rd_FP1\EPOC32\BUILD\Eclipse\rc1torc2workspace\b6417\group\B6417\GCCE\UREL\b6417.o:b6417.cpp:(.text+0x88): first defined here
-		if ((lineLC.contains("(.text") || lineLC.contains("(.rodata")) &&
-				(lineLC.contains(": multiple definition of ") || lineLC.contains(": first defined here"))) {
-			eoParser.generateMarker(eoParser.getProject(), 0, line, IMarkerGenerator.SEVERITY_ERROR_BUILD, null);
-			return true;
-		}
-
-		// the default gcce error parser
-		return super.processLine(line, eoParser);
-	}
-	
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/GCCELinkerErrorParser.java	Fri Apr 24 14:48:12 2009 -0500
@@ -0,0 +1,76 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* 
+* Handles GCCE specific error before invoking CDT GNU linker error parser
+* 
+*/
+package com.nokia.carbide.cdt.internal.builder.error.parsers;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.cdt.core.CCorePlugin;
+import org.eclipse.cdt.core.ErrorParserManager;
+import org.eclipse.cdt.core.IErrorParser;
+import org.eclipse.cdt.core.IMarkerGenerator;
+
+public class GCCELinkerErrorParser extends AbstractGCCEErrorParser {
+	static String TOOLNAME = "arm-none-symbianelf-ld";
+	static String parsersID = "org.eclipse.cdt.core.GLDErrorParser";
+	static IErrorParser ldErrorParser = CCorePlugin.getDefault().getErrorParser(parsersID)[0];
+	
+	private static final Pattern rodataErrorPattern = Pattern.compile("(.*)\\(\\.rodata\\+.*\\): (.*)"); //$NON-NLS-1$;
+	private static final Pattern errorPattern = Pattern.compile(TOOLNAME + "(\\.exe)?:\\s*(.*)");	//$NON-NLS-1$;
+	
+	public GCCELinkerErrorParser() {
+		super(TOOLNAME);
+	}
+	
+	public boolean processLine(String line, ErrorParserManager eoParser) {
+		String lineLC = line.toLowerCase();
+		Matcher ldMatcher;
+		
+		// check if the tool is installed.  if not then give add a user friendly error to the problems view.
+		if (lineLC.startsWith("'arm-none-symbianelf-ld.exe' is not recognized")) {
+			eoParser.generateMarker(eoParser.getProject(), 0, "GCCE not found on the PATH.  Please check your GCCE installation.", IMarkerGenerator.SEVERITY_ERROR_BUILD, null);
+			return true;
+		}
+		
+		if (ldErrorParser.processLine(line, eoParser)) {
+			return true;
+		}
+
+		// pick up where CDT failed to pick up
+		// consider porting to CDT later
+		if (super.processLine(line, eoParser)) {
+			return true;
+		}
+		
+		ldMatcher = rodataErrorPattern.matcher(line);
+		if (ldMatcher.matches()) {
+			eoParser.generateMarker(eoParser.getProject(), 0, line, IMarkerGenerator.SEVERITY_ERROR_RESOURCE, null);
+			return true;			
+		}
+		
+		ldMatcher = errorPattern.matcher(line);
+		if (ldMatcher.matches()) {
+			eoParser.generateMarker(eoParser.getProject(), 0, ldMatcher.group(2), IMarkerGenerator.SEVERITY_ERROR_RESOURCE, null);
+			return true;
+		}
+
+		return false;
+	}
+
+}
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/RCOMPErrorParser.java	Tue Apr 21 15:35:46 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/RCOMPErrorParser.java	Fri Apr 24 14:48:12 2009 -0500
@@ -22,83 +22,10 @@
 
 import org.eclipse.cdt.core.ErrorParserManager;
 import org.eclipse.cdt.core.IMarkerGenerator;
-import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
 
 public class RCOMPErrorParser extends CarbideBaseErrorParser {
 
-	private Pattern cppFileLineWarningPattern;
-	private Pattern cppFileLinePattern;
-	private Pattern cppFileLineInfoPattern;
-	
-	public RCOMPErrorParser() {
-		// match file, line, possible column, and warning
-		cppFileLineWarningPattern = Pattern.compile("(.+):(\\d+):(?:(\\d+:)?)\\s+warning:\\s+(.*)"); //$NON-NLS-1$
-		// match file, line, possible column, and error
-		cppFileLinePattern = Pattern.compile("(.+):(\\d+):(?:(\\d+:)?)\\s+(.*)"); //$NON-NLS-1$
-//		 match file, line, possible column, and info
-		cppFileLineInfoPattern = Pattern.compile("(.+):(\\d+):(?:(\\d+:)?)\\s+note:(.*)"); //$NON-NLS-1$
-	}
-
-	private boolean processPreprocessorLine(String line, ErrorParserManager errorParserManager) {
-		// Known patterns:
-		//
-		// (a)
-		// %s:%d: warning: %s
-		//
-		// (b)
-		// %s:%d:%d: warning: %s
-		//
-		// (c)
-		// %s:%d: %s
-		//
-		// (d)
-		// %s:%d:%d: %s
-		//
-		// (e)
-		// * cpp failed
-
-		initialise();
-
-		Matcher cppMatcher = cppFileLineWarningPattern.matcher(line);
-		if (cppMatcher.matches()) {
-			msgFileName = cppMatcher.group(1);
-			msgLineNumber = Integer.parseInt(cppMatcher.group(2));
-			msgDescription = cppMatcher.group(4);
-			setFile(errorParserManager);
-			errorParserManager.generateExternalMarker(msgIFile, msgLineNumber,	msgDescription, IMarkerGenerator.SEVERITY_WARNING, null, externalFilePath);
-			return true;
-		}
-
-		cppMatcher = cppFileLineInfoPattern.matcher(line);
-		if (cppMatcher.matches()) {
-			msgFileName = cppMatcher.group(1);
-			msgLineNumber = Integer.parseInt(cppMatcher.group(2));
-			msgDescription = cppMatcher.group(4);
-			setFile(errorParserManager);
-			errorParserManager.generateExternalMarker(msgIFile, msgLineNumber, msgDescription, IMarkerGenerator.SEVERITY_INFO, null, externalFilePath);
-			return true;
-		}
-		
-		cppMatcher = cppFileLinePattern.matcher(line);
-		if (cppMatcher.matches()) {
-			msgFileName = cppMatcher.group(1);
-			msgLineNumber = Integer.parseInt(cppMatcher.group(2));
-			msgDescription = cppMatcher.group(4);
-			setFile(errorParserManager);
-			errorParserManager.generateExternalMarker(msgIFile, msgLineNumber, msgDescription, IMarkerGenerator.SEVERITY_ERROR_BUILD, null, externalFilePath);
-			return true;
-		}
-
-		if (line.startsWith("* cpp failed") || line.startsWith("* BMCONV failed") 
-			|| line.startsWith("* mifconv.exe failed") || line.startsWith("* epocaif.pl failed") 
-			|| line.toUpperCase().startsWith("FAILED TO UPDATE FILE") ) {
-			errorParserManager.generateExternalMarker(null, -1, line, IStatus.ERROR, null, externalFilePath);
-			return true;
-		}
-
-		return false;
-	}
 	public boolean processLine(String line, ErrorParserManager errorParserManager) {
 		// Known patterns.
 		// (a)
@@ -111,11 +38,11 @@
 		// filename(lineno) : Error: (ErrorNumber) iDescription
 		//
 		// (d)
-		// cannot open %s for writing (where %s is the asbolute path to the .rsc
+		// cannot open %s for writing (where %s is the absolute path to the .rsc
 		// file)
 		//
 		// (e)
-		// Failed to write UIDs to %s (where %s is the asbolute path to the .rsc
+		// Failed to write UIDs to %s (where %s is the absolute path to the .rsc
 		// file)
 		//
 		// (f)
@@ -124,34 +51,51 @@
 		// (g)
 		// ERROR: %s (where %s could be anything really)
 		//
-		// (h) C Pre-Processor
-		// Filename:lineNumber: iDescription
+		// (h) C Pre-Processor failing
+		// * cpp failed
+		//
+		// (i)
+		// Failed to open %s
 		//
-		// (i) C Pre-Processor failing
-		// * cpp failed
+		// (j)
+		// RCOMP failed with code %d
+		//
+		
+		// Warning pattern
+		// (a)
+		// atof may have failed for %s
 		
 		initialise();
 		
-		if (processPreprocessorLine(line, errorParserManager))
-			return true;
-		
+		// some error
 		HashSet<String> linePrefixes = new HashSet<String>();
 		linePrefixes.add("cannot open "); //$NON-NLS-1$
 		linePrefixes.add("Failed to write UIDs to "); //$NON-NLS-1$
 		linePrefixes.add("* RCOMP failed -"); //$NON-NLS-1$
 		linePrefixes.add("ERROR: "); //$NON-NLS-1$
 		linePrefixes.add("* cpp failed"); //$NON-NLS-1$
+		linePrefixes.add("Failed to open "); //$NON-NLS-1$
+		linePrefixes.add("RCOMP failed with code "); //$NON-NLS-1$
 
 		if (checkForLineBeginnings(line, linePrefixes.toArray(new String[linePrefixes.size()]))) {
 			errorParserManager.generateMarker(null, -1, line, msgSeverity, null);
 			return true;
 		}
+		
+		// some warning
+		HashSet<String> warningLinePrefixes = new HashSet<String>();
+		warningLinePrefixes.add("atof may have failed for "); //$NON-NLS-1$
+		
+		if (checkForLineBeginnings(line, warningLinePrefixes.toArray(new String[warningLinePrefixes.size()]))) {
+			errorParserManager.generateMarker(null, -1, line, IMarkerGenerator.SEVERITY_WARNING, null);
+			return true;
+		}
 
 		// check for MBM build failure.  This string is part of the help text spewed out
 		// for an invalid command line.  Same in Symbian 7.0s and 9.2, so assumed static.
 		if (line.indexOf("epocmbm [-h headerfile]") >= 0) { //$NON-NLS-1$
 			errorParserManager.generateMarker(null, -1,
-					"epocmbm build failed (perhaps due to an empty image list or invalid color format specification): please check the Console",
+					"epocmbm build failed (perhaps due to an empty image list or invalid color format specification): please check the Console", //$NON-NLS-1$
 					IMarkerGenerator.SEVERITY_ERROR_BUILD, null);
 			return true;
 		}
@@ -163,7 +107,7 @@
 		if (!setFileNameAndLineNumber(line) && !setDetailsFromCppOutput(line)) {
 			return false;	
 		}
-		String[] extensionsToExclude = {".pkg", ".def", ".defi"}; //$NON-NLS-1$ //$NON-NLS-2$ 
+		String[] extensionsToExclude = {".pkg", ".def", ".defi", ".asm", ".c" ,".c++", ".cc", ".cia", ".cpp", ".cxx", "h", ".hh", ".hpp", ".hxx", ".s"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ //$NON-NLS-13$ //$NON-NLS-14$ //$NON-NLS-15$ 
 		if (hasExcludedExtension(extensionsToExclude)) {
 			return false;
 		}
@@ -208,7 +152,7 @@
 			// Remove the warning.
 			msgDescription = msgDescription.substring("warning".length()).trim(); //$NON-NLS-1$
 			msgSeverity = IMarkerGenerator.SEVERITY_WARNING;
-		} else if (msgDescription.matches("(?i)error.*")) {
+		} else if (msgDescription.matches("(?i)error.*")) { //$NON-NLS-1$
 			// Remove the error.
 			msgDescription = msgDescription.substring("error".length()).trim(); //$NON-NLS-1$
 		}