[LLVMbugs] [Bug 7248] New: Assert on "Identifier nested-name-specifier with no prefix or object type" failed

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri May 28 10:26:00 PDT 2010


http://llvm.org/bugs/show_bug.cgi?id=7248

           Summary: Assert on "Identifier nested-name-specifier with no
                    prefix or object type" failed
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: nomura at netapp.com
                CC: llvmbugs at cs.uiuc.edu


r104939

Assertion:
clang:
/x/eng/build_scratch2/nomura/clang-llvm_100528_0000/llvm/tools/clang/libSema/TreeTransform.h:2026:
clang::NestedNameSpecifier*
clang::TreeTransform<Derived>::TransformNestedNameSpecifier(clang::NestedNameSpecifier*,
clang::SourceRange, clang::QualType, clang::NamedDecl*) [with Derived =
<unnamed>::TemplateInstantiator]: Assertion `(Prefix || !ObjectType.isNull())
&& "Identifier nested-name-specifier with no prefix or object type"'
failed._cpumask_t cpumask_t; typedef _0  clang           0x0000000001502cff


Reduced testcase (although it's badly mangled, the assert is the
same as in the original testcase):

//BEGIN TESTCASE
typedef struct spinnp_dsid_t
{
  int marshal (int &ops) { }
SPINNP_FH_FLAG_NULL, SPINNP_FH_FLAG_STREAMDIR = 0x1, SPINNP_FH_FLAG_SNAPDIR,
SPINNP_FH_FLAG_SNAPDIR_ENT, SPINNP_FH_FLAG_EMPTY = 0x8, SPINNP_FH_FLAG_STRIPED
= 0x10, SPINNP_FH_FLAG_ONTAPC = 0x20, SPINNP_FH_FLAG_METADATA = 0x40,
_SPINNP_MAX_spinnp_fh_flags_t = 0x40,
};

namespace Coral
{
  class DsFileTable;
  class Singleton;
  class Coral::Singleton
  {
    static DsFileTable & dsFileTable ();
  };
  enum FactoryAllocPriority
  {
    FACTORY_ALLOC_PRIORITY_0 = 0, FACTORY_ALLOC_PRIORITY_1,
FACTORY_ALLOC_PRIORITY_2, FACTORY_ALLOC_PRIORITY_3, FACTORY_ALLOC_PRIORITY_4,
FACTORY_ALLOC_PRIORITY_5, FACTORY_ALLOC_PRIORITY_6,
FACTORY_ALLOC_PRIORITY_COUNT
  };
    template < typename objectclass >
    class Coral::LruFactory:public Coral::Factory < objectclass >
  {
  }
  template < typename fte_t > class Coral::FileTable
  {
    void kickWaiters ();
    void release (fte_t * fte);
  private:typedef LruFactory < fte_t > FteFactory;
  protected:FteFactory _fteFactory;
  };
  template < typename fte_t > void Coral::FileTable < fte_t >::kickWaiters ()
  {
    FactoryAllocPriority pri = _maxPriority;
    fte_t *fte = requestExisting (headWaiter->_dsid, headWaiter->_fileid);
    fte = _fteFactory.Coral::template Factory < fte_t >::recycle (pri);
  }
  template < typename fte_t > void Coral::FileTable < fte_t >::release (fte_t *
fte)
  {
    kickWaiters ();
  }
  struct DsFileTableEntry;
  class Coral::DsFileTable:public FileTable < DsFileTableEntry >
  {
    struct coral_fas_opstate
    {
      struct fas_file_info
      {
        void coral_fas_opstate::fas_file_info::reset (void)
        {
          Coral::Singleton::dsFileTable ().release (this->dsFte);
//END TESTCASE

Invocation: /x/eng/build2/scratch/nomura/clang-LATEST/bin/clang -x c++ xx.i

fatal error: too many errors emitted, stopping now [-ferror-limit=]
clang:
/x/eng/build_scratch2/nomura/clang-llvm_100528_0000/llvm/tools/clang/libSema/TreeTransform.h:2026:
clang::NestedNameSpecifier*
clang::TreeTransform<Derived>::TransformNestedNameSpecifier(clang::NestedNameSpecifier*,
clang::SourceRange, clang::QualType, clang::NamedDecl*) [with Derived =
<unnamed>::TemplateInstantiator]: Assertion `(Prefix || !ObjectType.isNull())
&& "Identifier nested-name-specifier with no prefix or object type"' failed.
0  clang           0x0000000001502cff
1  clang           0x00000000015038d7
2  libpthread.so.0 0x000000381100e7c0
3  libc.so.6       0x0000003810430265 gsignal + 53
4  libc.so.6       0x0000003810431d10 abort + 272
5  libc.so.6       0x00000038104296e6 __assert_fail + 246
6  clang           0x0000000000861637
7  clang           0x0000000000868d12
8  clang           0x0000000000855144
9  clang           0x0000000000856df9
10 clang           0x00000000008594b9
11 clang           0x000000000085c72b
12 clang           0x0000000000861501
13 clang           0x00000000008669e6
14 clang           0x0000000000848133
15 clang           0x00000000008506a0
16 clang           0x0000000000848dcc
17 clang           0x000000000085189e
18 clang           0x0000000000848d17
19 clang           0x000000000086d4da
20 clang           0x000000000086dba1
21 clang           0x000000000086cf69
22 clang           0x0000000000872ac5
23 clang           0x000000000086ce44
24 clang           0x000000000086dba1
25 clang           0x000000000086cf69
26 clang           0x000000000086e535
27 clang           0x000000000086ca7a
28 clang           0x000000000086dba1
29 clang           0x000000000086cf69
30 clang           0x000000000086e535
31 clang           0x000000000086ca7a
32 clang           0x000000000086dba1
33 clang           0x000000000086cf69
34 clang           0x0000000000875b78
35 clang           0x000000000088252a
36 clang           0x0000000000881e81
37 clang           0x0000000000882995
38 clang           0x0000000000881e81
39 clang           0x000000000069b71e
40 clang           0x0000000000a98c6f
41 clang           0x00000000006988be
42 clang           0x000000000043fe5f
43 clang           0x000000000042d070
44 clang           0x0000000000432ba4 main + 2724
45 libc.so.6       0x000000381041d994 __libc_start_main + 244
46 clang           0x000000000042b209
Stack dump:
0.      Program arguments:
/x/eng/build_scratch2/nomura/clang-llvm_100528_0000/oot/bin/clang -cc1 -triple
x86_64-unknown-linux-gnu -S -disable-free -main-file-name bug.i
-mrelocation-model static -mdisable-fp-elim -mconstructor-aliases
-munwind-tables -target-cpu x86-64 -resource-dir
/x/eng/build_scratch2/nomura/clang-llvm_100528_0000/root/lib/clang/2.0
-ferror-limit 19 -fmessage-length 0 -fexceptions -fgnu-runtime
-fdiagnostics-show-option -o /tmp/cc-E9MaSJ.s -x c++ bug.i

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list