aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-11-11Introduce a single AST node SizeOfAlignOfExpr for all sizeof and alignof ↵Sebastian Redl
expressions, both of values and types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59057 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11Add transfer function support for ObjCForCollectionStmt to LiveVariables.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59053 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11Add CFG support for Objective-C 2.0 fast enumeration 'for' statement:Ted Kremenek
http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/chapter_7_section_2.html#//apple_ref/doc/uid/TP30001163-CH18-SW3 Need to modify GRExprEngine, LiveVariables, and UninitializedValues to understand this construct. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59049 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11Implement C++ 'typeid' parsing and sema.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59042 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11Add CodeGenFunction::EmitBranch.Daniel Dunbar
- Emits an unconditional branch, with extra logic to avoid generating spurious branches out of dummy blocks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59037 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11Fix cmake build, patch from Jjgod Jiang.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59036 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11short circuit && and || when possible. This substantially reducesChris Lattner
the size of the -O0 output on some cases. For example, on expr.c from 176.gcc, it shrinks the .ll file from 43164 to 42835 lines, and removed references to two external symbols. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59034 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11Make codegen smart enough to not emit the dead side of an if whoseChris Lattner
condition is a constant. This shrinks -O0 codegen by quite a bit on some cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59033 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11implement debug info for typeof()Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59032 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11merge some testcases together.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59031 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11Move backend output out of destructor.Daniel Dunbar
Don't free AST consumer when --disable-free is set. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59030 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11remove the wrong PR # from the file name.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59029 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11add PR#Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59028 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11Fix PR3031 by silencing follow-on errors in invalid declarations.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59027 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11Remove unused function declaration.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59024 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11Add CodeGenFunction::EmitDummyBlock for marking places where we makeDaniel Dunbar
"dummy" blocks (blocks just used to make sure we have a place to dump code to). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59022 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11Remove CodeGenFunction::StartBlock.Daniel Dunbar
- Was confusing and only used in one small part of the code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59020 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11These tests have no needed to redirect stderr to stdout.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59019 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11Centralize basic block creation in CodeGenFunction::createBasicBlock.Daniel Dunbar
- No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59017 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11Fix StringLiteral print bug.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59015 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11Add && to test command.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59014 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11Fix Release-Asserts warning.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59013 91177308-0d34-0410-b5e6-96231b3b80d8
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