aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-11-10Basic support for taking the address of an overloaded functionDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59000 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10Update VC++ project file.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58996 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10Remove an out-of-date FIXMEDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58990 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10Improve parser error recovery after a constructor initializerDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58989 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10Allow user-defined conversions during reference bindingDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58988 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10Don't create a typedef for the injected-class-nameDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58987 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10Some cleanups to the declaration/checking of overloaded operators in C++. ↵Douglas Gregor
Thanks to Sebastian for the review git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58986 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10Add pretty printing to StringRegion.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58985 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10Add region store model to path-sensitive testing.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58983 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10Implement RegionStoreManager::RemoveDeadBindings(). This prunes several ↵Zhongxing Xu
false warning caused by removal of symbolic constraints. Currently we just mark all symbols live. Further optimization for dead binding removal needed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58982 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10don't preserve names on IR instructions. This matches llvm-gcc's behavior andChris Lattner
speeds up the compiler by ~8% at -emit-llvm -O0. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58977 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10sort files add a missed header to the project.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58976 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10Fix even more bugs in debug info support:Chris Lattner
1. emit proper debug info for forward decls of structs. 2. emit DW_TAG_member nodes around members of a field like llvm-gcc does. This slows down debug info generation, but is required for correctness. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58973 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10reimplement debug info generation in terms of DebugInfo.h instead ofChris Lattner
using MachineModuleInfo. This runs at about the same speed as the old code, but fixes a bunch of bugs and is simpler and shorter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58971 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10Print integer value instead of raw pointer. This is a hack to be fixed by ↵Zhongxing Xu
migrating the output in analyzer to llvm::raw_ostream. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58965 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10silence a warning from gcc.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58956 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-09Introduce ScopedDecl::getLexicalDeclContext() which is different from ↵Argyrios Kyrtzidis
ScopedDecl::getDeclContext() when there are nested-names. e.g.: namespace A { void f(); // SemanticDC (getDeclContext) == LexicalDC (getLexicalDeclContext) == 'namespace A' } void A::f(); // SemanticDC == namespace 'A' // LexicalDC == global namespace git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58948 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-09When a tag has nested-name ('struct foo::bar'), use not 'CurContext' but the ↵Argyrios Kyrtzidis
context of the nested-name ('foo::'). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58945 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-09Simplify handling of nested-names in tags ('struct foo::bar').Argyrios Kyrtzidis
-Use more of the non nested-name code path. -Also use the ActOnTagStruct code path. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58944 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-09Support named operands in inline asm statements.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58940 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-09Update C++ status: class support improved due to nested name parsing.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58932 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08Implement Sema support for C++ nested-name-specifiers.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58916 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08Silence a GCC member initialization order warning.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58914 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08Implement support for C++ nested-name-specifiers ('foo::bar::x') in the ↵Argyrios Kyrtzidis
Parser side. No Sema functionality change, just the signatures of the Action/Sema methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58913 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08Introduce annotation tokens, a special kind of token, created and used only ↵Argyrios Kyrtzidis
by the parser to replace a group of tokens with a single token encoding semantic information. Will be fully utilized later for C++ nested-name-specifiers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58911 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08Update C++ status to reflect parser capabilities for chapter 9 (classes). ↵Sebastian Redl
Slightly extend the class parser test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58909 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08Update C++ status: dynamic_cast is sema-complete.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58907 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08Move named cast helpers out of Sema, as Chris requested. This requirse ↵Sebastian Redl
making a few functions public that weren't before. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58906 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08Revert r58880, it breaks test/SemaCXX/constructor.cppArgyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58904 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08Use only one constructor for CXXMethodDecl. Keep initialization stuff into ↵Argyrios Kyrtzidis
one place. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58902 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08Avoid redundant cast<>s / simplify type dispatch.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58892 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08Support getTypeInfo, getTypeAlign, getTypeSize on const Type*s.Daniel Dunbar
- Size/align are not effected by CVR qualifiers. Support getCanonicalType: const Type* -> const Type*. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58891 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08"Fix" PR3021, don't crash on generating record types when we can'tDaniel Dunbar
generate the type of a member. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58889 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08Silence a gcc warning.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58888 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08Add a boilerplate for out-of-bound array checking. This has no real function ↵Zhongxing Xu
currently. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58886 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08In a declarator, consider an identifier a constructor only if it is followed ↵Argyrios Kyrtzidis
by '('. Previously: class C { int C; // Declarator::SetConstructor was called here. }; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58880 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08update post-build stepTed Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58878 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07Greatly improve static_cast diagnosticsSebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58873 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07Initial, partially-baked support for implicit user-defined conversions by ↵Douglas Gregor
conversion functions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58870 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07Use css style instead of hard coded color in cxx_status. No visible change.Cedric Venet
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58867 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07Changes in preparation for nested-name-specifiers.Argyrios Kyrtzidis
-When parsing declarators, don't depend on "CurScope->isCXXClassScope() == true" for constructors/destructors -For C++ member declarations, don't depend on "Declarator.getContext() == Declarator::MemberContext" git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58866 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07Updated checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58864 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07Update C++ statusDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58862 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07Parsing, ASTs, and semantic analysis for the declaration of conversionDouglas Gregor
functions in C++, e.g., struct X { operator bool() const; }; Note that these conversions don't actually do anything, since we don't yet have the ability to use them for implicit or explicit conversions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58860 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07Assert that Parser::MaybeParseOperatorFunctionId is called when token is ↵Argyrios Kyrtzidis
kw_operator, and replace ExpectAndConsume for the 'operator' token with a ConsumeToken. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58855 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07Separate the parsing of type-specifiers from other declaration specifiers, ↵Douglas Gregor
so that we can parse a C++ type-specifier-seq git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58854 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07include alloca.h instead of malloc.h. If this doesn't work for everyone we ↵Anders Carlsson
can just declare alloca directly in the file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58853 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07Append the test runs with '&&'.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58851 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07Properly deserialize ParamInfo of FunctionDecl.Argyrios Kyrtzidis
When allocating an array for ParamInfo, the "decl->getNumParams()" call was used, but this will return 0 since it checks ParamInfo (which isn't yet defined and is null). The result was that ParamInfo got an array of zero length to hold the ParmVarDecls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58850 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07Bring in 'alloca' for the Analysis/stack-addr-ps.c test case.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58849 91177308-0d34-0410-b5e6-96231b3b80d8