summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Fix unsafe use of StringRef I introduced.Daniel Dunbar2009-11-111-2/+3
| | | | llvm-svn: 86829
* Add PreprocessorOutputOptions to CompilerInvocation, and move initialization toDaniel Dunbar2009-11-116-35/+60
| | | | | | clang-cc/Options.cpp llvm-svn: 86828
* Add PreprocessorOutputOptions, for things like -dM, -C, -CC which control -EDaniel Dunbar2009-11-114-39/+82
| | | | | | mode. llvm-svn: 86827
* Simplifiy target feature handling by coalescing all the logic intoDaniel Dunbar2009-11-115-69/+56
| | | | | | InitializeCompileOptions. llvm-svn: 86826
* Minor formatting tweaks.Daniel Dunbar2009-11-111-10/+8
| | | | llvm-svn: 86825
* clang-cc: Refactor some -fixit-at handling.Daniel Dunbar2009-11-111-32/+24
| | | | llvm-svn: 86824
* Allow TextDiagnosticPrinter to have optional ownership of its output stream.Daniel Dunbar2009-11-113-17/+22
| | | | llvm-svn: 86823
* Update CMake.Daniel Dunbar2009-11-111-1/+0
| | | | llvm-svn: 86822
* clang-cc: Move InitializeAnalyzerOptions into Options.cppDaniel Dunbar2009-11-113-100/+112
| | | | llvm-svn: 86821
* clang-cc: Start coalescing "frontend" options.Daniel Dunbar2009-11-111-22/+14
| | | | llvm-svn: 86820
* clang-cc: Move InitializeDiagnosticOptions to Options.cppDaniel Dunbar2009-11-113-61/+68
| | | | llvm-svn: 86819
* clang-cc: Move HeaderSearchOptions to Options.cppDaniel Dunbar2009-11-113-161/+176
| | | | llvm-svn: 86818
* Turn LoggingDiagnosticClient into a more general ChainedDiagnosticClient andDaniel Dunbar2009-11-112-42/+60
| | | | | | move to libFrontend. llvm-svn: 86817
* clang-cc: Move InitializeLangOptions to Options.cpp.Daniel Dunbar2009-11-113-477/+487
| | | | | | | Also, inline InitializeLanguageStandard into InitializeLangOptions; this code needs to be refactored but the current division doesn't make any sense. llvm-svn: 86816
* Inline some trivial functions.Daniel Dunbar2009-11-111-11/+2
| | | | llvm-svn: 86815
* CastToStructChecker: use 'isStructureType()' instead of 'isRecordType()' to ↵Ted Kremenek2009-11-112-3/+24
| | | | | | determine if a pointer is casted to a struct pointer. This fixes an observed false positive when a value is casted to a union. llvm-svn: 86813
* Fix display of "ANALYZE" statements in AnalysisConsumer by correctly ↵Ted Kremenek2009-11-113-153/+147
| | | | | | resetting the flag indicating that the current Decl* has not yet been displayed. Also move this out of AnalysisManager, since AnalysisManager should not handle text output to the user. llvm-svn: 86812
* clang-cc: Move InitializePreprocessorOptions to Options.cppDaniel Dunbar2009-11-114-79/+94
| | | | llvm-svn: 86811
* Remove public headers for UndefinedArgChecker, AttrNonNullChecker, and ↵Ted Kremenek2009-11-118-111/+60
| | | | | | BadCallChecker, making their implementations completely private. llvm-svn: 86809
* clang-cc: Simplify this code, now that predefines handling is uniform in theDaniel Dunbar2009-11-111-22/+10
| | | | | | PCH/-E and PCH/not--E cases. llvm-svn: 86808
* Redo how PCH handles its implicit include. Instead of treating this specially inDaniel Dunbar2009-11-114-16/+40
| | | | | | | | | | | | | | | the front-end (as far as the preprocessor goes), follow the usual logic of inserting the (original include path) name into the predefines buffer. This pushes the responsibility for handling this to PCH instead of the front-end. In PCH this requires being a little more clever when we diff the predefines buffers. Neither of these solutions are particularly great, I think what we eventually should do is something like gcc where we insert a special marker to indicate the PCH file, but then run the preprocessor as usual. This would be clearer and would allow us to drop the overly clever predefines handling. llvm-svn: 86806
* More StringRef simplification to PCHValidator::ReadPredefinesBuffer.Daniel Dunbar2009-11-112-33/+30
| | | | llvm-svn: 86805
* And now a test fix in +Asserts mode, which I broke.Daniel Dunbar2009-11-111-1/+1
| | | | llvm-svn: 86801
* Fix some tests in -Asserts mode.Daniel Dunbar2009-11-114-30/+28
| | | | | | | | | | | | | - FileCheck is a *huuuuge* improvement here. - Still feels like we could use a better tool for this though, either teach llvm-dis to spit out the FileCheck syntax, or provide another tool to turn a .ll into a "matchable" input. - Also on my Christmas list is better FileCheck diagnostics with missing variables or mismatches. llvm-svn: 86800
* Rewrite splitLines using StringRef; this is much simpler, and also now avoidsDaniel Dunbar2009-11-111-26/+26
| | | | | | | | | | | | | tons of std::string trashing. I plan to move this and other fun string munging utilities to a StringRefExtras.h at some point if no one beats me to it. On a synthetic benchmark on x86_64, llvm-gcc actually generates code thats 10% faster using the StringRef version. gcc miscompiles the synthetic benchmark, which I'm crossing my fingers and hoping won't happen here. clang compiles the sythetic benchmark correctly (wootness), but the StringRef version is slower. Silly clang. llvm-svn: 86799
* Refactor DereferenceChecker to use only the new Checker API instead ofTed Kremenek2009-11-1110-300/+281
| | | | | | | | | | the old builder API. This percolated a bunch of changes up to the Checker class (where CheckLocation has been renamed VisitLocation) and GRExprEngine. ProgramPoint now has the notion of a "LocationCheck" point (with PreLoad and PreStore respectively), and a bunch of the old ProgramPoints that are no longer used have been removed. llvm-svn: 86798
* Preserve source locations when building offsetof expressions featuringJohn McCall2009-11-111-1/+1
| | | | | | anonymous members. Partial fix for PR 5390. llvm-svn: 86796
* More VTT work. We now track offsets and use the ctor vtable builderMike Stump2009-11-112-11/+27
| | | | | | interface. WIP. llvm-svn: 86793
* Fixup spacing.Mike Stump2009-11-111-2/+1
| | | | llvm-svn: 86792
* Apparently the following idiom is specifically encouraged:John McCall2009-11-114-2/+30
| | | | | | | if (self = [super init]) Recognize it and only warn if -Wparentheses is explicitly enabled. llvm-svn: 86790
* Avoid generating additional destructor(s) for initialized constructedFariborz Jahanian2009-11-111-0/+3
| | | | | | objects. llvm-svn: 86778
* Introduce a new representation for template templateDouglas Gregor2009-11-1123-257/+502
| | | | | | | | | | | | | | | | | | | | | | | | | parameters. Rather than storing them as either declarations (for the non-dependent case) or expressions (for the dependent case), we now (always) store them as TemplateNames. The primary change here is to add a new kind of TemplateArgument, which stores a TemplateName. However, making that change ripples to every switch on a TemplateArgument's kind, also affecting TemplateArgumentLocInfo/TemplateArgumentLoc, default template arguments for template template parameters, type-checking of template template arguments, etc. This change is light on testing. It should fix several pre-existing problems with template template parameters, such as: - the inability to use dependent template names as template template arguments - template template parameter default arguments cannot be instantiation However, there are enough pieces missing that more implementation is required before we can adequately test template template parameters. llvm-svn: 86777
* Recognize -fsyntax-only as a "consumer only" action.Daniel Dunbar2009-11-111-10/+6
| | | | llvm-svn: 86776
* StringRefify some PCH interfaces.Daniel Dunbar2009-11-113-40/+30
| | | | llvm-svn: 86775
* Replace startsWith functions with StringRef.Daniel Dunbar2009-11-111-25/+4
| | | | llvm-svn: 86774
* Stub out most of the VTT building code. WIP.Mike Stump2009-11-111-2/+83
| | | | llvm-svn: 86772
* Create a new Scope when parsing a declaration with a C++ scope specifier.John McCall2009-11-113-4/+21
| | | | llvm-svn: 86764
* Add Diagnostic::Report method for reporting diagnostics without a location.Daniel Dunbar2009-11-105-26/+21
| | | | llvm-svn: 86760
* PreprocessorOptions: Get rid of unnecessary 'isPTH' flag for include entries.Daniel Dunbar2009-11-103-13/+13
| | | | llvm-svn: 86757
* Diagnose illegally typed operator new/new[].Fariborz Jahanian2009-11-104-3/+54
| | | | llvm-svn: 86755
* Attach location info with llvm.dbg.declare.Devang Patel2009-11-101-1/+4
| | | | llvm-svn: 86750
* Add FIXIT hint for -Wsemicolon-before-method-bodyTed Kremenek2009-11-101-2/+4
| | | | llvm-svn: 86746
* Revert r86741; it doesn't handle virtual bases correctly.Eli Friedman2009-11-101-11/+9
| | | | llvm-svn: 86745
* Minor optimization to skip null check in generated code where it isn'tEli Friedman2009-11-101-9/+11
| | | | | | necessary. llvm-svn: 86741
* Fix for PR5454: make sure to use the right block as the predecessor in theEli Friedman2009-11-102-0/+11
| | | | | | generated PHI node for the null check of a new operator. llvm-svn: 86738
* Shuffle order of warning declarations (alphabetize).Ted Kremenek2009-11-101-1/+1
| | | | llvm-svn: 86733
* Make -Wsemicolon-before-method-body opt-in (and part of -Wextra). Addresses ↵Ted Kremenek2009-11-104-5/+6
| | | | | | <rdar://problem/7381735>. llvm-svn: 86731
* Decouple more of clang-cc by moving ImplicitP[CT]H options intoDaniel Dunbar2009-11-102-7/+38
| | | | | | | | PreprocessorOptions. Global variables used as [in] [out] parameters considered harmful. llvm-svn: 86728
* Update CMake file.Ted Kremenek2009-11-101-0/+1
| | | | llvm-svn: 86721
* Add newline at EOF.Benjamin Kramer2009-11-101-1/+1
| | | | llvm-svn: 86720
OpenPOWER on IntegriCloud