- Sep 04, 2009
-
-
Steve Naroff authored
Implement clang_getCursor() - wired up to Argiris's work. Implement callbacks for CXCursor_ObjCProtocolRef. llvm-svn: 81004
-
Douglas Gregor authored
llvm-svn: 81002
-
Douglas Gregor authored
then drop it on the floor. llvm-svn: 80989
-
Douglas Gregor authored
The problem this change addresses is that we treat __is_pod and __is_empty as keywords in C++, because they are built-in type traits in GCC >= 4.3. However, GNU libstdc++ 4.2 (and possibly earlier versions) define implementation-detail struct templates named __is_pod and __is_empty. This commit solves the problem by recognizing struct __is_pod and struct __is_empty as special token sequences. When one of these token sequences is encountered, the keyword (__is_pod or __is_empty) is implicitly downgraded to an identifier so that parsing can continue. This is an egregious hack, but it has the virtue of "just working" whether someone is using libstdc++ 4.2 or not, without the need for special flags. llvm-svn: 80988
-
Zhongxing Xu authored
llvm-svn: 80980
-
Zhongxing Xu authored
llvm-svn: 80979
-
John McCall authored
llvm-svn: 80977
-
Fariborz Jahanian authored
base and data members when they are needed. llvm-svn: 80967
-
Anders Carlsson authored
If the alignment of the chosen field in a union is greater than the alignment of the union, we need to use a packed LLVM struct. Fixes <rdar://problem/7184250>. llvm-svn: 80964
-
Douglas Gregor authored
things, this means that we can properly cope with member access expressions such as t->operator T() where T is a template parameter (or other dependent type). llvm-svn: 80957
-
- Sep 03, 2009
-
-
Douglas Gregor authored
involve qualified names, e.g., x->Base::f. We now maintain enough information in the AST to compare the results of the name lookup of "Base" in the scope of the postfix-expression (determined at template definition time) and in the type of the object expression. llvm-svn: 80953
-
Fariborz Jahanian authored
as referecned with location where they are used. Still need to look at destructor aspects of them. llvm-svn: 80950
-
Fariborz Jahanian authored
reference/const data members when user has declared the constructor. This necessitated some non-minor refactoring. llvm-svn: 80934
-
Daniel Dunbar authored
llvm-svn: 80933
-
Steve Naroff authored
llvm-svn: 80932
-
Douglas Gregor authored
t->Base::f where t has a dependent type. We save the nested-name-specifier in the CXXUnresolvedMemberExpr then, during instantiation, substitute into the nested-name-specifier with the (transformed) object type of t, so that we get name lookup into the type of the object expression. Note that we do not yet retain information about name lookup into the lexical scope of the member access expression, so several regression tests are still disabled. llvm-svn: 80925
-
Douglas Gregor authored
llvm-svn: 80916
-
Daniel Dunbar authored
variables.", this is breaking x86_64-apple-darwin10 and Linux tests. llvm-svn: 80896
-
Daniel Dunbar authored
previous commit this depends on is breaking x86_64-apple-darwin10 and Linux tests. llvm-svn: 80895
-
Daniel Dunbar authored
- Patch by David Chisnall, with PCH and Darwin support mixed in. llvm-svn: 80883
-
Ted Kremenek authored
llvm-svn: 80873
-
David Chisnall authored
Fixed bug introduced in r79900 where FreeBSD was turned into NetBSD, transposing the ABIs and breaking both platforms. llvm-svn: 80870
-
Ted Kremenek authored
'dyn_cast' instead of 'cast' as the denominator value could be UnknownVal (and is not guaranteed to be a DefinedVal). llvm-svn: 80869
-
Zhongxing Xu authored
llvm-svn: 80865
-
Mike Stump authored
llvm-svn: 80864
-
Anders Carlsson authored
llvm-svn: 80862
-
Steve Naroff authored
llvm-svn: 80861
-
Fariborz Jahanian authored
1) Issue digsnostics in non-fragile ABI, when an expression evaluates to an interface type (except when it is used to access a non-fragile ivar). 2) Issue unsupported error in fragile ABI when an expression evaluates to an interface type (except when it is used to access a fragile ivar). llvm-svn: 80860
-
Steve Naroff authored
Add clang_getTranslationUnitSpelling(). llvm-svn: 80859
-
Douglas Gregor authored
with to properly support member access expressions in templates. This test is XFAIL'd, because we get it completely wrong, but I've made the minimal changes to the representation to at least avoid a crash. llvm-svn: 80856
-
Douglas Gregor authored
llvm-svn: 80853
-
Fariborz Jahanian authored
llvm-svn: 80847
-
Fariborz Jahanian authored
must be defined. Fixed pr4853. llvm-svn: 80846
-
Douglas Gregor authored
x->Base::f We no longer try to "enter" the context of the type that "x" points to. Instead, we drag that object type through the parser and pass it into the Sema routines that need to know how to perform lookup within member access expressions. We now implement most of the crazy name lookup rules in C++ [basic.lookup.classref] for non-templated code, including performing lookup both in the context of the type referred to by the member access and in the scope of the member access itself and then detecting ambiguities when the two lookups collide (p1 and p4; p3 and p7 are still TODO). This change also corrects our handling of name lookup within template arguments of template-ids inside the nested-name-specifier (p6; we used to look into the scope of the object expression for them) and fixes PR4703. I have disabled some tests that involve member access expressions where the object expression has dependent type, because we don't yet have the ability to describe dependent nested-name-specifiers starting with an identifier. llvm-svn: 80843
-
- Sep 02, 2009
-
-
Anders Carlsson authored
Fix an assertion when initializing a union using a member initializer. (We weren't casting from the union type to the initializer type correctly). llvm-svn: 80837
-
John McCall authored
whether the current context is dependent. Thanks to Anders for pointing this out. llvm-svn: 80828
-
Anders Carlsson authored
Fix a codegen crash when a class template has a constructor that does member initialization of an anonymous union. llvm-svn: 80826
-
Anders Carlsson authored
llvm-svn: 80808
-
Fariborz Jahanian authored
in constructors's initializer list. pr4854 llvm-svn: 80802
-
Zhongxing Xu authored
Also fix a checker context bug: the Dst set is not always empty initially. Because in GRExprEngine::CheckerVisit(), *CurrSet is used repeatedly. So we removed the Dst.empty() condition in ~CheckerContext() when deciding whether to do autotransision. llvm-svn: 80786
-