[cfe-commits] r140460 - in /cfe/trunk: include/clang/Parse/Parser.h include/clang/Sema/MultiInitializer.h include/clang/Sema/Sema.h lib/Parse/ParseCXXInlineMethods.cpp lib/Parse/ParseDeclCXX.cpp lib/Parse/ParseTemplate.cpp lib/Sema/MultiInitializ

Benjamin Kramer benny.kra at googlemail.com
Wed Sep 28 09:49:43 PDT 2011


On Mon, Sep 26, 2011 at 10:25, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:
>
> On Sep 24, 2011, at 10:48 AM, Sebastian Redl wrote:
>
>> Author: cornedbee
>> Date: Sat Sep 24 12:48:25 2011
>> New Revision: 140460
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=140460&view=rev
>> Log:
>> Correctly parse braced member initializers (even in delayed parsing) and correctly pass
>> the information on to Sema. There's still an incorrectness in the way template instantiation
>> works now, but that is due to a far larger underlying representational problem.
>> Also add a test case for various list initialization cases of scalars, which test this
>> commit as well as the previous one.
>
> Hi Sebastian,
>
> I think one of your commits in the range 140453-140466 broke the c++ part of the GCC test suite.
>
> g++.dg/parse/ctor3.C  (test for errors, line 7)
> g++.dg/parse/ctor3.C (test for excess errors)
>
> Please check and fix.

Still broken. Here's the difference in diagnostics before and after
your commits:

$ cat ctor3.C
struct A {};

struct B : A {
  B() : A {} // { dg-error "expected" }
};

$ oldclang++ ctor3.C
ctor3.C:4:11: error: expected '('
  B() : A {} // { dg-error "expected" }
          ^
1 error generated.

$ clang++ ctor3.C
ctor3.C:5:2: error: expected '{'
};
 ^
ctor3.C:5:3: error: expected '}'
};
  ^
ctor3.C:3:14: note: to match this '{'
struct B : A {
             ^
ctor3.C:5:3: error: expected ';' after struct
};
  ^
  ;
3 errors generated.




More information about the cfe-commits mailing list