summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend
Commit message (Collapse)AuthorAgeFilesLines
...
* Switch the VerifyDiagnosticsClient to use PresumedLocs now that theyChandler Carruth2011-02-231-4/+4
| | | | | | | exist. Cheat and do this by adding some wrappers around the PresumedLoc machinery that directly return the line and column number. llvm-svn: 126281
* Remove the storage for -cxx-system-include. Make libcxx toolchainJoerg Sonnenberger2011-02-222-12/+2
| | | | | | use -nostdinc++ and -cxx-isystem. llvm-svn: 126223
* Make clang -cc1 disable Objective-C exceptions by default, and add a ↵Anders Carlsson2011-02-221-2/+2
| | | | | | | | -fobjc-exceptions flag to turn them on. Update all tests accordingly. llvm-svn: 126177
* Bug#8945: Add -cxx-isystem option to specify C++ system directories.Joerg Sonnenberger2011-02-222-43/+70
| | | | | | | | | It works like -isystem and the search path keeps -isystem and -cxx-isystem in order relative to each other. -cxx-isystem is only used for C++ sources though. Drop the existing -cxx-system-include option for cc1 as it is now redundant. llvm-svn: 126167
* Add a new ObjCExceptions member variable to LangOptions. This controls ↵Anders Carlsson2011-02-191-2/+4
| | | | | | whether Objective-C exceptions are enabled or not (they are by default). llvm-svn: 126061
* Re-instate r125819 and r125820 with no functionality changePeter Collingbourne2011-02-191-5/+0
| | | | llvm-svn: 126060
* Revert 125820 and 125819 to fix PR9266.Rafael Espindola2011-02-191-0/+5
| | | | llvm-svn: 126050
* When code-completing a case statement for a switch on a value ofDouglas Gregor2011-02-181-2/+3
| | | | | | | enumeration type, prioritize the enumeration constants and don't provide completions for any other expressions. Fixes <rdar://problem/7283668>. llvm-svn: 125991
* Move CompilerInstance::LLVMContext and LLVMContext ownership to CodeGenActionPeter Collingbourne2011-02-181-5/+0
| | | | | | | | | This removes the final dependency edge from any lib outside of CodeGen to core. As a result we can, and do, trim the dependency on core from libclang, PrintFunctionNames, the unit tests and c-index-test. While at it, review and trim other unneeded dependencies. llvm-svn: 125820
* handle labeldecls.Chris Lattner2011-02-181-1/+6
| | | | llvm-svn: 125806
* Eliminate the internal command-line option for viewing inheritance in C++ ↵Douglas Gregor2011-02-173-41/+1
| | | | | | classes, since it's only really worked for the trivial cases anyway due to lame pseudo-parsing of the class name. The viewInheritance() function is still available for use in the debugger, where this is far more useful llvm-svn: 125762
* lib/Frontend/InitHeaderSearch.cpp: Add mingw-w64's include paths.NAKAMURA Takumi2011-02-171-0/+8
| | | | llvm-svn: 125743
* Triple::MinGW64 is deprecated and removed. We can use Triple::MinGW32 instead.NAKAMURA Takumi2011-02-171-9/+0
| | | | | | No one uses *-mingw64. mingw-w64 is represented as {i686|x86_64}-w64-mingw32. llvm-svn: 125742
* Fix whitespace.NAKAMURA Takumi2011-02-171-15/+15
| | | | llvm-svn: 125741
* fix clang -MM output to escape spaces in filenames. This seems to beChris Lattner2011-02-171-7/+18
| | | | | | the only character that GCC escapes. PR9224. llvm-svn: 125707
* Teach the CXCodeCompleteResults results structure, which storesDouglas Gregor2011-02-161-5/+6
| | | | | | | | | code-completion results accessed via libclang, to extend the lifetime of the allocator used for cached global code-completion results at least until these completion results are destroyed. Fixes <rdar://problem/8997369>. llvm-svn: 125678
* Improve the invalidation logic for the cache of global codeDouglas Gregor2011-02-161-21/+98
| | | | | | | | completions. We now compute a hash of the names of all top-level declarations and macro definitions, and invalidate the cache when the hash value changes. llvm-svn: 125670
* [analyzer] Use the new registration mechanism on the IdempotentOperationChecker.Argyrios Kyrtzidis2011-02-151-3/+0
| | | | llvm-svn: 125611
* Fix the distro name.Rafael Espindola2011-02-151-1/+1
| | | | llvm-svn: 125601
* Fix include paths on 32 bit ubuntu 10.10.Rafael Espindola2011-02-151-0/+5
| | | | | | Original patch by Jonas Bülow. llvm-svn: 125597
* Allow resolving headers from a PCH even after headers+PCH were moved to ↵Argyrios Kyrtzidis2011-02-152-5/+10
| | | | | | | | | | | another path. Store in PCH the directory that the PCH was originally created in. If a header file is not found at the path that we expect it to be and the PCH file was moved from its original location, try to resolve the file by assuming that header+PCH were moved together and the header is in the same place relative to the PCH. llvm-svn: 125576
* [analyzer] Overhauling of the checker registration mechanism.Argyrios Kyrtzidis2011-02-141-3/+20
| | | | | | | | | | | | | | -Checkers will be defined in the tablegen file 'Checkers.td'. -Apart from checkers, we can define checker "packages" that will contain a collection of checkers. -Checkers can be enabled with -analyzer-checker=<name> and disabled with -analyzer-disable-checker=<name> e.g: Enable checkers from 'cocoa' and 'corefoundation' packages except the self-initialization checker: -analyzer-checker=cocoa -analyzer-checker=corefoundation -analyzer-disable-checker=cocoa.SelfInit -Introduces CheckerManager and CheckerProvider. CheckerProviders get the set of checker names to enable/disable and register them with the CheckerManager which will be the entry point for all checker-related functionality. Currently only the self-initialization checker takes advantage of the new mechanism. llvm-svn: 125503
* OpenCL: add support for __kernel, kernel keywords and EXTENSION,Peter Collingbourne2011-02-141-0/+1
| | | | | | FP_CONTRACT pragmas. Patch originally by ARM. llvm-svn: 125475
* Give some convenient idiomatic accessors to Stmt::child_range andJohn McCall2011-02-131-2/+1
| | | | | | | Stmt::const_child_range, then make a bunch of places use them instead of the individual iterator accessors. llvm-svn: 125450
* Add CMake dependencies so that LLVM_USED_LIBS order doesn't matter.Jeffrey Yasskin2011-02-111-3/+4
| | | | | | | I also sorted the tools/driver dependencies since their order no longer matters. llvm-svn: 125417
* Rename the operation that loads a preprocessed entity from a given offset to ↵Douglas Gregor2011-02-111-1/+2
| | | | | | indicate that we're loading from an offset, not an index, lest one be confused. No functionality change. llvm-svn: 125394
* InitHeaderSearch.cpp: [PR8298] Don't touch drive G: on Windows hosts!NAKAMURA Takumi2011-02-111-6/+0
| | | | llvm-svn: 125364
* Implement mcount profiling, enabled via -pg.Roman Divacky2011-02-101-0/+1
| | | | llvm-svn: 125282
* CMake: LLVM_NO_RTTI must be obsolete now!NAKAMURA Takumi2011-02-101-2/+0
| | | | llvm-svn: 125275
* Finish up the diagnostic client before we've torn down the ASTReader,Douglas Gregor2011-02-091-3/+3
| | | | | | | since the diagnostic client might poke at source locations that have not yet been deserialized. llvm-svn: 125204
* Driver/Frontend: Wire up -mregparm=.Daniel Dunbar2011-02-091-0/+5
| | | | llvm-svn: 125201
* static analyzer: Further reduce the analyzer's memory usage when analyzing ↵Ted Kremenek2011-02-091-0/+1
| | | | | | | | | | | | sqlite3 by 7-10% by recylcing "uninteresting" ExplodedNodes. The optimization involves eagerly pruning ExplodedNodes from the ExplodedGraph that contain practically no difference between the predecessor and successor nodes. For example, if the state is different between a predecessor and a node, the node is left in. Only for the 'environment' component of the state do we not care if the ExplodedNodes are different. This paves the way for future optimizations where we can reclaim the environment objects. llvm-svn: 125154
* Improve our uniquing of file entries when files are re-saved or areDouglas Gregor2011-02-053-2/+8
| | | | | | | | | | | | | | overridden via remapping. Thus, when we create a "virtual" file in the file manager, we still stat() the real file that lives behind it so that we can provide proper uniquing based on inodes. This helps keep the file manager much more consistent. To take advantage of this when reparsing files in libclang, we disable the use of the stat() cache when reparsing or performing code completion, since the stat() cache is very likely to be out of date in this use case. llvm-svn: 124971
* -fapple-kext cannot have 'weak' visibility in thisFariborz Jahanian2011-02-041-2/+7
| | | | | | abi. llvm-svn: 124834
* Moved here from LLVM Clang's configuration options and related macros.Oscar Fuentes2011-02-031-0/+4
| | | | llvm-svn: 124825
* Frontend: Switch -header-include-file output to use unbuffered raw_ostreams withDaniel Dunbar2011-02-031-14/+22
| | | | | | | | the atomic writes option, since the intent is that this option be set for an entire build, which may have any number of compiler instances writing to the same output file. llvm-svn: 124772
* Frontend: Add -header-include-file option, for allowing saving header includeDaniel Dunbar2011-02-023-7/+41
| | | | | | information to a file. llvm-svn: 124750
* Frontend: Add support (unused) for showing all "interesting" headers, not justDaniel Dunbar2011-02-021-21/+16
| | | | | | ones outside the predefines buffer (which is what -H does). llvm-svn: 124749
* Add NetBSD target support. Patch by Joerg Sonnenberger.Benjamin Kramer2011-02-021-3/+11
| | | | llvm-svn: 124736
* Frontend: Factor out header include dumping (-H) into its own preprocessorDaniel Dunbar2011-02-025-39/+99
| | | | | | | | callbacks class. - Aside from being generally cleaner, this also allows -H to work correctly in modes other than standard preprocessing (e.g., -c, -MM, etc.) llvm-svn: 124723
* Create a special allocator class for code completion, so that all ofDouglas Gregor2011-02-011-1/+1
| | | | | | | the string copying goes through a single place that can have associated state. llvm-svn: 124698
* Add updated Debian ARM include path.Nick Lewycky2011-02-011-0/+2
| | | | llvm-svn: 124684
* Allocate CodeCompletionString and all of its components in aDouglas Gregor2011-02-011-14/+18
| | | | | | | | | | | | BumpPtrAllocator, rather than manually new/delete'ing them. This optimization also allows us to avoid allocating memory for and copying constant strings (e.g., "return", "class"). This also required embedding the priority and availability of results within the code completion string, to avoid extra memory allocation within libclang. llvm-svn: 124673
* Basic support for -mms-bitfields, from Carl Norum!Douglas Gregor2011-02-011-0/+3
| | | | llvm-svn: 124661
* libclang: Don't allow RemoveFileOnSignal to be called via libclang, badness canDaniel Dunbar2011-01-311-1/+4
| | | | | | ensue. llvm-svn: 124613
* Frontend: Add an explicit RemoveFileOnSignal flag argument, to control theDaniel Dunbar2011-01-311-3/+6
| | | | | | automatic behavior (which is undesirable in a multithreaded context). llvm-svn: 124612
* Support for -plugin-arg- with -add-pluginNico Weber2011-01-292-1/+13
| | | | llvm-svn: 124551
* Teach ASTUnit to save the specified target features, sinceDouglas Gregor2011-01-271-0/+6
| | | | | | | TargetInfo::CreateTargetInfo() mangles the target options in a way that is not idempotent. Fixes <rdar://problem/8807535>. llvm-svn: 124382
* TextDiagnosticPrinter.cpp: Show diagnostics as far as possible even with ↵Axel Naumann2011-01-271-71/+89
| | | | | | | | | | | | | | invalid PresomedLoc, instead of just silencing it. FileManager.cpp: Allow virtual files in nonexistent directories. FileManager.cpp: Close FileDescriptor for virtual files that correspond to actual files. FileManager.cpp: Enable virtual files to be created even for files that were flagged as NON_EXISTENT_FILE, e.g. by a prior (unsuccessful) addFile(). ASTReader.cpp: Read a PCH even if the original source files cannot be found. Add a test for reading a PCH of a file that has been removed and diagnostics referencing that file. llvm-svn: 124374
* [analyzer] Enable the self-init checker under command-line option ↵Argyrios Kyrtzidis2011-01-261-0/+3
| | | | | | | | '-analyzer-check-objc-self-init' which by default is enabled by the driver for '--analyze'. llvm-svn: 124266
OpenPOWER on IntegriCloud