public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/51897] New: command line option to create a namespace alias
@ 2012-01-19  4:21 danielgutson at gmail dot com
  2012-01-22 23:39 ` [Bug c++/51897] " pinskia at gcc dot gnu.org
  0 siblings, 1 reply; 2+ messages in thread
From: danielgutson at gmail dot com @ 2012-01-19  4:21 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51897

             Bug #: 51897
           Summary: command line option to create a namespace alias
    Classification: Unclassified
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: danielgutson@gmail.com


In C, the compiler driver allows the 
  -Dxxx=yyy
option, so programs can be parameterized based on such definition.

In C++, we could do likewise with namespaces.

For example:

namespace Version1
{
    void f() { /* version 1 implementation */ }
    typedef int MyInt;
}

namespace Version2
{
    void f() { /* version 2 implementation */ }
    typedef long long int MyInt;
}

then, if we could have a namespace alias such as
    namespace NM = Version1;
we could happily do:
    NM::f();
    NM::MyInt myInt;

Therefore, I suggest to add a new command line option to the driver to define
namespace alias, a C++ counterpart of the C macro definition.

For example, we could do
   --namespace_alias NM=Version1
or alike when compiling stuff.
Yes, this can also be done with macros, but it's a cleaner preprocessor-free
choice.


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Bug c++/51897] command line option to create a namespace alias
  2012-01-19  4:21 [Bug c++/51897] New: command line option to create a namespace alias danielgutson at gmail dot com
@ 2012-01-22 23:39 ` pinskia at gcc dot gnu.org
  0 siblings, 0 replies; 2+ messages in thread
From: pinskia at gcc dot gnu.org @ 2012-01-22 23:39 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51897

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-01-22 22:22:22 UTC ---
>Yes, this can also be done with macros, but it's a cleaner preprocessor-free
choice.

Not really.  The preprocessor is there for a reason and it is simple as:
namespace NN = NNVERSION;

-DNNVERSION=NN1


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-01-22 22:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-19  4:21 [Bug c++/51897] New: command line option to create a namespace alias danielgutson at gmail dot com
2012-01-22 23:39 ` [Bug c++/51897] " pinskia at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).