summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Silence warning.Benjamin Kramer2009-11-101-1/+1
| | | | llvm-svn: 86719
* Use #include <stdio.h> when using fprintf and stderr.Dan Gohman2009-11-101-0/+1
| | | | llvm-svn: 86717
* clang-cc: Start moving "pure" option handling to Options.cpp, to separate itDaniel Dunbar2009-11-103-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 Dunbar2009-11-101-20/+19
| | | | llvm-svn: 86710
* Change LangOpts initialization to directly test the code generation options,Daniel Dunbar2009-11-101-6/+8
| | | | | | instead of reproducing their logic. llvm-svn: 86709
* Improve parsing of template arguments to lay the foundation forDouglas Gregor2009-11-1017-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 representsFariborz Jahanian2009-11-101-3/+3
| | | | | | (Ted's feedback). llvm-svn: 86702
* This patch implements Code gen. for destruction ofFariborz Jahanian2009-11-103-8/+101
| | | | | | global array of objects. llvm-svn: 86701
* CIndex: Only display diagnostics to llvm::errs() when the client has set the ↵Ted Kremenek2009-11-101-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 Stump2009-11-101-0/+4
| | | | llvm-svn: 86699
* Driver: Run 'clang' in C++ mode based on the name it was invoked by. We matchDaniel Dunbar2009-11-101-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 Dunbar2009-11-101-6/+16
| | | | llvm-svn: 86696
* Localize -disable-llvm-optzns handling to BackendConsumer::CreatePasses.Daniel Dunbar2009-11-103-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 Dunbar2009-11-101-19/+25
| | | | llvm-svn: 86690
* Cleanup some clang-cc FIXMEsDaniel Dunbar2009-11-102-16/+11
| | | | llvm-svn: 86686
* Add CompileOptions to CompilerInvocation.Daniel Dunbar2009-11-102-15/+34
| | | | llvm-svn: 86685
* Fix a similar problem with qualified lookup through using directives,John McCall2009-11-101-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 throughJohn McCall2009-11-103-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 Xu2009-11-101-1/+1
| | | | llvm-svn: 86677
* Simple test case for [basic.lookup.udir].John McCall2009-11-101-0/+35
| | | | llvm-svn: 86674
* SizeofPointerChecker: Many false positives have the form 'sizeof *p'. Zhongxing Xu2009-11-101-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 fromMike Stump2009-11-105-24/+41
| | | | | | | | being generated. Add the most derived vtable pointer to the VTT. llvm-svn: 86671
* Fix unqualified lookup through using directives.John McCall2009-11-102-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 Carlsson2009-11-102-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 Carlsson2009-11-101-0/+7
| | | | llvm-svn: 86664
* Now we can safely use the argument expression's source range.Zhongxing Xu2009-11-101-1/+1
| | | | llvm-svn: 86663
* SizeofPointerChecker: If an explicit type specifier is used, do not issue ↵Zhongxing Xu2009-11-101-0/+5
| | | | | | warnings. llvm-svn: 86662
* Use PP.getLocForEndOfToken as suggested by John.Anders Carlsson2009-11-101-2/+2
| | | | llvm-svn: 86661
* Use the source range of the whole sizeof expression, otherwise it crashes whenZhongxing Xu2009-11-101-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 Carlsson2009-11-102-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 Carlsson2009-11-101-0/+12
| | | | llvm-svn: 86658
* Add test case for PointerSubChecker.Zhongxing Xu2009-11-101-0/+5
| | | | llvm-svn: 86657
* Refine PointerSubChecker: compare the base region instead of the original Zhongxing Xu2009-11-104-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 Stump2009-11-102-0/+42
| | | | | | Start implementing VTTs. WIP. llvm-svn: 86650
* Rename: StripCasts describes what it does better. Zhongxing Xu2009-11-109-11/+11
| | | | | | getBaseRegion will be used in another method. llvm-svn: 86649
* Finish off mangling for the VTT.Mike Stump2009-11-101-0/+8
| | | | llvm-svn: 86647
OpenPOWER on IntegriCloud