Daniel Dunbar
a45cf5b6b0
Rename clang to clang-cc.
...
Tests and drivers updated, still need to shuffle dirs.
llvm-svn: 67602
2009-03-24 02:24:46 +00:00
Anders Carlsson
8f0d218598
Handle pointers to arrays of abstract types.
...
llvm-svn: 67598
2009-03-24 01:46:45 +00:00
Anders Carlsson
b5a27b460c
More work on diagnosing abstract classes. We can now handle cases like
...
class C {
void g(C c);
virtual void f() = 0;
};
In this case, C is not known to be abstract when doing semantic analysis on g. This is done by recursively traversing the abstract class and checking the types of member functions.
llvm-svn: 67594
2009-03-24 01:19:16 +00:00
Anders Carlsson
eb0c532faa
More improvements to abstract type checking. Handle arrays correctly, and make sure to check parameter types before they decay.
...
llvm-svn: 67550
2009-03-23 19:10:31 +00:00
Anders Carlsson
0d5ca29b78
It's an error to try to allocate an abstract object using new.
...
llvm-svn: 67542
2009-03-23 17:49:10 +00:00
Anders Carlsson
576cc6f725
Disallow abstract types where appropriate.
...
llvm-svn: 67476
2009-03-22 20:18:17 +00:00
Anders Carlsson
7cbd8fb6b0
Keep track of whether a class is abstract or not. This is currently only used for the __is_abstract type trait.
...
llvm-svn: 67461
2009-03-22 01:52:17 +00:00