[cfe-dev] Clang/C++ problem?

Marshall Clow mclow.lists at gmail.com
Mon Jan 24 17:00:37 PST 2011


On Jan 24, 2011, at 4:02 PM, Bo Persson wrote:

> Marshall Clow wrote:
> 
>> 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;
>>>    }
>>> 
> No, this shouldn't work. Some types, like 'unsigned int' are formed by 
> two keywords, but that doesn't mean you can use one keyword first and 
> add the other one later.


Thanks Steven and Bo.
I've closed the bug as "invalid".

However, if there's a "gcc compatibility" document somewhere, this should probably go into it.
(Since gcc accepts this code w/o complaint - even at -Wall)

-- Marshall

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





More information about the cfe-dev mailing list