Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Create a new Scope when parsing a declaration with a C++ scope specifier. | John McCall | 2009-11-11 | 3 | -4/+21 | |
| | | | | llvm-svn: 86764 | |||||
* | Add Diagnostic::Report method for reporting diagnostics without a location. | Daniel Dunbar | 2009-11-10 | 5 | -26/+21 | |
| | | | | llvm-svn: 86760 | |||||
* | PreprocessorOptions: Get rid of unnecessary 'isPTH' flag for include entries. | Daniel Dunbar | 2009-11-10 | 3 | -13/+13 | |
| | | | | llvm-svn: 86757 | |||||
* | Diagnose illegally typed operator new/new[]. | Fariborz Jahanian | 2009-11-10 | 4 | -3/+54 | |
| | | | | llvm-svn: 86755 | |||||
* | Attach location info with llvm.dbg.declare. | Devang Patel | 2009-11-10 | 1 | -1/+4 | |
| | | | | llvm-svn: 86750 | |||||
* | Add FIXIT hint for -Wsemicolon-before-method-body | Ted Kremenek | 2009-11-10 | 1 | -2/+4 | |
| | | | | llvm-svn: 86746 | |||||
* | Revert r86741; it doesn't handle virtual bases correctly. | Eli Friedman | 2009-11-10 | 1 | -11/+9 | |
| | | | | llvm-svn: 86745 | |||||
* | Minor optimization to skip null check in generated code where it isn't | Eli Friedman | 2009-11-10 | 1 | -9/+11 | |
| | | | | | | necessary. llvm-svn: 86741 | |||||
* | Fix for PR5454: make sure to use the right block as the predecessor in the | Eli Friedman | 2009-11-10 | 2 | -0/+11 | |
| | | | | | | generated PHI node for the null check of a new operator. llvm-svn: 86738 | |||||
* | Shuffle order of warning declarations (alphabetize). | Ted Kremenek | 2009-11-10 | 1 | -1/+1 | |
| | | | | llvm-svn: 86733 | |||||
* | Make -Wsemicolon-before-method-body opt-in (and part of -Wextra). Addresses ↵ | Ted Kremenek | 2009-11-10 | 4 | -5/+6 | |
| | | | | | | <rdar://problem/7381735>. llvm-svn: 86731 | |||||
* | Decouple more of clang-cc by moving ImplicitP[CT]H options into | Daniel Dunbar | 2009-11-10 | 2 | -7/+38 | |
| | | | | | | | | PreprocessorOptions. Global variables used as [in] [out] parameters considered harmful. llvm-svn: 86728 | |||||
* | Update CMake file. | Ted Kremenek | 2009-11-10 | 1 | -0/+1 | |
| | | | | llvm-svn: 86721 | |||||
* | Add newline at EOF. | Benjamin Kramer | 2009-11-10 | 1 | -1/+1 | |
| | | | | llvm-svn: 86720 | |||||
* | Silence warning. | Benjamin Kramer | 2009-11-10 | 1 | -1/+1 | |
| | | | | llvm-svn: 86719 | |||||
* | Use #include <stdio.h> when using fprintf and stderr. | Dan Gohman | 2009-11-10 | 1 | -0/+1 | |
| | | | | llvm-svn: 86717 | |||||
* | clang-cc: Start moving "pure" option handling to Options.cpp, to separate it | Daniel Dunbar | 2009-11-10 | 3 | -147/+198 | |
| | | | | | | from the logic part of clang-cc, and to enforce limited scoping. llvm-svn: 86711 | |||||
* | clang-cc: Sink more options inside codegenopts namespace. | Daniel Dunbar | 2009-11-10 | 1 | -20/+19 | |
| | | | | llvm-svn: 86710 | |||||
* | Change LangOpts initialization to directly test the code generation options, | Daniel Dunbar | 2009-11-10 | 1 | -6/+8 | |
| | | | | | | instead of reproducing their logic. llvm-svn: 86709 | |||||
* | Improve parsing of template arguments to lay the foundation for | Douglas Gregor | 2009-11-10 | 17 | -200/+359 | |
| | | | | | | | | | | | | | | | | | | | | | | handling template template parameters properly. This refactoring: - Parses template template arguments as id-expressions, representing the result of the parse as a template name (Action::TemplateTy) rather than as an expression (lame!). - Represents all parsed template arguments via a new parser-specific type, ParsedTemplateArgument, which stores the kind of template argument (type, non-type, template) along with all of the source information about the template argument. This replaces an ad hoc set of 3 vectors (one for a void*, which was either a type or an expression; one for a bit telling whether the first was a type or an expression; and one for a single source location pointing at the template argument). - Moves TemplateIdAnnotation into the new Parse/Template.h. It never belonged in the Basic library anyway. llvm-svn: 86708 | |||||
* | Changed a variable name to match what it represents | Fariborz Jahanian | 2009-11-10 | 1 | -3/+3 | |
| | | | | | | (Ted's feedback). llvm-svn: 86702 | |||||
* | This patch implements Code gen. for destruction of | Fariborz Jahanian | 2009-11-10 | 3 | -8/+101 | |
| | | | | | | global array of objects. llvm-svn: 86701 | |||||
* | CIndex: Only display diagnostics to llvm::errs() when the client has set the ↵ | Ted Kremenek | 2009-11-10 | 1 | -3/+3 | |
| | | | | | | 'displayDiagnostics' option to 1 in clang_createIndex(). This fixes <rdar://problem/7370691>. llvm-svn: 86700 | |||||
* | Only generate a VTT for classes that need a VTT. | Mike Stump | 2009-11-10 | 1 | -0/+4 | |
| | | | | llvm-svn: 86699 | |||||
* | Driver: Run 'clang' in C++ mode based on the name it was invoked by. We match | Daniel Dunbar | 2009-11-10 | 1 | -0/+9 | |
| | | | | | | | | | | | | anything that ends with ++ or ++-FOO (e.g., c++, clang++, clang++-1.1) as being a "C++ compiler". This allows easy testing of the C++ compiler by 'ln -s clang clang++', or by 'cp clang clang++'. Based on patch by Roman Divacky. llvm-svn: 86697 | |||||
* | Factor out parts of InitializeCompileOptions that depend on the LangOptions. | Daniel Dunbar | 2009-11-10 | 1 | -6/+16 | |
| | | | | llvm-svn: 86696 | |||||
* | Localize -disable-llvm-optzns handling to BackendConsumer::CreatePasses. | Daniel Dunbar | 2009-11-10 | 3 | -26/+28 | |
| | | | | | | | | | | | - This is conceptually better since the only thing we want this option to do is preserve the internal module as constructed by IRgen, before running any passes. - This also fixes bugs in -disable-llvm-optzns handling with regards to debug info. llvm-svn: 86691 | |||||
* | clang-cc: Start sinking (CodeGen) options into namespaces to limit their scope. | Daniel Dunbar | 2009-11-10 | 1 | -19/+25 | |
| | | | | llvm-svn: 86690 | |||||
* | Cleanup some clang-cc FIXMEs | Daniel Dunbar | 2009-11-10 | 2 | -16/+11 | |
| | | | | llvm-svn: 86686 | |||||
* | Add CompileOptions to CompilerInvocation. | Daniel Dunbar | 2009-11-10 | 2 | -15/+34 | |
| | | | | llvm-svn: 86685 | |||||
* | Fix a similar problem with qualified lookup through using directives, | John McCall | 2009-11-10 | 1 | -1/+1 | |
| | | | | | | | although in this case we probably just run a risk of duplicating work; I can't think of how this could cause a bug. llvm-svn: 86680 | |||||
* | Make a somewhat more convincing test case for unqualified lookup through | John McCall | 2009-11-10 | 3 | -2/+131 | |
| | | | | | | | | | using directives, and fix a bug thereby exposed: since we're playing tricks with pointers, we need to make certain we're always using the same pointers for things. Also tweak an existing error message. llvm-svn: 86679 | |||||
* | Ignore parentheses when check the type of the expr. | Zhongxing Xu | 2009-11-10 | 1 | -1/+1 | |
| | | | | llvm-svn: 86677 | |||||
* | Simple test case for [basic.lookup.udir]. | John McCall | 2009-11-10 | 1 | -0/+35 | |
| | | | | llvm-svn: 86674 | |||||
* | SizeofPointerChecker: Many false positives have the form 'sizeof *p'. | Zhongxing Xu | 2009-11-10 | 1 | -1/+9 | |
| | | | | | | | | This is reasonable because people know what they are doing when they intentionally dereference the pointer. So now we only emit warning when a pointer variable is use literally. llvm-svn: 86673 | |||||
* | Add vtable caching to prevent multiple vtables for the same class from | Mike Stump | 2009-11-10 | 5 | -24/+41 | |
| | | | | | | | | being generated. Add the most derived vtable pointer to the VTT. llvm-svn: 86671 | |||||
* | Fix unqualified lookup through using directives. | John McCall | 2009-11-10 | 2 | -83/+192 | |
| | | | | | | This is a pretty minimal test case; I'll make a better one later. llvm-svn: 86669 | |||||
* | When trying to assign a regular string literal to an Objective-C 'id' type ↵ | Anders Carlsson | 2009-11-10 | 2 | -3/+62 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | or a pointer to an NSString, emit a code insertion hint that turns it into an Objective-C string. For example: @class NSString; @interface Test + (void)test:(NSString *)string; @end void g(NSString *a); void f() { NSString *a = "Foo"; g("Foo"); [Test test:"Foo"]; } will produce t.m:10:17: warning: incompatible pointer types initializing 'char [4]', expected 'NSString *' NSString *a = "Foo"; ^~~~~ @ t.m:11:5: warning: incompatible pointer types passing 'char [4]', expected 'NSString *' g("Foo"); ^~~~~ @ t.m:12:14: warning: incompatible pointer types sending 'char [4]', expected 'NSString *' [Test test:"Foo"]; ^~~~~ @ 3 diagnostics generated. llvm-svn: 86665 | |||||
* | Don't try to emit null fixit hints. | Anders Carlsson | 2009-11-10 | 1 | -0/+7 | |
| | | | | llvm-svn: 86664 | |||||
* | Now we can safely use the argument expression's source range. | Zhongxing Xu | 2009-11-10 | 1 | -1/+1 | |
| | | | | llvm-svn: 86663 | |||||
* | SizeofPointerChecker: If an explicit type specifier is used, do not issue ↵ | Zhongxing Xu | 2009-11-10 | 1 | -0/+5 | |
| | | | | | | warnings. llvm-svn: 86662 | |||||
* | Use PP.getLocForEndOfToken as suggested by John. | Anders Carlsson | 2009-11-10 | 1 | -2/+2 | |
| | | | | llvm-svn: 86661 | |||||
* | Use the source range of the whole sizeof expression, otherwise it crashes when | Zhongxing Xu | 2009-11-10 | 1 | -1/+1 | |
| | | | | | | the argument is not an expression. llvm-svn: 86660 | |||||
* | If a function with a default argument is redefined and the new function also ↵ | Anders Carlsson | 2009-11-10 | 2 | -1/+19 | |
| | | | | | | has a defualt argument then add a fixit hint that removes the default argument. Fixes PR5444. llvm-svn: 86659 | |||||
* | Update xode project. | Anders Carlsson | 2009-11-10 | 1 | -0/+12 | |
| | | | | llvm-svn: 86658 | |||||
* | Add test case for PointerSubChecker. | Zhongxing Xu | 2009-11-10 | 1 | -0/+5 | |
| | | | | llvm-svn: 86657 | |||||
* | Refine PointerSubChecker: compare the base region instead of the original | Zhongxing Xu | 2009-11-10 | 4 | -3/+34 | |
| | | | | | | region, so that arithmetic within a memory chunk is allowed. llvm-svn: 86652 | |||||
* | Be sure to clear out VCall when we clear out VCalls. | Mike Stump | 2009-11-10 | 2 | -0/+42 | |
| | | | | | | Start implementing VTTs. WIP. llvm-svn: 86650 | |||||
* | Rename: StripCasts describes what it does better. | Zhongxing Xu | 2009-11-10 | 9 | -11/+11 | |
| | | | | | | getBaseRegion will be used in another method. llvm-svn: 86649 | |||||
* | Finish off mangling for the VTT. | Mike Stump | 2009-11-10 | 1 | -0/+8 | |
| | | | | llvm-svn: 86647 |