- May 11, 2011
-
-
Eli Friedman authored
dynamic_cast correctly. llvm-svn: 131177
-
Francois Pichet authored
This removes 2 errors when parsing MFC code with clang Example: class A { virtual void f() = 0 { } } llvm-svn: 131175
-
John McCall authored
llvm-svn: 131170
-
Ted Kremenek authored
llvm-svn: 131158
-
- May 10, 2011
-
-
Alexis Hunt authored
I've edited one diagnostic which would print "copy constructor" for copy constructors and "constructor" for any other constructor. If anyone is extremely enamored with this, it can be reinstated with a simple boolean flag rather than calling getSpecialMember, which is inappropriate. llvm-svn: 131143
-
-
Ted Kremenek authored
Elide __label__ declarations from the CFG. This resolves a crash in CFGRecStmtDeclVisitor (crash in static analyzer). llvm-svn: 131141
-
Douglas Gregor authored
the semantic context referenced by the nested-name-specifier rather than the syntactic form of the nested-name-specifier. The previous incarnation was based on my complete misunderstanding of C++ [temp.expl.spec]. The latest C++0x working draft clarifies the requirements here, and this rewrite is intended to follow that. Along the way, improve source location information in the diagnostics. For example, if we report that a specific type needs or doesn't need a 'template<>' header, we dig out that type in the nested-name-specifier and highlight its range. Fixes: PR5907, PR9421, PR8277, PR8708, PR9482, PR9668, PR9877, and <rdar://problem/9135379>. llvm-svn: 131138
-
Eli Friedman authored
llvm-svn: 131132
-
Rafael Espindola authored
llvm-svn: 131126
-
Alexis Hunt authored
Focus is on default constructors for the time being. Currently the exception specification and prototype are processed correctly. Codegen might work but in all likelihood doesn't. Note that due to an error, out-of-line defaulting of member functions is currently impossible. It will continue to that until I muster up the courage to admit that I secretly pray to epimetheus and that I need to rework the way default gets from Parse -> Sema. llvm-svn: 131115
-
Alexis Hunt authored
reflect our new, more accurate AST. llvm-svn: 131114
-
Douglas Gregor authored
unions. Fixes PR8326. llvm-svn: 131109
-
Francois Pichet authored
llvm-svn: 131108
-
Fariborz Jahanian authored
structs (impacts 32-bit only though). llvm-svn: 131103
-
- May 09, 2011
-
-
Douglas Gregor authored
definitions to also include tag declarations. Fixes PR8151. llvm-svn: 131102
-
Alexis Hunt authored
hasTrivialDefaultConstructor() really really means it now. Also implement a fun standards bug regarding aggregates. Doug, if you'd like, I can un-implement that bug if you think it is truly a defect. The bug is that non-special-member constructors are never considered user-provided, so the following is an aggregate: struct foo { foo(int); }; It's kind of bad, but the solution isn't obvious - should struct foo { foo (int) = delete; }; be an aggregate or not? Lastly, add a missing initialization to FunctionDecl. llvm-svn: 131101
-
Douglas Gregor authored
also consider whether any of the parameter types (as written, prior to decay) are dependent. Fixes PR9880 and <rdar://problem/9408413>. llvm-svn: 131099
-
Alexis Hunt authored
modify the semantics slightly to accomodate default constructors (I hope). llvm-svn: 131087
-
Daniel Dunbar authored
when POSIXLY_COMPLIANT is set. - Patch by Dave Vasilevsky! llvm-svn: 131084
-
John McCall authored
rdar://problem/9391966 llvm-svn: 131080
-
Francois Pichet authored
Necessary to parse MFC code. llvm-svn: 131076
-
- May 08, 2011
-
-
Anders Carlsson authored
llvm-svn: 131075
-
Anders Carlsson authored
complete destructors for abstract classes unless the destructor is virtual and thus needs to be in the vtable. llvm-svn: 131068
-
Francois Pichet authored
llvm-svn: 131066
-
Douglas Gregor authored
bit by allowing __weak and __strong to be added/dropped as part of implicit conversions (qualification conversions in C++). A little history: GCC lets one add/remove/change GC qualifiers just about anywhere, implicitly. Clang did roughly the same before, but we recently normalized the semantics of qualifiers across the board to get a semantics that we could reason about (yay). Unfortunately, this tightened the screws a bit too much for GC qualifiers, where it's common to add/remove these qualifiers at will. Overall, we're still in better shape than we were before: we don't permit directly changing the GC qualifier (e.g., __weak -> __strong), so type safety is improved. More importantly, we're internally consistent in our handling of qualifiers, and the logic that allows adding/removing GC qualifiers (but not adding/removing address spaces!) only touches two obvious places. Fixes <rdar://problem/9402499>. llvm-svn: 131065
-
Douglas Gregor authored
type, so long as it is known to have a constant initializer and the class type is a POD class. Fixes <rdar://problem/9306265>. llvm-svn: 131060
-
- May 07, 2011
-
-
-
Francois Pichet authored
Don't fail at parsing __declspec(property(get=get_func_name)). Just skip everything inside property() for now while we wait for the BoostPro people to provide a complete patch. llvm-svn: 131053
-
Eli Friedman authored
bad assumptions about the alignment of the double* argument. llvm-svn: 131052
-
Francois Pichet authored
http://msdn.microsoft.com/en-us/library/hzc8ytsz(v=VS.100).aspx Microsoft doc claims this is a C++/CLI feature but it is really always enabled. This removes 2 error when parsing MFC code with clang. llvm-svn: 131051
-
Francois Pichet authored
llvm-svn: 131050
-
Richard Trieu authored
Patch for PR 7409 - only error on definition of invalid typedefs. Suppress errors for additional uses of this invalid typedef. llvm-svn: 131043
-
Douglas Gregor authored
DeclContext's lookup table when they aren't in any identifier namespace. llvm-svn: 131037
-
Douglas Gregor authored
any names that aren't in the appropriate identifier namespaces. Fixes an embarrassing bug where we give a redefinition error due to an Objective-C category (<rdar://problem/9388207>). llvm-svn: 131036
-
Fariborz Jahanian authored
non-bitfield following a bitfield if size of their types differ. llvm-svn: 131032
-
- May 06, 2011
-
-
Fariborz Jahanian authored
a non-bitfield if size of their types differ. llvm-svn: 131023
-
Douglas Gregor authored
build a precompiled header. Use this information to eliminate the call to SourceManager::getLocation() while loading a precompiled preamble, since SourceManager::getLocation() itself causes unwanted deserialization. Fixed <rdar://problem/9399352>. llvm-svn: 131021
-
Cameron Esfahani authored
llvm-svn: 131019
-
Alexis Hunt authored
llvm-svn: 131018
-