aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-12-31Remove some remnants of OwningExprResult / OwningStmtResult.Nico Weber
These got deleted late 2010 during the Actions/Sema unification. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171269 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-30Simplify. No functionality change.Nico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171268 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-30Don't warn on unused member functions that are extern because of a typedef.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171267 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-30Formatter: parse and format inline namespaces like regular namespacesDmitri Gribenko
This changes formatting from: inline namespace X { class A { }; } to: inline namespace X { class A { }; } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171266 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-30[ubsan] Recover by default, use -fno-sanitize-recover to disable.Will Dietz
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171264 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-30Use hasCLanguageLinkage when warning about non C return types.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171263 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-30Comment lexing: replace manual comparison with StringRef::find_first_ofDmitri Gribenko
This gives an about 1.8% improvement on Clang bootstrap with -Wdocumentation git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171262 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-30Don't get confused if a extern "C" builtin function is redeclared withoutRafael Espindola
the extern "C". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171260 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-30Remove the Function::getFnAttributes method in favor of using the AttributeSetBill Wendling
directly. This is in preparation for removing the use of the 'Attribute' class as a collection of attributes. That will shift to the AttributeSet class instead. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171254 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-29Don't warn for undefined but used decls that are external because of a typedef.Rafael Espindola
This fixes pr14736. It is fairly ugly, but I don't think we can do much better as we have to wait at least until the end of the typedef to know if the function will have external linkage or not. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171240 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-29ArrayRefize CXXTryStmt.Nico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171239 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-29ArrayRefize a CompoundStmt constructor.Nico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171238 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-29Fix a typo that caused a few standard library implementations of sort toChandler Carruth
get the wrong answer. Wasn't caught by my implementation sadly... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171222 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-29Try to re-structure the GCCVersion comparison routine to make it easierChandler Carruth
to read and tell that it is a SWO -- we now descend through the components and return a result at the first inequal component. Also comment it a bit better and make it a total ordering by sorting on the text of the suffix if necessary. None of this should really be a visible change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171219 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-29Removed duplicate logic.Erik Verbruggen
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171218 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-29Minor cleanup.Rafael Espindola
DS parameter has a default (null) value anyway, so there's no need for an if/else here. Patch by Nikola Smiljanić. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171210 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-28Reject overloading of two static extern C functions.Rafael Espindola
This patch moves hasCLanguageLinkage to be VarDecl and FunctionDecl methods so that they can be used from SemaOverload.cpp and then fixes the logic in Sema::IsOverload. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171193 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-28Replace magic numbers in CheckICE with an enum.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171192 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-28PR14729: Fix typo in CheckICE for BinaryConditionalOperators.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171191 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-28Improve diagnostic wording for when an implicitly-deleted special memberRichard Smith
function is selected by overload resolution. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171190 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-28Add proper support for -fsanitize-blacklist= flag for TSan and MSan. Clang part.Alexey Samsonov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171184 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-28Change this to an IR test instead of an assembly test (as per comment in ↵David Blaikie
r171134). This makes the test not dependent on LLVM & won't vary/break based on LLVM codegen related changes. Appropriately testing at the Clang level what was fixed at the Clang level originally (in r124210). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171175 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-27Simplify typeid 'potentially evaluated' check.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171162 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-27Implement dcl.link paragraph 5.Rafael Espindola
The language linkage of redeclarations must match. GCC was already reporting an error for this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171139 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-27Update test for backend change.Eric Christopher
TODO: This test should be moved to the backend. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171134 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-26Fix a regression from the previous commit.Rafael Espindola
Template instantiation can set the canonical decl to used after subsequent decls have been chained, so we have to check that too. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171088 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-26Use the most recent redecl to decide if it is needed.Rafael Espindola
This fixes pr14691, which I think is a regression from r168519. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171077 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-25Produce an actual error before attempting to attach notes to it when bailing outRichard Smith
due to FORCE_CLANG_DIAGNOSTICS_CRASH=1. Also add a test for that env var. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171074 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-25Fix for PR12222.Erik Verbruggen
Changed getLocStart() and getLocEnd() to be required for Stmts, and make getSourceRange() optional. The default implementation for getSourceRange() is build the range by calling getLocStart() and getLocEnd(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171067 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-25Add intel_ocl_bicc calling convention as a function attribute to clang. The ↵Guy Benyei
calling convention is already implemented in LLVM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171056 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-25Add 171048 back but invalidate the cache of all redeclarations when settingRafael Espindola
the body of a functions. The problem was that hasBody looks at the entire chain and causes problems to -fvisibility-inlines-hidden if the cache was not invalidated. Original message: Cache visibility of decls. This unifies the linkage and visibility caching. I first implemented this when working on pr13844, but the previous fixes removed the performance advantage of this one. This is still a step in the right direction for making linkage and visibility cheap to use. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171053 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-25Revert r171048, "Cache visibility of decls."NAKAMURA Takumi
It broke stage2. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171050 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-25Cache visibility of decls.Rafael Espindola
This unifies the linkage and visibility caching. I first implemented this when working on pr13844, but the previous fixes removed the performance advantage of this one. This is still a step in the right direction for making linkage and visibility cheap to use. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171048 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-24Simplify RUN lines. No functionality change.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171045 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-24Let clang-format format itself.Daniel Jasper
Apply all formatting changes that clang-format would apply to its own source code. All choices seem to improve readability (or at least not make it worse). No functional changes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171039 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-24Penalize tokens with a lower parenthesis level than the start of the line.Daniel Jasper
This prevents formattings like this (assuming "parameter" doesn't fit the line): bool f = someFunction() && someFunctionWithParam( parameter) && someOtherFunction(); Here, "parameter" - the start of line 2 - has a parenthesis level of 2, but there are subsequent tokens ("&&" and "someOtherFunction") with a lower level. This is bad for readability as "parameter" hides "someOtherFunction". With this patch, this changes to: bool f = someFunction() && someFunctionWithParam(parameter) && someOtherFunction(); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171038 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-24Align RHS after assignments and return statements.Daniel Jasper
This changes: int Result = a + // force break b; return Result + // force break 5; To: int Result = a + // force break b; return Result + // force break 5; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171032 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-24Fix formatting over overloaded operators.Daniel Jasper
This fixes llvm.org/pr14686. We used to add too many spaces for different versions of overloaded operator function declarations/definitions. This patch changes, e.g. operator *() {} operator >() {} operator () () {} to operator*() {} operator>() {} operator()() {} git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171028 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-24Support -fsanitize-memory-track-origins.Evgeniy Stepanov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171020 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-24CGClass.cpp: [PR14335] Remove comma-separated \param, for now. [-Wdocumentation]NAKAMURA Takumi
/// \param argBegin,argEnd the arguments to evaluate and pass to the constructor git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171015 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-24clang/AST/VTTBuilder.h: Prune one description in three methods, ↵NAKAMURA Takumi
VTTBuilder::AddVTablePointer(), VTTBuilder::LayoutSecondaryVirtualPointers(), and VTTBuilder::LayoutSecondaryVirtualPointers(). [-Wdocumentation] /// \param AddressPoints - If the vtable is a construction vtable, this has the address points for it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171014 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-24CGDecl.cpp: Prune three descriptions in two methods, ↵NAKAMURA Takumi
CodeGenFunction::pushIrregularPartialArrayCleanup() and CodeGenFunction::pushRegularPartialArrayCleanup(). [-Wdocumentation] /// \param array - a value of type elementType* /// \param destructionKind - the kind of destruction required /// \param initializedElementCount - a value of type size_t* holding the number of successfully-constructed elements git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171013 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-24DiagnosticRenderer.cpp: Prune one description in ↵NAKAMURA Takumi
DiagnosticRenderer::emitMacroExpansions(). [-Wdocumentation] /// \param MacroSkipEnd The depth to stop skipping macro expansions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171012 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-24CGValue.h: Update one \param to Addr in MakeBitfield(). [-Wdocumentation]NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171011 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-24test/Index/preamble_macro_template.cpp: Tweak for win32.NAKAMURA Takumi
Using the file immediately after "> file 2>&1" causes weird behavior on win32. For example, "foo > %t 2>&1; FileCheck --input-file=%t" Use "foo 2>&1 | tee %t" instead. Note, mixing stdout and stderr to the same handle might cause unexpected behavior, due to buffering. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171009 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-24Take operator precedence into account when splitting lines.Daniel Jasper
With this patch, splitting after binary operators has a panelty corresponding to the operator's precedence. We used to ignore this and eagerly format like: if (aaaaaaaaaaaaaaaaaaaaaaaaa || bbbbbbbbbbbbbbbbbbbbbbbbb && ccccccccccccccccccccccccc) { .. } With this patch, this becomes: if (aaaaaaaaaaaaaaaaaaaaaaaaa || bbbbbbbbbbbbbbbbbbbbbbbbb && ccccccccccccccccccccccccc) { .. } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171007 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-23Documentation: PTHInternals: use correct adornments and fix typosDmitri Gribenko
Fixes PR14014 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171005 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-23Documentation: fix a syntax error: empty line required after code-block::Dmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171004 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-23Documentation: add MemorySanitizer to the toctreeDmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171003 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-23docs: Convert ReleaseNotes to reST.Sean Silva
This is the last of the "regular" documents to convert to reST, and so I'm declaring the initial clang reST conversion "done". However, - There are some documents in clang/www/ which probably should be migrated into clang/docs/, such as www/OpenProjects.html The primary thing blocking me from doing this right now is not knowing how to set up a redirect so that the old URL's continue to work. - LibASTMatchersReference.html is not reST. This page is auto-generated by clang/docs/tools/dump_ast_matchers.py from the source and has some collapse/expand logic that isn't expressible directly with Sphinx, so just converting it to reST is not really a good strategy. Manuel Klimek and I discussed this and the general agreed-upon direction is making that page data-driven so that it, say, pulls in an auto-generated blob of JSON which describes the matchers and builds up the "matcher reference" part of the page with a small amount of JS. - There are some rogue .txt files hanging around. Also, I dropped the little dragon logo at the top because Sphinx was warning about an external image reference (not sure why, but meh, I didn't want to fight it). If anything, we would want such a logo integrated into the site's overall theme, rather than hardcoded here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170994 91177308-0d34-0410-b5e6-96231b3b80d8