examples/after/e32main.cpp
author William Roberts <williamr@symbian.org>
Mon, 22 Mar 2010 21:41:09 +0000
changeset 0 fe474e3b08fb
permissions -rw-r--r--
Created the examples directory, containing components called "before" and "after" The before directory is a component which illustrates typical issues that GCC has with the Symbian source code. Compiling this component (sbs -b bld.inf -k -c armv5_udeb_gcce4_4_1) will produce multiple errors, hence the use of "-k" to keep going. The after directory is the same component with fixes applied - compiling in the after directory should produce no errors. The aim is to keep the code very closely aligned to the before component, so that they can be compared with visual diff tools such as Beyond Compare. Sometimes it's valuable to be able to compile this code with the default production compiler, (currently RVCT 2.2) so the MMP files will switch the name of the generated executable if a different compiler is used.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
     1
// Copyright (c) 2010 Symbian Foundation Ltd.
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
     2
// All rights reserved.
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
     3
// This component and the accompanying materials are made available
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
     4
// under the terms of the License "Eclipse Public License v1.0"
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
     5
// which accompanies this distribution, and is available
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
     7
//
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
     8
// Initial Contributors:
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
     9
// Symbian Foundation - Initial contribution
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    10
// 
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    11
// Description:
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    12
// Entrypoint for Symbian .exe, keeps the compiler & linker happy
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    13
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    14
#include <e32std.h>
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    15
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    16
// helper function for other files which need to confuse the optimiser
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    17
int unknown(void) { return 42; }
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    18
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    19
extern int source1(void);		// from source1.cpp
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    20
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    21
GLDEF_C TInt E32Main()
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    22
    {
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    23
    // Call trivial functions in other source files, to stop them being optimised away
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    24
		return source1();
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    25
		}
fe474e3b08fb Created the examples directory, containing components called "before" and "after"
William Roberts <williamr@symbian.org>
parents:
diff changeset
    26