[cfe-commits] r41671 - in /cfe/trunk: Sema/Sema.h Sema/SemaDecl.cpp Sema/SemaExpr.cpp test/Sema/array-init.c
Bill Wendling
isanbard at gmail.com
Mon Sep 17 01:52:06 PDT 2007
Hi Steve,
It looks as if Sema::CheckAssignmentConstraints doesn't strip off the
reference before doing the checking. However, I don't know if this is
the correct place (I've lost track of what you guys are doing w.r.t.
initialization checks). Do you think this is the best place or should
it go somewhere else?
-bw
On Sep 1, 2007, at 7:04 PM, Steve Naroff wrote:
> Author: snaroff
> Date: Sat Sep 1 21:04:30 2007
> New Revision: 41671
>
> URL: http://llvm.org/viewvc/llvm-project?rev=41671&view=rev
> Log:
>
> Start implementing semantic analysis for C initializers.
>
> Step 1: Start instantiating InitListExpr's.
> Step 2: Call newly added function Sema::CheckInitializer() from
> Sema::ParseDeclarator().
> Step 3: Give InitListExpr's a preliminary type.
> Step 4: Start emitting diagnostics for simple assignments.
>
> Note:
>
> As a result of step 1, the CodeGen/mandel.c test asserts
> "Unimplemented agg expr!", which is expected.
>
> As a result of step 4, the test below now fails. This isn't
> expected and needs to be investigated (it appears type checking for
> C++ references is flawed in some way).
>
> ******************** TEST 'Sema/cxx-references.cpp' FAILED!
> ********************
> Command:
> clang -fsyntax-only Sema/cxx-references.cpp
> Output:
> Sema/cxx-references.cpp:8:12: warning: incompatible pointer types
> assigning 'int &*' to 'int *'
> int *p = &r;
> ^~
> Sema/cxx-references.cpp:10:20: error: incompatible types assigning
> 'int (int)' to 'int (&)(int)'
> int (&rg)(int) = g;
> ^
> Sema/cxx-references.cpp:13:18: error: incompatible types assigning
> 'int [3]' to 'int (&)[3]'
> int (&ra)[3] = a;
> ^
> Sema/cxx-references.cpp:16:14: error: incompatible types assigning
> 'int *' to 'int *&'
> int *& P = Q;
> ^
> 4 diagnostics generated.
> ******************** TEST 'Sema/cxx-references.cpp' FAILED!
> ********************
More information about the cfe-commits
mailing list