summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Try to not emit the dead side of ?: if the condition is a constant.Chris Lattner2008-11-111-4/+21
| | | | llvm-svn: 59061
* "a patch telling cmake to install clang headers in the targetChris Lattner2008-11-111-0/+5
| | | | | | | | install directory" Patch by Lukasz Janyst! llvm-svn: 59059
* Introduce a single AST node SizeOfAlignOfExpr for all sizeof and alignof ↵Sebastian Redl2008-11-1123-267/+212
| | | | | | expressions, both of values and types. llvm-svn: 59057
* Add transfer function support for ObjCForCollectionStmt to LiveVariables.Ted Kremenek2008-11-111-1/+17
| | | | llvm-svn: 59053
* Add CFG support for Objective-C 2.0 fast enumeration 'for' statement:Ted Kremenek2008-11-111-13/+77
| | | | | | | | 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. llvm-svn: 59049
* Implement C++ 'typeid' parsing and sema.Sebastian Redl2008-11-1120-16/+264
| | | | llvm-svn: 59042
* Add CodeGenFunction::EmitBranch.Daniel Dunbar2008-11-116-41/+40
| | | | | | | - Emits an unconditional branch, with extra logic to avoid generating spurious branches out of dummy blocks. llvm-svn: 59037
* Fix cmake build, patch from Jjgod Jiang.Daniel Dunbar2008-11-111-0/+2
| | | | llvm-svn: 59036
* short circuit && and || when possible. This substantially reducesChris Lattner2008-11-114-28/+64
| | | | | | | | 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. llvm-svn: 59034
* Make codegen smart enough to not emit the dead side of an if whoseChris Lattner2008-11-111-5/+49
| | | | | | | condition is a constant. This shrinks -O0 codegen by quite a bit on some cases. llvm-svn: 59033
* implement debug info for typeof()Chris Lattner2008-11-111-6/+9
| | | | llvm-svn: 59032
* merge some testcases together.Chris Lattner2008-11-113-16/+16
| | | | llvm-svn: 59031
* Move backend output out of destructor.Daniel Dunbar2008-11-112-3/+8
| | | | | | Don't free AST consumer when --disable-free is set. llvm-svn: 59030
* remove the wrong PR # from the file name.Chris Lattner2008-11-111-0/+0
| | | | llvm-svn: 59029
* add PR#Chris Lattner2008-11-111-0/+1
| | | | llvm-svn: 59028
* Fix PR3031 by silencing follow-on errors in invalid declarations.Chris Lattner2008-11-115-6/+11
| | | | llvm-svn: 59027
* Remove unused function declaration.Daniel Dunbar2008-11-111-3/+0
| | | | llvm-svn: 59024
* Add CodeGenFunction::EmitDummyBlock for marking places where we makeDaniel Dunbar2008-11-113-7/+16
| | | | | | | "dummy" blocks (blocks just used to make sure we have a place to dump code to). llvm-svn: 59022
* Remove CodeGenFunction::StartBlock.Daniel Dunbar2008-11-112-14/+4
| | | | | | - Was confusing and only used in one small part of the code. llvm-svn: 59020
* These tests have no needed to redirect stderr to stdout.Daniel Dunbar2008-11-112-6/+6
| | | | llvm-svn: 59019
* Centralize basic block creation in CodeGenFunction::createBasicBlock.Daniel Dunbar2008-11-119-68/+73
| | | | | | - No functionality change. llvm-svn: 59017
* Fix StringLiteral print bug.Zhongxing Xu2008-11-111-1/+17
| | | | llvm-svn: 59015
* Add && to test command.Zhongxing Xu2008-11-111-1/+1
| | | | llvm-svn: 59014
* Fix Release-Asserts warning.Daniel Dunbar2008-11-111-0/+1
| | | | llvm-svn: 59013
* Basic support for taking the address of an overloaded functionDouglas Gregor2008-11-109-14/+203
| | | | llvm-svn: 59000
* Update VC++ project file.Steve Naroff2008-11-101-0/+4
| | | | llvm-svn: 58996
* Remove an out-of-date FIXMEDouglas Gregor2008-11-101-1/+0
| | | | llvm-svn: 58990
* Improve parser error recovery after a constructor initializerDouglas Gregor2008-11-103-3/+28
| | | | llvm-svn: 58989
* Allow user-defined conversions during reference bindingDouglas Gregor2008-11-102-2/+77
| | | | llvm-svn: 58988
* Don't create a typedef for the injected-class-nameDouglas Gregor2008-11-101-14/+5
| | | | llvm-svn: 58987
* Some cleanups to the declaration/checking of overloaded operators in C++. ↵Douglas Gregor2008-11-106-146/+142
| | | | | | Thanks to Sebastian for the review llvm-svn: 58986
* Add pretty printing to StringRegion.Zhongxing Xu2008-11-102-0/+6
| | | | llvm-svn: 58985
* Add region store model to path-sensitive testing.Zhongxing Xu2008-11-101-0/+1
| | | | llvm-svn: 58983
* Implement RegionStoreManager::RemoveDeadBindings(). This prunes several ↵Zhongxing Xu2008-11-101-4/+20
| | | | | | false warning caused by removal of symbolic constraints. Currently we just mark all symbols live. Further optimization for dead binding removal needed. llvm-svn: 58982
* don't preserve names on IR instructions. This matches llvm-gcc's behavior andChris Lattner2008-11-101-1/+2
| | | | | | speeds up the compiler by ~8% at -emit-llvm -O0. llvm-svn: 58977
* sort files add a missed header to the project.Chris Lattner2008-11-101-8/+10
| | | | llvm-svn: 58976
* Fix even more bugs in debug info support:Chris Lattner2008-11-101-5/+0
| | | | | | | | | 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. llvm-svn: 58973
* reimplement debug info generation in terms of DebugInfo.h instead ofChris Lattner2008-11-103-722/+410
| | | | | | | using MachineModuleInfo. This runs at about the same speed as the old code, but fixes a bunch of bugs and is simpler and shorter. llvm-svn: 58971
* Print integer value instead of raw pointer. This is a hack to be fixed by ↵Zhongxing Xu2008-11-101-3/+1
| | | | | | migrating the output in analyzer to llvm::raw_ostream. llvm-svn: 58965
* silence a warning from gcc.Chris Lattner2008-11-101-0/+1
| | | | llvm-svn: 58956
* Introduce ScopedDecl::getLexicalDeclContext() which is different from ↵Argyrios Kyrtzidis2008-11-097-31/+137
| | | | | | | | | | | | | 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 llvm-svn: 58948
* When a tag has nested-name ('struct foo::bar'), use not 'CurContext' but the ↵Argyrios Kyrtzidis2008-11-091-15/+19
| | | | | | context of the nested-name ('foo::'). llvm-svn: 58945
* Simplify handling of nested-names in tags ('struct foo::bar').Argyrios Kyrtzidis2008-11-092-59/+55
| | | | | | | -Use more of the non nested-name code path. -Also use the ActOnTagStruct code path. llvm-svn: 58944
* Support named operands in inline asm statements.Anders Carlsson2008-11-091-6/+51
| | | | llvm-svn: 58940
* Update C++ status: class support improved due to nested name parsing.Sebastian Redl2008-11-091-9/+9
| | | | llvm-svn: 58932
* Implement Sema support for C++ nested-name-specifiers.Argyrios Kyrtzidis2008-11-0810-45/+426
| | | | llvm-svn: 58916
* Silence a GCC member initialization order warning.Argyrios Kyrtzidis2008-11-081-1/+1
| | | | llvm-svn: 58914
* Implement support for C++ nested-name-specifiers ('foo::bar::x') in the ↵Argyrios Kyrtzidis2008-11-0817-93/+572
| | | | | | | | Parser side. No Sema functionality change, just the signatures of the Action/Sema methods. llvm-svn: 58913
* Introduce annotation tokens, a special kind of token, created and used only ↵Argyrios Kyrtzidis2008-11-084-7/+117
| | | | | | | | 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. llvm-svn: 58911
* Update C++ status to reflect parser capabilities for chapter 9 (classes). ↵Sebastian Redl2008-11-082-15/+121
| | | | | | Slightly extend the class parser test. llvm-svn: 58909
OpenPOWER on IntegriCloud