<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=windows-1251">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi,<br>
      Clang internals manual says:<br>
      "Each declaration has two potentially different declaration
    contexts: a <i>lexical</i> context, which corresponds to the
    source-centric view of the declaration context, and a <i>semantic</i>
    context, which corresponds to the semantics-centric view."<br>
    <br>
      When debugging the code snippet:<br>
      enum E {e1 = -12}<br>
      In the debugger I see:<br>
    #1  0x00007ffff60cd4cb in clang::Sema::ActOnEnumConstant
    (this=0x44e6b0, S=0x4099c0, theEnumDecl=0x4e5a70, lastEnumConst=0x0,
    IdLoc=..., Id=0x46a240, Attr=0x0, EqualLoc=..., <br>
        Val=0x4e5b40) at
/home/vvassilev/workspace/llvm/src/tools/clang/lib/Sema/SemaDecl.cpp:10229<br>
    10229        PushOnScopeChains(New, S);<br>
    (gdb) p New<br>
    $99 = (clang::EnumConstantDecl *) 0x4e5b60<br>
    (gdb) p New->getDeclContext ()<br>
    $100 = (clang::DeclContext *) <b>0x4e5aa8</b><br>
    (gdb) p New->getLexicalDeclContext ()<br>
    $101 = (clang::DeclContext *) <b>0x4e5aa8</b><br>
    <br>
     I would expect the lexical and the semantic DeclContext to be
    different since "E" is transparent context. Could somebody explain
    why is that? Is that expected?<br>
    <br>
    Vassil<br>
  </body>
</html>