C++Builder 6 Easter Eggs

The C++Builder 6 Easter Eggs are much the same as those found in Delphi 4, but without Alt+CHUCK.

Additionally, it has these.

  1. Run the command-line compiler with the undocumented -Team command-line switch, and the compiler team is listed:

    C:\Tools\CBuilder6\Bin>bcc32 -Team
    Borland C++ 5.6 for Win32 Copyright (c) 1993, 2002 Borland
    
    It's the compiler team!
    
        John Wiegley
        Eli Boling
        Yooichi Tagawa
        Dawn Perchik
        Mark Alexander
        Lee Cantey
        Maurice Barnum
        Alastair Fyfe

  2. Requesting help for the non-existent command-line compiler options me or me! gives an unexpected response:
    C:\Tools\CBuilder6\Bin>bcc32 -help me
    Borland C++ 5.6.1 for Win32 Copyright (c) 1993, 2002 Borland
    But I'm having too much fun!
    
    C:\Tools\CBuilder6\Bin>bcc32 -help me!
    Borland C++ 5.6.1 for Win32 Copyright (c) 1993, 2002 Borland
    But I'm having too much fun!
    
    C:\Tools\CBuilder6\Bin>

  3. Use of the undocumented #pragma curious_george directive in a source file gives you a special message.
    #pragma curious_george
    int main()
    {
      return 0;
    }
    C:\Tools\CBuilder6\Bin>bcc32 egg.cpp
    Borland C++ 5.6.1 for Win32 Copyright (c) 1993, 2002 Borland
    egg.cpp:
    No eating puzzle pieces!
    Turbo Incremental Link 5.62 Copyright (c) 1997, 2002 Borland
    
    C:\Tools\CBuilder6\Bin>

    This message will only be displayed in the IDE if the Show general messages option on the Compiler page of the project options dialog is checked.

  4. Use of the undocumented #pragma gpfault prettyplease directive in a source file gives you what you ask for.
    #pragma gpfault prettyplease
    int main()
    {
      return 0;
    }
    E:\Tools\CBuilder6\Bin>bcc32 egg.cpp
    Borland C++ 5.6.1 for Win32 Copyright (c) 1993, 2002 Borland
    c:egg.cpp:
    Fatal F1004 c:egg.cpp 3: Internal compiler error at 0x4208b2 with base 0x400000
    Fatal F1004 c:egg.cpp 3: Internal compiler error

    This option appears to be used to test the resilience of the IDE against Access Violations. If you compile a source file like this in the IDE, the initial compilation and any use of Code Completion (which invokes a partial background compilation) will give similar errors.

  5. Use of the undocumented #pragma keeka directive in a source file gives you a special message when compiling with the command-line compiler.
    #pragma keeka
    int main()
    {
      return 0;
    }
    C:\Tools\CBuilder6\Bin>bcc32 egg.cpp
    Borland C++ 5.6.1 for Win32 Copyright (c) 1993, 2002 Borland
    egg.cpp:
             /\__/\
            | -  - |
            * ^--^ *
             x=--=x
             |    |
            |      |
            | |  | |     .
            | |__| |\___//
             vv  vv *---*
    
    Keeka: Simply the best darn cat in the Universe.
    Turbo Incremental Link 5.62 Copyright (c) 1997-2002 Borland
    
    C:\Tools\CBuilder6\Bin>

  6. When attempting to use the using directive on an overloaded conversion operator, and compiling with the command-line compiler, you get an unexpected assertion:
    class C1
    {
      public:
        operator int() const
        {
          return 1;
        }
    };
    
    class C2: public C1
    {
      public:
        using C1::operator int;
    };
    
    C:\Tools\CBuilder6\Bin>bcc32 egg.cpp
    Borland C++ 5.6.1 for Win32 Copyright (c) 1993, 2002 Borland
    egg.cpp:
    Assertion failed egg.cpp(14) : "sure, will implement using for conversions one day" at c:\helena\bcc\indep\cppdecl.c(5537)

  7. Invoke the About box with Help | About..., then hold down Alt whilst typing GUNGLA. This shows Tequila Joe Monkey on a surfboard. It also has a short musical accompaniment that is a section of the sound track from The Hamster Dance web site, http://www.hamsterdance.com.

    Apparently, Gungla comes from the film CaddyShack where Bill Murray is talking about the Dalai Lama. One of the C++Builder developers likes using this word...

  8. Set the environment variable SHOW_RTLDLL_VERSION to 1 and the C++ RTL DLL (CC3260MT.dll) will give you information on its location and version and which application is loading it. It also asks if you wish to continue, or abort.

  9. If you hold down Ctrl+Shift whilst C++Builder 6 starts, it chooses the splash screen randomly from the normal one and an alternative group photo shot.


    The C++Builder team

  10. The CodeGuard Configuration utility, available from Tools | CodeGuard Configuration, or just by running cgconfig.exe from C++Builder's bin directory, has an Easter Egg in the About box. Choose Help | About CodeGuard..., then hold Ctrl and double click on the icon.

    This produces a Canadian flag that transforms into a US flag, signifying the move from Canada to America of the developer involved, Robert Kozak.

  11. In the C++Builder localisation tool, the Integrated Translation Environment (ITE), available from View | Translation Manager, where appropriate, another credit list egg can be invoked. The steps and results are exactly the as with Delphi 6.

Click here to return to the Easter Eggs main page