aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-12-13Update CMake build corresponding to r170135.NAKAMURA Takumi
Thanks to Saleem Abdulrasool, aka compnerd! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170136 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13Dont use/link ARCMT, StaticAnalyzer and Rewriter to clang when the userRoman Divacky
specifies not to. Dont build ASTMatchers with Rewriter disabled and StaticAnalyzer when it's disabled. Without all those three, the clang binary shrinks (x86_64) from ~36MB to ~32MB (unstripped). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170135 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13Documentation: add AutomaticReferenceCounting.rst to the toctreeDmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170133 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13Documentation: convert AutomaticReferenceCounting.html to reSTDmitri Gribenko
Patch by Anastasi Voitova with with small fixes by me. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170132 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13Rename StmtDumper to ASTDumper.Alexander Kornienko
Patch contributed by Philip Craig! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170127 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13Remove little endian specification from SPIR data layout - SPIR doesn't ↵Guy Benyei
define endiannes in the data layout. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170125 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13Point a hyperlink back to where it was before it got reStructured.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170110 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13ubsan: Add -fsanitize=bool and -fsanitize=enum, which check for loads ofRichard Smith
bit-patterns which are not valid values for enumerated or boolean types. These checks are the ubsan analogue of !range metadata. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170108 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13Simplify. No functionality change.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170100 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13Initial support for FreeBSD on ARM.Rafael Espindola
Patch by Andrew Turner. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170096 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13[analyzer] Generalize ObjCMissingSuperCallChecker.Jordan Rose
We now check a few methods for UIResponder, NSResponder, and NSDocument. Patch by Julian Mayer! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170089 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13Using CanQualType::getAs<ArrayType> is unsafe; fix the code currently using it,Eli Friedman
and make sure additional uses don't get introduced. <rdar://problem/12858424>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170081 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13docs: More reST conversion.Sean Silva
Sorry for the large commit, but it is much faster to convert in batches. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170067 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13[analyzer] Fix a self-init checker false positive.Anna Zaks
This is a Band-Aid fix to a false positive, where we complain about not initializing self to [super init], where self is not coming from the init method, but is coming from the caller to init. The proper solution would be to associate the self and it's state with the enclosing init. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170059 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13objc: DOn't complain if a (SEL) expression is typecastFariborz Jahanian
to (SEL). Fixes // rdar://12859590 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170058 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13Add missing check for error return from DefaultLvalueConversion. Fixes ↵Eli Friedman
<rdar://problem/12857416>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170056 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-13More hacking on mapDiagnosticRanges to make it handle more cases.Eli Friedman
This still isn't quite right, but it fixes a crash. I factored out findCommonParent because we need it on the result of getImmediateExpansionRange: for a function macro, the beginning and end of an expansion range can come out of different macros/macro arguments, which means the resulting range is a complete mess to handle consistently. I also made some changes to how findCommonParent works; it works somewhat better in some cases, and somewhat worse in others, but I think overall it's a better balance. I'm coming to the conclusion that mapDiagnosticRanges isn't using the right algorithm, though: chasing the caret is fundamentally more complicated than any algorithm which only considers one FileID for the caret can handle because each SourceLocation doesn't really have a single parent. We need to follow the same path of choosing expansion locations and spelling locations which the caret used to come up with the correct range in the general case. Fixes <rdar://problem/12847524>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170049 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12docs: Convert some docs to reST.Sean Silva
Converts: LanguageExtensions LibASTMatchers LibTooling PCHInternals ThreadSanitizer Tooling Patch by Mykhailo Pustovit! (with minor edits by Dmitri Gribenko and Sean Silva) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170048 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12docs: Another test commit (sphinx autoupdating).Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170047 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12docs: Test commit (sphinx autoupdating).Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170046 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12docs: Initial Sphinx setup for Clang.Sean Silva
I don't think this will be visible just yet on <clang.llvm.org/docs/> since I don't think that the necessary server-side setup has taken place. Don't shoot me over the theme. I don't want to duplicate LLVM's theme into the clang repo at the moment, so I just used one of Sphinx's default themes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170042 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12[arcmt] When capturing ARC errors, have a sanity check to make sureArgyrios Kyrtzidis
the diagnostic has a valid location. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170040 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12[objc] For the ARC error that is emitted when a synthesized property ↵Argyrios Kyrtzidis
implementation has inconsistent ownership with the backing ivar, point the error location to the ivar. Pointing to the ivar (instead of the @synthesize) is better since this is where a fix is needed. Also provide the location of @synthesize via a note. This also fixes the problem where an auto-synthesized property would emit an error without any location. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170039 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12[ms-inline asm] Test case for r170037.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170038 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12Rewrite calls to bitcast unprototyped functions when emitting a definition.John McCall
My variadics patch, r169588, changed these calls to typically be bitcasts rather than calls to a supposedly variadic function. This totally subverted a hack where we intentionally dropped excess arguments from such calls in order to appease the inliner and a "warning" from the optimizer. This patch extends the hack to also work with bitcasts, as well as teaching it to rewrite invokes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170034 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12[driver] Don't warn about an unused -flto option.Chad Rosier
rdar://12851905 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170010 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12[analyzer] Don't crash running destructors for multidimensional arrays.Jordan Rose
We don't handle array destructors correctly yet, but we now apply the same hack (explicitly destroy the first element, implicitly invalidate the rest) for multidimensional arrays that we already use for linear arrays. <rdar://problem/12858542> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170000 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12Marking the objc_autoreleaseReturnValue and objc_retainAutoreleaseReturnValue Chad Rosier
call sites as tail calls unconditionally. While it's theoretically true that this is just an optimization, it's an optimization that we very much want to happen even at -O0, or else ARC applications become substantially harder to debug. See r169796 for the llvm/fast-isel side of things. rdar://12553082 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169996 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12PR14581: Make SourceLocation::printToString work, or it will always return ↵Benjamin Kramer
an empty string. No test case, this is debugging code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169980 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12Speeds up parsing of global declarations in cases where the warningManuel Klimek
is switched of by about 0.8% (tested with int i<N>). Additionally, this puts computing the diagnostic class into the hot path more when parsing, in preparation for upcoming optimizations in this area. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169976 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12clang/lib/Driver/Driver.cpp: Split COMPILER_PATH according to ↵NAKAMURA Takumi
llvm::sys::PathSeparator, that is ';' in Win32 hosts. Thanks to Bogon Kim! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169964 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12Don't warn about disabled macro expansion if we see the name of a ↵Richard Smith
function-like macro which isn't immediately followed by '('. FreeBSD's stdio.h #defines foo(x) to (foo)(x), apparently. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169960 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12[libclang] Make sure tokens from preprocessor directives are annotated as such,Argyrios Kyrtzidis
even if the directive is inside a declaration. Fixes rdar://11548788 & http://llvm.org/PR12970 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169949 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12Fix line ending is tests. No functional change.Richard Trieu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169947 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-12clang/test: Suppress two tests on win32 for now, since, not sure, in r169829 ↵NAKAMURA Takumi
to r169831. "ansi-escape-sequences" is easy convenient to exclude win32. Please be patient. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169945 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11Try to fix Win32 failuresDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169923 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11Don't use 'touch' in this test; it may be the cause of Windows-related failures.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169922 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11Use @import rather than @__experimental_modules_import, since theDouglas Gregor
latter is rather a mess to type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169919 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11Add SPIR32/SPIR64 targets to ClangGuy Benyei
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169917 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11Add -fslp-vectorize to enable bb-vectorizeHal Finkel
Add -fslp-vectorize (with -ftree-slp-vectorize as an alias for gcc compatibility) to provide a way to enable the basic-block vectorization pass. This uses the same acronym as gcc, superword-level parallelism (SLP), also common in the literature, to refer to basic-block vectorization. Nadav suggested this as a follow-up to the adding of -fvectorize. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169909 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11objective-C blocks: Check for record type when deciding if Fariborz Jahanian
byref variable requires extended layout info. to prevent a crash involving arrays declared __block. // rdar://12787751 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169908 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11Don't complain about incomplete implementations for methods that areDouglas Gregor
unavailable due to availability attributes. <rdar://problem/12798237> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169903 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11Speed up looking up static diagnostic infos.Benjamin Kramer
Instead of doing a binary search over the whole diagnostic table (which weighs a whopping 48k on x86_64), use the existing enums to compute the index in the table. This avoids loading any unneeded data from the table and avoids littering CPU caches with it. This code is in a hot path for code with many diagnostics. 1% speedup on -fsyntax-only gcc.c, which emits a lot of warnings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169890 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11[driver] Add the -ftree-vectorize flag as a alias of -fvectorize to maintainChad Rosier
compatibility with gcc. rdar://12839978 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169888 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11Fix a copypasto bug. Also rename the parameter in question to not shadow theMatt Beaumont-Gay
'file' builtin, and fix up a docstring a little. Hat tip to Sebastian Kreft Carreno at Google for noticing the bug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169887 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11[driver] Add the -fvectorize flag to enable the loop vectorization passes.Chad Rosier
rdar://12839978 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169885 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11StmtDumper coding style changesAlexander Kornienko
Summary: A few small coding style changes for StmtDumper, including: - rename Dump* methods to dump* - uninline some methods - comment fixes - whitespace fixes Please review and commit if okay. Reviewers: alexfh Reviewed By: alexfh CC: cfe-commits, alexfh, klimek Differential Revision: http://llvm-reviews.chandlerc.com/D190 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169866 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11Rename StmtDumper::DumpSubTree() to dumpStmt()Alexander Kornienko
Summary: Also rename DumpDeclarator() to dumpDecl(). Once Decl dumping is added, these will be the two main methods of the class, so this is just for consistency in naming. There was a DumpStmt() method already, but there was no point in having it, so I have merged it into VisitStmt(). Similarly, DumpExpr() is merged into VisitExpr(). Reviewers: alexfh Reviewed By: alexfh CC: cfe-commits, alexfh Differential Revision: http://llvm-reviews.chandlerc.com/D156 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169865 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11Extend stat query APIs to explicitly specify if the query is forArgyrios Kyrtzidis
a file or directory, allowing just a stat call if a file descriptor is not needed. Doing just 'stat' is faster than 'open/fstat/close'. This has the effect of cutting down system time for validating the input files of a PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169831 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11[PCH] Remove redundant stat call when validating the input files.Argyrios Kyrtzidis
This became redundant after we removed the stat cache. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169830 91177308-0d34-0410-b5e6-96231b3b80d8