This is the mail archive of the gcc@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]
Other format: [Raw text]

Re: RFC: redundant stores in C++



On Oct 1, 2005, at 5:54 PM, Dale Johannesen wrote:


In C++, when we have an automatic array with variable initializers:

void bar(char[4]);
void foo(char a, char b, char c, char d) {
  char x[4] = { a, b, c, d };
  bar(x);
}

Testsuite passes with this but I can believe improvements are possible; comments?

I don't think this will work for the following code:


void foo(char a, char b) {
  char x[4] = { a, b } ;
  if (x[3] != 0)
   abort ();
}

But better fix would be not call split_nonconstant_init_1 for
local decls and have the front-end produce a CONSTRUCTOR which is
just like what the C front-end produces.

-- Pinski


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