[cfe-commits] r41681 - in /cfe/trunk: Sema/Sema.h Sema/SemaDecl.cpp Sema/SemaExpr.cpp include/clang/Basic/DiagnosticKinds.def test/Sema/array-init.c

Steve Naroff snaroff at apple.com
Tue Sep 4 09:21:08 PDT 2007


On Sep 4, 2007, at 8:51 AM, Fariborz Jahanian wrote:

> After a checkout of latest source, following test failed. Is this a
> known problem.
>

Yes. I noted this failure after my 9/1 commit (see below).

I asked Bill to look into it (since he added the C++ reference  
support...).

snaroff

Begin forwarded message:
> From: Steve Naroff <snaroff at apple.com>
> Date: September 1, 2007 7:04:31 PM PDT
> To: cfe-commits at cs.uiuc.edu
> Subject: [cfe-commits] r41671 - in /cfe/trunk: Sema/Sema.h Sema/ 
> SemaDecl.cpp Sema/SemaExpr.cpp test/Sema/array-init.c
>
> 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!  
> ********************
>
>



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20070904/fe62cb45/attachment.html>


More information about the cfe-commits mailing list