[cfe-commits] [Request for review] Removing redundant implicit casts in the AST

Abramo Bagnara abramo.bagnara at gmail.com
Tue Oct 25 02:59:01 PDT 2011


Il 25/10/2011 11:14, Nicola Gigante ha scritto:
>>
> 
> 
> Yeah, my patch should've fixed also this example. It doesn't because I've not
> changed ImpCastExprToType to CastExprToType in a couple of case labels in PerformConversion.
> This example is fixed by changing it in the CCK_QualificationConversion case.
> There are a couple of cases in complex conversions cases that I think have to be changed too,
> but I'm not sure about the ArrayToPointer and FunctionToPointer cases, those in the
> first pass of the conversion. I think they should remain implicit casts in any case.

This should be considered with some attention:

void f(int (&x)[]);
void f(int *x);
void g(int *x);

void t() {
  int a[4];
  f((int*)a);
  f(a);
  g((int*)a);
  g(a);
}

In first call to f and g I think that the ArrayToPointer should be
considered explicit.

I'm missing something?




More information about the cfe-commits mailing list