[cfe-dev] 回复: Clang/C++ problem?

jiyang zhao zjyzhaojiyang at yahoo.com.cn
Tue Jan 25 05:15:20 PST 2011


No, it should not work, because (i think) it is similar with the code as follows,
unsigned int int var = 0;
your problem is that you treat the typedef as macro here, so you think when processing unsigned Foo_t, it should be treated as unsigned int. 
But, again, it's not macro.

--- 11年1月25日,周二, Marshall Clow <mclow.lists at gmail.com> 写道:

发件人: Marshall Clow <mclow.lists at gmail.com>
主题: [cfe-dev] Clang/C++ problem?
收件人: "CLang-list" <cfe-dev at cs.uiuc.edu>
日期: 2011年1月25日,周二,上午5:08

Shouldn't this work?
If it should work, should I write up a bug?

$ cat junk.cpp
> typedef int Foo_t;
> 
> template <typename T>
> T DoSomething ( T t) { return t; }
> 
> int main ( int argc, char *argv [] ) {
>     int foo = 23;
>     DoSomething ( static_cast<unsigned int>(foo));
>     DoSomething ( static_cast<unsigned Foo_t>(foo));
>     return 0;
>     }
> 

$ g++ junk.cpp

$ clang junk.cpp
> junk.cpp:9:36: error: expected '>'
>         DoSomething ( static_cast<unsigned Foo_t>(foo));
>                                           ^
>                                           >
> junk.cpp:9:27: note: to match this '<'
>         DoSomething ( static_cast<unsigned Foo_t>(foo));
>                                  ^
> 1 error generated.
> 

Marshall Clow     Idio Software   <mailto:mclow.lists at gmail.com>

A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly moderated down to (-1, Flamebait).
        -- Yu Suzuki


_______________________________________________
cfe-dev mailing list
cfe-dev at cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20110125/6e29407d/attachment.html>


More information about the cfe-dev mailing list