summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* some cleanups to use IRBuilder methods instead of llvm:: foo methods.Chris Lattner2011-04-191-42/+34
| | | | llvm-svn: 129829
* Driver/Darwin: Switch to using new style triples.Daniel Dunbar2011-04-192-18/+6
| | | | llvm-svn: 129824
* ADT/Triple: Switch to using .isOSDarwin() predicate.Daniel Dunbar2011-04-198-49/+52
| | | | llvm-svn: 129823
* Avoid superfluous warning after an error is detcted and reported.Fariborz Jahanian2011-04-192-3/+6
| | | | | | // rdar://9132143 llvm-svn: 129822
* Basic/Darwin: Add support for new -osx and -ios style triples (not yet used).Daniel Dunbar2011-04-191-17/+33
| | | | llvm-svn: 129820
* use the newly introduced IRBuilder getInt() method to reduce someChris Lattner2011-04-191-17/+12
| | | | | | redundancy pointed out by John. llvm-svn: 129808
* We regard a function as 'unused' from the codegen perspective, so our ↵Argyrios Kyrtzidis2011-04-1911-13/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | warnings diverge from gcc's unused warnings which don't get emitted if the function is referenced even in an unevaluated context (e.g. in templates, sizeof, etc.). Also, saying that a function is 'unused' because it won't get codegen'ed is somewhat misleading. - Don't emit 'unused' warnings for functions that are referenced in any part of the user's code. - A warning that an internal function/variable won't get emitted is useful though, so introduce -Wunneeded-internal-declaration which will warn if a function/variable with internal linkage is not "needed" ('used' from the codegen perspective), e.g: static void foo() { } template <int> void bar() { foo(); } test.cpp:1:13: warning: function 'foo' is not needed and will not be emitted static void foo() { } ^ Addresses rdar://8733476. llvm-svn: 129794
* Add a new expression classification, CL_AddressableVoidPeter Collingbourne2011-04-193-4/+21
| | | | | | | | | CL_AddressableVoid is the expression classification used for void expressions whose address can be taken, i.e. the result of [], * or void variable references in C, as opposed to things like the result of a void function call. llvm-svn: 129783
* Add missing break statements.Ted Kremenek2011-04-191-0/+2
| | | | llvm-svn: 129750
* Make the VariadicMethodTypeChecker accept block pointers as Objective-C ↵Anders Carlsson2011-04-192-0/+5
| | | | | | pointers. Fixes PR9746. llvm-svn: 129741
* Fix line endingsMatt Beaumont-Gay2011-04-191-40/+40
| | | | llvm-svn: 129740
* Driver/Darwin: Change to use generic iOS runtime library, which we now ↵Daniel Dunbar2011-04-182-5/+3
| | | | | | always need. llvm-svn: 129734
* Report memory usage for global code completion results in CXTUMemoryUsage.Ted Kremenek2011-04-183-9/+21
| | | | llvm-svn: 129733
* Unbreak the MSVC build: Don't mix variable declarations and statements in a ↵Francois Pichet2011-04-181-2/+4
| | | | | | .c file. llvm-svn: 129732
* Add libclang API to query how much memory is used by a CXTranslationUnit. ↵Ted Kremenek2011-04-185-5/+155
| | | | | | | | This is a WIP. Currently we report the amount used for expressions, types, identifiers, and selectors. llvm-svn: 129730
* Add ASTContext::getTotalMemory() to allow clients to query how much memory ↵Ted Kremenek2011-04-181-0/+6
| | | | | | is bump allocated for declarations, statements, and types. llvm-svn: 129729
* Add SelectorTable::getTotalMemory() to allow clients to query how much ↵Ted Kremenek2011-04-182-0/+7
| | | | | | memory is used by selectors. llvm-svn: 129728
* Driver/Darwin: Disable movw/movt with -mkernel or -fapple-kext.Daniel Dunbar2011-04-181-0/+6
| | | | llvm-svn: 129721
* Fix a bug in calculation of composite typeFariborz Jahanian2011-04-182-3/+28
| | | | | | | | of conditional expressions of objc pointer types where one type is the immediate base type of the other. // rdar://9296866 llvm-svn: 129718
* Driver: Support -fno-lto.Daniel Dunbar2011-04-182-1/+3
| | | | llvm-svn: 129712
* Add ToolChain path support for linker on Slackware.Ted Kremenek2011-04-181-0/+3
| | | | llvm-svn: 129704
* Fix typo in comment.Devang Patel2011-04-182-2/+2
| | | | llvm-svn: 129703
* Fix PR9741. The implicit declarations created for range-based for loops ↵Richard Smith2011-04-183-2/+12
| | | | | | weren't being added to the DeclContext (nor were they being marked as implicit). Also, the declarations were being emitted in the wrong order when building the CFG. llvm-svn: 129700
* When providing code completions of ivar names for a propertyDouglas Gregor2011-04-182-20/+53
| | | | | | | | | | | | | | | | implementation such as @synthesize Prop1 = Give priority to ivars whose type matches or closely matches the property type (as we do for several other kinds of results). Additionally, if there is an ivar with the same name as the property, or differs only due to a _ prefix or suffix, give that ivar a priority bump. Finally, verify that this search is properly returning ivars within class extensions and implementations (<rdar://problem/8488854>). llvm-svn: 129699
* Get rid of std::vector usage when getting function types in CGException.cppAnders Carlsson2011-04-181-30/+22
| | | | llvm-svn: 129698
* When producing code completion results for the Objective-C propertyDouglas Gregor2011-04-182-7/+46
| | | | | | | | | | | implementation @synthesize <property> = also produce a completion for a to-be-synthesized ivar named _<property>. llvm-svn: 129697
* Clean up code generation of typeid expressions and add C++ standard references.Anders Carlsson2011-04-181-37/+53
| | | | llvm-svn: 129682
* Put a typeid test in its own namespace.Anders Carlsson2011-04-171-1/+5
| | | | llvm-svn: 129681
* Fix a miscompilation I introduced in r129652, thanks for Eli for tracking Chris Lattner2011-04-172-1/+25
| | | | | | | | | | | | | | | it down. we effectively were compile the testcase into: void test14(int x) { switch (x) { case 11: break; case 42: test14(97); // fallthrough default: test14(42); break; which is not the same thing at all. This fixes a miscompilation of MallocBench/gs seen on the clang-x86_64-linux-fnt buildbot. llvm-svn: 129679
* Use the right type name.Anders Carlsson2011-04-171-1/+1
| | | | llvm-svn: 129674
* When laying out bases in, always try the "base subobject" LLVM type. If itAnders Carlsson2011-04-176-25/+107
| | | | | | | | | | | | | turns out that a field or base needs to be laid out in the tail padding of the base, CGRecordLayoutBuilder::ResizeLastBaseFieldIfNecessary will convert it to an array of i8. I've audited the new test results to make sure that they are still valid. I've also verified that we pass a self-host with this change. This (finally) fixes PR5589! llvm-svn: 129673
* Cleanup tests, no functionality change.Anders Carlsson2011-04-173-3/+4
| | | | llvm-svn: 129672
* Add addBaseSubobjectTypeName which isn't used yet.Anders Carlsson2011-04-172-0/+14
| | | | llvm-svn: 129671
* Move code to add a type name to a TagDecl type out into a helper function. ↵Anders Carlsson2011-04-172-25/+37
| | | | | | No functionality change. llvm-svn: 129669
* Use a SmallVector for field types in CGRecordLayoutBuilder now that ↵Anders Carlsson2011-04-171-1/+1
| | | | | | llvm::StructType::get takes an ArrayRef. llvm-svn: 129667
* Make -mno-mmx imply -mno-3dnow. This is what gcc does, and it makes sense.Michael J. Spencer2011-04-171-4/+3
| | | | | | | | Also, fold the sse4 and sse4.1 cases together. Patch by Alexander Best! llvm-svn: 129665
* when assertions are disabled, labels go away. Hopefully fixes the windows ↵Chris Lattner2011-04-171-4/+2
| | | | | | build. llvm-svn: 129660
* Hack to turn the valgrind buildbot green, until Devang can address itEli Friedman2011-04-171-1/+1
| | | | | | properly. llvm-svn: 129657
* implement rdar://9289524 - case followed immediately by break results in ↵Chris Lattner2011-04-174-0/+57
| | | | | | | | empty IR block, a -O0 code quality issue. llvm-svn: 129652
* fold memcpy/set/move_chk to llvm.memcpy/set/move when the sizesChris Lattner2011-04-173-5/+78
| | | | | | | | | are trivial. This exposes opportunities earlier, and allows fastisel to do good things with these at -O0. This addresses rdar://9289468 - clang doesn't fold memset_chk at -O0 llvm-svn: 129651
* fix rdar://9289603 - clang should fold trivial ?: for enums as well as ↵Chris Lattner2011-04-162-4/+22
| | | | | | | | integer constants into select at -O0 by making the isCheapEnoughToEvaluateUnconditionally predicate handle anything that folds to a constant. In particular, we now fold enums. llvm-svn: 129649
* Testing my commit access. A few whitespace changes to Sema/SemaCXXCast.cpp.Richard Trieu2011-04-161-7/+5
| | | | llvm-svn: 129629
* Introduce Rewriter::IncreaseIndentation() which increase indentations for ↵Argyrios Kyrtzidis2011-04-162-1/+94
| | | | | | | | | the lines between the given source range. To determine what the indentation should be, a SourceLocation 'parentIndent' parameter is used that should be at a source location with an indentation one degree lower than the given range. llvm-svn: 129628
* Modify test for 32 and 64 bit.Tanya Lattner2011-04-161-5/+5
| | | | llvm-svn: 129627
* Emit proper selector name in debug info.Devang Patel2011-04-162-2/+17
| | | | llvm-svn: 129626
* Emit debug info for Objective-C properties.Devang Patel2011-04-162-3/+28
| | | | llvm-svn: 129625
* Fix bug in vector initializer when initializing a vector with another vector.Tanya Lattner2011-04-152-0/+18
| | | | | | Add test case. llvm-svn: 129617
* Enforce nonnull __attribute__ on Objective-C method calls.Fariborz Jahanian2011-04-152-0/+33
| | | | | | // rdar://9287695 llvm-svn: 129615
* Initial work to improve documentation for Clang's diagnostics, from Matthieu ↵Douglas Gregor2011-04-1520-26/+166
| | | | | | Monrocq llvm-svn: 129614
* For the purposes of overload resolution, consider a conversion from anDouglas Gregor2011-04-152-1/+11
| | | | | | | | | Objective-C pointer to void* as a "conversion to void*". This allows us to prefer an Objective-C object pointer conversion to a superclass object pointer over an Objective-C object pointer conversion to cv-void*. Fixes PR9735. llvm-svn: 129603
OpenPOWER on IntegriCloud