EnumConstant in designated initializers are discarded from AST

Hi

I have following sample code

typedef enum
{
    A,
    B,
    C,
} eABC;

typedef struct X {
    int member1;
    int member2;
    int member3;
} tX;

tX var [] =
{
    [A] { 0, 0, 0 },
    [B] { 1, 1, 1 },
    [C] { 2, 2, 2 },
};

Here enum member names are used in the initializer expression.
Duming the resulting AST shows that these have been lowered to
constant integers and that the Enum information is lost.

I get :

`-VarDecl 0x7397d28 <line:15:1, line:20:1> line:15:4 var 'tX [3]' cinit
  `-InitListExpr 0x7398198 <line:16:1, line:20:1> 'tX [3]'
    >-InitListExpr 0x73981e0 <line:17:9, col:19> 'tX':'struct X'
    > >-IntegerLiteral 0x7397df0 <col:11> 'int' 0
    > >-IntegerLiteral 0x7397e10 <col:14> 'int' 0
    > `-IntegerLiteral 0x7397e30 <col:17> 'int' 0

But I would expect something as :

InitListExpr 0x6fd6a00 'tX [3]'

-DesignatedInitExpr 0x6fd6768 'void'
>-InitListExpr 0x6fd6710 'tX':'struct X'
> >-IntegerLiteral 0x6fd66b0 'int' 0
> >-IntegerLiteral 0x6fd66d0 'int' 0
> `-IntegerLiteral 0x6fd66f0 'int' 0
`-DeclRefExpr 0x6fd6688 'int' EnumConstant 0x6fd6120 'A' 'int'

This information is lost somewhere down below
InitializationSequence::Perform() (case SK_ListInitialization)

Is there a way to get back the original initializer expression?

Thanks
Jan

InitListExpr::getSyntacticForm()

-Eli