summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* A code modification hint for files that don't end in a newline.Mike Stump2009-04-021-1/+3
| | | | | | | Eventually, would be nice to be able to run these modifications even when we don't want the warning or errors for the actual diagnostic. llvm-svn: 68272
* Introduce a "-fixit" mode to clang-cc that applies code-modification hints.Douglas Gregor2009-04-023-2/+142
| | | | llvm-svn: 68268
* Fixup -ftrapv to be more gcc compatible. -ftrapu (for want of aMike Stump2009-04-021-3/+17
| | | | | | | | | | better name) is the option that SmallTalk can use to intercept all overflows, including unsigned. I added some testcases so we don't break anything. Also included is another patch from David for += and friends. llvm-svn: 68267
* For plist diagnostics, use the extensive PathDiagnostic generation algorithm.Ted Kremenek2009-04-021-1/+1
| | | | llvm-svn: 68264
* Add some more code modification hintsDouglas Gregor2009-04-017-20/+65
| | | | llvm-svn: 68261
* Driver: Allow -ccc-gcc-name to specify the name/path to use whenDaniel Dunbar2009-04-012-2/+9
| | | | | | calling gcc in generic configurations. llvm-svn: 68260
* Fix a bug in declaration of property in continuationFariborz Jahanian2009-04-012-14/+24
| | | | | | | class which was exposed by implementation of objc2's nonfragile abi code gen. llvm-svn: 68259
* Add code modification hints to various parsing-related diagnostics.Douglas Gregor2009-04-014-11/+20
| | | | | | | Plus, reword a extension warnings to avoid talking about "ISO C" when the extension might also be available in C++ or C++0x. llvm-svn: 68257
* Make parsing a semantic analysis a little more robust following SemaDouglas Gregor2009-04-0111-87/+215
| | | | | | | | | | | | | | | | failures that involve malformed types, e.g., "typename X::foo" where "foo" isn't a type, or "std::vector<void>" that doens't instantiate properly. Similarly, be a bit smarter in our handling of ambiguities that occur in Sema::getTypeName, to eliminate duplicate error messages about ambiguous name lookup. This eliminates two XFAILs in test/SemaCXX, one of which was crying out to us, trying to tell us that we were producing repeated error messages. llvm-svn: 68251
* CodeGenModule::GetAddrOfConstantCFString():Steve Naroff2009-04-012-12/+10
| | | | | | | | | | - Finish up support for converting UTF8->UTF16 to support ObjC @"string" constants. Remove warning from CheckObjCString. As the FIXME in the test case indicates, I still have a bug to work out (apparently with \u handling). llvm-svn: 68245
* BugReporter, extensive path-diagnostics: add an extra control-flow edge to theTed Kremenek2009-04-011-0/+32
| | | | | | enclosing statement when jumping to a subexpression. llvm-svn: 68244
* Quick and dirty (!) fix to make sure we use powerpc in triples.Daniel Dunbar2009-04-013-10/+32
| | | | | | | | | - PR3922 - I have a clean solution for this in flight, but it may take a while to come to fruition so we'll take a quick fix for now. llvm-svn: 68241
* Add -ftrapv support, patch from David Chisnall; well all except theMike Stump2009-04-011-2/+115
| | | | | | clang option code that is and two bug fixes. llvm-svn: 68240
* Fixes a problem where the compiler is reporting the wrong size to the Gnu Fariborz Jahanian2009-04-011-2/+3
| | | | | | | runtime on 64-bit architectures. Patch by David Chisnall llvm-svn: 68238
* Fix comment.Ted Kremenek2009-04-011-1/+1
| | | | llvm-svn: 68236
* Nonfragile ivar synthesis with property is in a continuationFariborz Jahanian2009-04-013-1/+77
| | | | | | class. llvm-svn: 68234
* Driver: Add freebsd::LinkDaniel Dunbar2009-04-013-3/+125
| | | | | | - Patch by Ed Schouten! llvm-svn: 68233
* Update CMake file. Patch by Brian Diekelman!Ted Kremenek2009-04-011-0/+1
| | | | llvm-svn: 68232
* Revert r68221, -ftrapv support, which causes several regressions inDouglas Gregor2009-04-011-111/+0
| | | | | | Clang's test suite. llvm-svn: 68230
* BugReporter: for extensive path diagnostics:Ted Kremenek2009-04-011-11/+9
| | | | | | | | - When processing BlockEdges with terminators, using the condition as the control-flow point for terminators that are expressions (e.g., '&&', '?') - When processing events, allow intra-compound statement "jumping" llvm-svn: 68228
* Add -ftrapv support, patch from David Chisnall; well all except theMike Stump2009-04-011-0/+111
| | | | | | clang option code that is. llvm-svn: 68221
* BugReporter: for extensive PathDiagnostic generation, add control-flow from theTed Kremenek2009-04-011-1/+17
| | | | | | start of the function/method. llvm-svn: 68217
* BugReporter: For the "extensive" PathDiagnostic generation algorithm, elide mostTed Kremenek2009-04-011-13/+21
| | | | | | | intra-compound statement jumps unless they are between terminators (i.e., branches). llvm-svn: 68216
* Add ConvertUTF module from http://www.unicode.org/Public/PROGRAMS/CVTUTF.Steve Naroff2009-04-013-4/+567
| | | | | | | | | | #ifdef'd out the 5 conversion routines that we don't currently need. Still need a bit more work in GetAddrOfConstantCFString(). Added a FIXME to indicate this. Expect to remove the FIXME today... llvm-svn: 68208
* Give Type::getDesugaredType a "for-display" mode that can apply moreDouglas Gregor2009-04-012-8/+28
| | | | | | | | | | | | | | | | | | | | | | | heuristics to determine when it's useful to desugar a type for display to the user. Introduce two C++-specific heuristics: - For a qualified type (like "foo::bar"), only produce a new desugred type if desugaring the qualified type ("bar", in this case) produces something interesting. For example, if "foo::bar" refers to a class named "bar", don't desugar. However, if "foo::bar" refers to a typedef of something else, desugar to that something else. This gives some useful desugaring such as "foo::bar (aka 'int')". - Don't desugar class template specialization types like "basic_string<char>" down to their underlying "class basic_string<char, char_traits<char>, allocator<char>>, etc."; it's better just to leave such types alone. Update diagnostics.html with some discussion and examples of type preservation in C++, showing qualified names and class template specialization types. llvm-svn: 68207
* More "prep" work for handling UTF16 CFString.Steve Naroff2009-04-014-10/+8
| | | | | | Patch by Jean-Daniel Dupas. Thanks! llvm-svn: 68203
* ProcessUCNEscape(): Incorportate some feedback from Chris.Steve Naroff2009-04-011-17/+21
| | | | llvm-svn: 68198
* x86-32 Darwin ABI: Handle small structures correctly.Daniel Dunbar2009-04-011-2/+68
| | | | | | | | | | | | | | - Small structures are returned in a register if: 1. They fit nicely in a register. 2. All fields fit nicely in a register. (more or less) - We now pass the first 5000 ABITests if unions are disabled. - <rdar://problem/6497882> [irgen] x86-32 ABI compatibility with small structs llvm-svn: 68197
* x86-32 Darwin ABI: Single element arrays can be part of "singleDaniel Dunbar2009-04-011-18/+26
| | | | | | | | | | element structures", which have different ABI rules. - Current return-arguments-32 status is: 1 out of 1000 failures (-7) - Also, vectors inside "single element structs" require special handling. llvm-svn: 68196
* Fix: <rdar://problem/6740387>. Sending nil to an object that returns a structTed Kremenek2009-04-013-45/+46
| | | | | | | should only be an error if that value is consumed. This fix was largely accomplished by moving 'isConsumedExpr' back to ParentMap. llvm-svn: 68195
* remove ASTContext::buildObjCInterfaceType, which breaks canonical Chris Lattner2009-04-013-17/+2
| | | | | | | | types. It is no longer needed now that the code generator re-lays-out interfaces if they are defines after being laid out from a forward decl. llvm-svn: 68194
* - Changed PathDiagnosticPiece::getLocation() to return a PathDiagnosticLocationTed Kremenek2009-04-015-44/+216
| | | | | | | | | instead of a FullSourceLoc. This resulted in a bunch of small edits in various clients. - Updated BugReporter to include an alternate PathDiagnostic generation algorithm for PathDiagnosticClients desiring more control-flow pieces. llvm-svn: 68193
* x86-32 Darwin ABI: Handle direct return of vectors.Daniel Dunbar2009-04-011-0/+22
| | | | | | - Current return-arguments-32 status is: 8 out of 1000 failures (-7) llvm-svn: 68192
* Fix a subtle bug where the cleanup scope entries had a dangling block referenceDaniel Dunbar2009-04-012-14/+32
| | | | | | | | | - <rdar://problem/6732143> Crash when generating @synchronize for zero-cost exception - Thanks to Anders for helping track down the problem. llvm-svn: 68186
* CFG: For 'if(...) {}' (empty body) construct an empty CFGBlock so that we canTed Kremenek2009-04-011-2/+7
| | | | | | distinguish between the true and false branches for path-sensitive analyses. llvm-svn: 68185
* Remove a FIXME, use -emit-pth to drive PTH generation.Daniel Dunbar2009-04-011-3/+1
| | | | | | - c.f. r68164 llvm-svn: 68184
* Tweak/cleanup darwin::Link a bit, add several FIXMES, and improve testDaniel Dunbar2009-04-011-41/+42
| | | | | | case. llvm-svn: 68182
* Fix pascal string support; testcase from mailing list message.Eli Friedman2009-04-011-3/+4
| | | | llvm-svn: 68181
* fix the two xfails I added with a previous patch by making ObjC interfaceChris Lattner2009-04-013-2/+41
| | | | | | | types get completed when their definition is seen if previously laid out by the code generator. llvm-svn: 68177
* move trivial forwarding function inline.Chris Lattner2009-04-012-7/+4
| | | | llvm-svn: 68176
* tidy some code.Chris Lattner2009-04-012-11/+9
| | | | llvm-svn: 68174
* Fix block comparisons. Radar 6732116.Mike Stump2009-04-012-10/+11
| | | | llvm-svn: 68171
* Implement code generation of namespaces and add mangling tests.Anders Carlsson2009-04-012-2/+9
| | | | llvm-svn: 68170
* add support for the LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX limits.h GNU ↵Chris Lattner2009-04-011-0/+15
| | | | | | | | extensions. rdar://6740292 llvm-svn: 68169
* Fix a bug (that I thought I had fixed already) where mangling a prefix could ↵Anders Carlsson2009-04-011-2/+2
| | | | | | get us into an infinite loop llvm-svn: 68168
* Parsing, semantic analysis, and template instantiation for typenameDouglas Gregor2009-04-018-37/+141
| | | | | | | | | | | | | specifiers that terminate in a simple-template-id, e.g., typename MetaFun::template apply<T1, T2> Also, implement template instantiation for dependent nested-name-specifiers that involve unresolved identifiers, e.g., typename T::type::type llvm-svn: 68166
* Tweak darwin::Assemble and add a FIXME.Daniel Dunbar2009-04-011-3/+8
| | | | llvm-svn: 68165
* Fix a mangling bug where functions with no arguments weren't getting the 'v' ↵Anders Carlsson2009-04-011-0/+5
| | | | | | parameter specifier. llvm-svn: 68162
* Add Target hooks for IRgen of [cf]string literals.Daniel Dunbar2009-03-312-18/+47
| | | | | | | | | | | - Notably, set section on cfstring literal string data (for now, this is done everywhere because it matches what we were already doing for the CFString data itself) - <rdar://problem/6599098> [irgen] linker requires objc string data to go into cstring llvm-svn: 68160
* More code reshuffling. No functionality change.Ted Kremenek2009-03-311-465/+465
| | | | llvm-svn: 68157
OpenPOWER on IntegriCloud