This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

make target faster than bootstrap


Each time I've done `cvs update` followed by the configure, and then
make bootstrap, the bootstrap target
takes several hours to complete.  Is there any faster target.  All I
really want is gcc/cc1plus to try and track
down a bug revealed by the following code:
-------------- cut here----------
//Purpose:
//  Test nested template as template template arg.
//Result:
//  get Compile-time error:
//   `C' is not a template
template
  < template<typename S>class T
  >
  struct
A
  { T<int> m_t;
  };
  struct
B
  {
    template
      < typename V
      >
      struct
    C
      { V m_v;
      };
  };
  A
    <B
      ::C
    >
z
  ;
-------------- cut here----------
I'd also welcome any suggestions about where to look.  I've found
something that looks suspicious in pt.c in function,
lookup_template_class.

The when the d1 arg to the function is an IDENTIFIER_NODE with name C,
the
else part of the 2nd if is selected:

   if (context)
     push_decl_namespace (context);
   template = lookup_name (d1, /*prefer_type=*/0);
   template = maybe_get_template_decl_from_type_decl (template);
   if (context)
     pop_decl_namespace ();

However, the context is not a namespace, as suggested by the
push_decl_namespace name.  As a result
the global namespace is pushed on the stack.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]