summaryrefslogtreecommitdiffstats
path: root/clang/tools
Commit message (Collapse)AuthorAgeFilesLines
* Comment necessity of early initializationDavid Blaikie2014-03-311-3/+5
| | | | | | | | | | | | Code review feedback from Eric Christopher on r204261. I didn't want to go into too much detail (the revision history should provide the full stuff) - but I can add more if that's preferred. Also moved this up to right by the construction of the MCAsmInfo so there's less chance that other things might sneak in in between. llvm-svn: 205267
* DebugInfo compression: Enable compression before any sections are created.David Blaikie2014-03-311-2/+4
| | | | | | | | | | | | | | | | | | | | For those playing at home this produced some fairly subtle behavior. The sections created in InitMCObjectFileInfo were created without compressed debug info (a mistake, but not necessarily /broken). Since these sections were almost always referenced by the existing MCSection object, this almost worked. This got weird when we got to handling the relocations for a section. See ELFObjectWriter::WriteSection where we compute the true section for a relocation section by simply stripping the ".rela" prefix and then looking up that section - doing so hit the compression codepath, looked up .zdebug_blah and found a newly constructed empty section... thus, things got weird. This is untestable without a cross-project test (let me know if people would prefer that to no testing). llvm-svn: 205261
* clang/tools/driver/Makefile: Quick fix corresponding to r205181.NAKAMURA Takumi2014-03-311-1/+1
| | | | llvm-svn: 205189
* [OPENMP] Implemented 'copyin' clauseAlexey Bataev2014-03-311-0/+3
| | | | llvm-svn: 205164
* libclang/libIndex: USR generation: mangle source location into USRs for macros,Dmitri Gribenko2014-03-281-4/+12
| | | | | | unless the macro comes from a system header llvm-svn: 205064
* Support for -Wa,-compress-debug-sections.David Blaikie2014-03-271-0/+4
| | | | | | Also, while I'm here, support -nocompress-debug-sections too. llvm-svn: 204959
* [cleanup] Stop specifying size overrides for BumpPtrAllocators.Chandler Carruth2014-03-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | These don't seem to have any real point. Let's start with IndexingContext. I can't come up with any conceivable reason to have many hundereds of thousands of these alive in an address space which would make the 4x difference in allocated (but unused) memory for the string scratch buffer a significant memory usage problem. The EditedSource one is somewhat more surprising. This is an 8x increase in the memory allocated (but not used) per editted source file. However, for this to realistically be a problem, you would need to have over half a million editted source files in a single address space, and even that would only really have problems on 32-bit Windows where you really only have 2gb of virtual address space. And what's more important, the fix to this if it is actually an issue shouldn't be to shrink the allocator's size, it is to pass a single allocator into *many* edited source file objects and let them share the memory. These were the only two uses of custom sized BumpPtrAllocators (excluding ones in the JIT using a custom allocation strategy) in all of LLVM, Clang, LLD, LLDB, or Polly. I don't think we actually need this complexity in the primary BumpPtrAllocator at all and am planning to remove it. llvm-svn: 204910
* [OPENMP] parsing of clause 'safelen' (for directive 'omp simd')Alexey Bataev2014-03-211-0/+4
| | | | llvm-svn: 204428
* [analyzer] scan-build: allow quotes around "-cc1" when looking at -### output.Jordan Rose2014-03-201-1/+1
| | | | | | Third time's the charm. Patch by Brennan Shacklett! llvm-svn: 204362
* [analyzer] scan-build: match whitespace instead of word boundaries around flags.Jordan Rose2014-03-201-1/+1
| | | | | | | | | Because neither ' ' nor '-' is alphanumeric, \b won't match between them! Since in this case we know our output is coming from a -### invocation, we should always have spaces on both sides of the flag we're trying to match, "-cc1". llvm-svn: 204356
* Tooling: Move heavyweight vectors around instead of copying.Benjamin Kramer2014-03-201-8/+6
| | | | | | While there convert to range-based for loops. No functionality change. llvm-svn: 204338
* [libclang] Introduce clang_VirtualFileOverlay_setCaseSensitivity that ↵Argyrios Kyrtzidis2014-03-202-4/+27
| | | | | | | | | | exposes the VFS option to set the case-sensitivity for lookups. rdar://16374696 llvm-svn: 204303
* [analyzer] scan-build: when matching flags, make sure the - is the first letter.Jordan Rose2014-03-191-3/+3
| | | | | | PR19191 llvm-svn: 204253
* [C++11] Add 'override' keyword to virtual methods that override their base ↵Craig Topper2014-03-158-133/+128
| | | | | | class. llvm-svn: 204002
* [C++11] Replacing DeclStmt iterators decl_begin() and decl_end() with ↵Aaron Ballman2014-03-141-3/+2
| | | | | | iterator_range decls(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203947
* [C++11] Replacing OMPThreadPrivateDecl and OMPClause iterators ↵Aaron Ballman2014-03-141-4/+2
| | | | | | varlist_begin() and varlist_end() with iterator_range varlists(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203937
* [C++11] Replacing ObjCImplementationDecl iterators ivar_begin() and ↵Aaron Ballman2014-03-141-5/+2
| | | | | | ivar_end() with iterator_range ivars(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203932
* static link pollySebastian Pop2014-03-142-0/+19
| | | | llvm-svn: 203887
* [C++11] Replacing UsingDecl iterators shadow_begin() and shadow_end() with ↵Aaron Ballman2014-03-131-5/+3
| | | | | | iterator_range shadows(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203825
* [C++11] Replacing CXXRecordDecl iterators init_begin() and init_end() with ↵Aaron Ballman2014-03-132-9/+4
| | | | | | iterator_range inits(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203819
* [C++11] Replacing CXXRecordDecl iterators bases_begin() and bases_end() with ↵Aaron Ballman2014-03-132-6/+3
| | | | | | iterator_range bases(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203803
* Revert "CodeGen: Use a binary format for instrumentation based profiling"Justin Bogner2014-03-121-1/+0
| | | | | | | | | I've clearly done something wrong with how to get this to link correctly. Reverting for now. This reverts commit r203711. llvm-svn: 203712
* CodeGen: Use a binary format for instrumentation based profilingJustin Bogner2014-03-121-0/+1
| | | | | | | | This updates CodeGenPGO to use the ProfileDataReader introduced to llvm in r203703 and the new API for writing out the profile introduced to compiler-rt in r203710. llvm-svn: 203711
* Check for LLVM_ON_WIN32 instead of _WIN32.Hans Wennborg2014-03-121-2/+3
| | | | | | This is a follow-up to r203624 to address Anton's comment. llvm-svn: 203668
* Use vector<T>::data() to simplify codeDmitri Gribenko2014-03-121-3/+1
| | | | llvm-svn: 203665
* Be case sensitive when determining driver mode based on argv[0] except on ↵Hans Wennborg2014-03-111-0/+3
| | | | | | | | | Windows This narrows the impact of r188833 after Dimitry pointed out that it's good to be able to tell the difference between 'cc' and 'CC'. llvm-svn: 203624
* Add a main function to the clang-format.py vim integration.Ahmed Charles2014-03-101-40/+43
| | | | | | This will allow using an early return statement in a subsequent change. llvm-svn: 203501
* Replace CLANG_IS_PRODUCTION with CLANG_PLUGIN_SUPPORT.Rafael Espindola2014-03-102-12/+11
| | | | llvm-svn: 203473
* [C++11] Replace OwningPtr include with <memory>.Ahmed Charles2014-03-092-2/+2
| | | | llvm-svn: 203389
* [C++11] Replacing Decl iterators attr_begin() and attr_end() with ↵Aaron Ballman2014-03-082-11/+7
| | | | | | | | iterator_range attrs(). Updating all of the usages of the iterators with range-based for loops. This is a reapplication of r203236 with modifications to the definition of attrs() and following the new style guidelines on auto usage. llvm-svn: 203362
* [C++11] Replacing RecordDecl iterators field_begin() and field_end() with ↵Aaron Ballman2014-03-081-4/+3
| | | | | | iterator_range fields(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203355
* Add an option to disable plugins in clang.Rafael Espindola2014-03-081-3/+12
| | | | | | | | | An option with the same name already exists in the makefile build. The name CLANG_IS_PRODUCTION is historical. We should probably change it, but should change the configure build at the same time. llvm-svn: 203325
* Revert "Add an option to disable plugins in clang."Rafael Espindola2014-03-081-6/+4
| | | | | | | | This reverts commit r203320. There is some order dependency going on that I missed. llvm-svn: 203321
* Add an option to disable plugins in clang.Rafael Espindola2014-03-081-4/+6
| | | | | | An option with the same name already exists in the makefile build. llvm-svn: 203320
* [C++11] Revert uses of lambdas with array_pod_sort.Benjamin Kramer2014-03-071-6/+9
| | | | | | Looks like GCC implements the lambda->function pointer conversion differently. llvm-svn: 203293
* [C++11] Convert sort predicates into lambdas.Benjamin Kramer2014-03-071-9/+6
| | | | | | No functionality change. llvm-svn: 203289
* Replace OwningPtr with std::unique_ptr.Ahmed Charles2014-03-0711-76/+69
| | | | | | This compiles cleanly with lldb/lld/clang-tools-extra/llvm. llvm-svn: 203279
* [C++11] Replacing DeclBase iterators decls_begin() and decls_end() with ↵Aaron Ballman2014-03-072-14/+9
| | | | | | iterator_range decls(). The same is true for the noload versions of these APIs. Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203278
* Change OwningPtr::take() to OwningPtr::release().Ahmed Charles2014-03-075-10/+10
| | | | | | This is a precursor to moving to std::unique_ptr. llvm-svn: 203275
* [C++11] Replacing ObjCMethodDecl iterators param_begin() and param_end() ↵Aaron Ballman2014-03-072-12/+6
| | | | | | with iterator_range params(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203255
* [C++11] Replacing FunctionDecl iterators param_begin() and param_end() with ↵Aaron Ballman2014-03-071-4/+2
| | | | | | iterator_range params(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203248
* Fully reverting r203236 -- it seems the only bots that are happy are the ↵Aaron Ballman2014-03-072-7/+11
| | | | | | MSVC bots. llvm-svn: 203237
* [C++11] Replacing iterators attr_begin() and attr_end() with iterator_range ↵Aaron Ballman2014-03-072-11/+7
| | | | | | attrs(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203236
* Remove a dead store, add a FIXME for another.Richard Smith2014-03-061-1/+1
| | | | llvm-svn: 203169
* [OPENMP] Clause 'num_threads'Alexey Bataev2014-03-061-0/+4
| | | | llvm-svn: 203087
* Fix -Wsign-compare warning.Jordan Rose2014-03-041-2/+3
| | | | | | No functionality change. llvm-svn: 202864
* [cleanup] Re-sort includes with llvm/utils/sort_includes.py and fixChandler Carruth2014-03-043-2/+3
| | | | | | | | | | | | a missing include from CLog.h. CLog.h referenced most of the core libclang types but never directly included Index.h that provides them. Previously it got lucky and other headers were always included first but with the sorting it ended up first in one case and stopped compiling. Adding the Index.h include fixes it right up. llvm-svn: 202810
* [libclang] Have clang_getCursorSpelling() return the string for a ↵Argyrios Kyrtzidis2014-03-031-0/+16
| | | | | | | | CXCursor_ObjCStringLiteral or CXCursor_StringLiteral cursor. rdar://16206459 llvm-svn: 202745
* Serialized diagnostic severity levels should be stable.Jordan Rose2014-03-031-8/+14
| | | | | | | | | Serialized diagnostics were accidentally using the AST diagnostic level values rather than a dedicated stable enum, so the addition of "remark" broke the reading of existing serialized diagnostics files. I've added a .dia file generated from Xcode 5's Clang to make sure we don't break this in the future. llvm-svn: 202733
* [libclang] Introduce APIs that assist in constructing a simple module.map ↵Argyrios Kyrtzidis2014-03-032-0/+63
| | | | | | | | file for a user framework. rdar://16092858 llvm-svn: 202681
OpenPOWER on IntegriCloud