summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* More rewriting of __block objective-c pointer variables. wip.Fariborz Jahanian2010-01-051-5/+80
| | | | llvm-svn: 92558
* Remove stale comment. We already do format string checking for functions ↵Ted Kremenek2010-01-051-3/+0
| | | | | | with the format attribute. llvm-svn: 92553
* Fix warnings.Mike Stump2010-01-051-1/+2
| | | | llvm-svn: 92551
* Remove references to 'Checker' and 'GRTransferFuncs' fromTed Kremenek2010-01-056-67/+52
| | | | | | | | | | | | GRStateManager. Having these references was an abstraction violation, as they really should only be known about GRExprEngine. This change required adding a new 'ProcessAssume' callback in GRSubEngine. GRExprEngine implements this callback by calling 'EvalAssume' on all registered Checker objects as well as the registered GRTransferFunc object. llvm-svn: 92549
* Move the -Wconversion logic into SemaChecking.cpp. There's a fair amount ofJohn McCall2010-01-043-314/+315
| | | | | | | overlap between this and -Wsign-compare, which is why I want them in the same place. llvm-svn: 92543
* Move the -Wsign-compare logic into SemaChecking.cpp.John McCall2010-01-042-78/+81
| | | | llvm-svn: 92541
* Avoid warnings for functions that return a value using MS-style inlineMike Stump2010-01-041-0/+8
| | | | | | | | | | | | | assembly code. This avoids changing the bahvior when normal asm("") statements are used. The type of code affected would be: void* t4(void) { __asm mov eax, fs:[0x10] } I hope people like this version, if not, let me know. llvm-svn: 92531
* Remember if the AsmStmt came from Microsoft-style inline assembly code.Mike Stump2010-01-046-8/+12
| | | | llvm-svn: 92526
* -Wsign-compare shouldn't warn when the signed operand is a conditional operatorJohn McCall2010-01-041-20/+24
| | | | | | | whose operands are non-negative integer constant expressions. This comes up in LLVM in a few places. llvm-svn: 92525
* Make sure to use ASTContext::getAs*ArrayType() when decomposing arrayDouglas Gregor2010-01-041-2/+2
| | | | | | types. Fixes APFloat.cpp compilation failure. llvm-svn: 92523
* More rewriting of __block declared objective-c/block pointers.Fariborz Jahanian2010-01-041-16/+45
| | | | | | This is wip. llvm-svn: 92501
* Teach Preprocessor::macro_begin/macro_end to lazily load all macroDouglas Gregor2010-01-044-7/+93
| | | | | | | | definitions from a precompiled header. This ensures that code-completion with macro names behaves the same with or without precompiled headers. llvm-svn: 92497
* Revert r92431, this code isn't dead and broke the ntfs build.Daniel Dunbar2010-01-041-0/+1
| | | | llvm-svn: 92493
* Fix -Asserts warning.Daniel Dunbar2010-01-041-2/+2
| | | | llvm-svn: 92491
* When declaring an Objective-C implementation without a correspondingDouglas Gregor2010-01-041-4/+18
| | | | | | | | | | | | | | | | | | | | | | interface, suggest correction of typos. For example, given: @interface NSString @end @implementation NSstring @end we'll warn with: t.m:4:19: warning: cannot find interface declaration for 'NSstring'; did you mean 'NSString'? @implementation NSstring ^ However, since this is just a warning, we don't provide a fix-it hint. Good idea, Ted! llvm-svn: 92488
* __builtin_object_size(ptr, type) returns -1 for type = {0,1} if there are ↵Benjamin Kramer2010-01-031-1/+1
| | | | | | any side-effects. llvm-svn: 92453
* Implement typo correction for a variety of Objective-C-specificDouglas Gregor2010-01-036-13/+183
| | | | | | | | | | | | | | constructs: - Instance variable lookup ("foo->ivar" and, in instance methods, "ivar") - Property name lookup ("foo.prop") - Superclasses - Various places where a class name is required - Protocol names (e.g., id<proto>) This seems to cover many of the common places where typos could occur. llvm-svn: 92449
* Better coverage for -dump-record-layouts and -print-decl-contexts.Eli Friedman2010-01-031-0/+13
| | | | llvm-svn: 92441
* Get rid of more dead code.Eli Friedman2010-01-032-51/+0
| | | | llvm-svn: 92439
* Fix minor oversight for increment/decrement of complex int. Add tests forEli Friedman2010-01-031-1/+1
| | | | | | coverage. llvm-svn: 92433
* Get rid of some unnecessary code.Eli Friedman2010-01-021-27/+2
| | | | llvm-svn: 92432
* Delete impossible case.Eli Friedman2010-01-021-1/+0
| | | | llvm-svn: 92431
* Get rid of more unnecessary code.Eli Friedman2010-01-021-77/+6
| | | | llvm-svn: 92429
* Get rid of some unnecessary code.Eli Friedman2010-01-022-120/+0
| | | | llvm-svn: 92428
* Eliminate dead code.Eli Friedman2010-01-024-83/+0
| | | | llvm-svn: 92424
* Speculative MSVC fix.Anders Carlsson2010-01-021-3/+2
| | | | llvm-svn: 92421
* Move address points to CGVtableInfo, no functionality change.Anders Carlsson2010-01-025-15/+16
| | | | llvm-svn: 92420
* Correctly pass VTT parameters to constructors and destructors. The VTTs ↵Anders Carlsson2010-01-026-83/+202
| | | | | | aren't yet used in the ctors/dtors, but that will follow. llvm-svn: 92409
* Move a few more functions away from CGCXX and to CGClass and CGExprCXX.Anders Carlsson2010-01-014-673/+672
| | | | llvm-svn: 92399
* Make sure that the search for visible declarations looks into the semantic ↵Douglas Gregor2010-01-011-2/+1
| | | | | | parents of out-of-line function contexts llvm-svn: 92397
* Fix last patch, catch of reference to non-pointer.Mike Stump2010-01-011-10/+12
| | | | llvm-svn: 92386
* Fix catching a reference to a pointer.Mike Stump2010-01-011-3/+15
| | | | llvm-svn: 92385
* When typo correction for an id-expression finds a type (or Objective-CDouglas Gregor2010-01-011-12/+32
| | | | | | | | | | | | | | | | class), provide a suggestion for the type or class found. However, since we can't recover properly in this case, don't provide a fix-it hint. Example: test/FixIt/typo.m:8:3: error: use of undeclared identifier 'NSstring'; did you mean 'NSString'? NSstring *str = @"A string"; ... ^ 1 diagnostic generated. llvm-svn: 92379
* Typo correction for C99 designated field initializers, e.g.,Douglas Gregor2010-01-011-15/+53
| | | | | | | | | | test/FixIt/typo.c:19:4: error: field designator 'bunds' does not refer to any field in type 'struct Window'; did you mean 'bounds'? .bunds. ^~~~~ bounds llvm-svn: 92376
* If the key function of a record is inline, then the RTTI data should have ↵Anders Carlsson2009-12-311-0/+8
| | | | | | weak_odr linkage. llvm-svn: 92371
* It's OK for a return type to be incomplete if it's being defined.Anders Carlsson2009-12-311-3/+6
| | | | llvm-svn: 92367
* Make sure that an overriding return type is complete before checking if it's ↵Anders Carlsson2009-12-311-0/+9
| | | | | | covariant. Fixes PR5920. llvm-svn: 92365
* More RTTI builder cleanup.Anders Carlsson2009-12-311-76/+26
| | | | llvm-svn: 92360
* Avoid an unnecessary copy of Predefines. getMemBufferCopy does the null ↵Benjamin Kramer2009-12-311-12/+3
| | | | | | termination for us. llvm-svn: 92358
* Convert to StringRef, avoid a memcpy in the common case.Benjamin Kramer2009-12-311-19/+16
| | | | llvm-svn: 92357
* Typo correction for C++ base and member initializers, e.g.,Douglas Gregor2009-12-311-32/+88
| | | | | | | | | | | | | | | test/FixIt/typo.cpp:41:15: error: initializer 'base' does not name a non-static data member or base class; did you mean the base class 'Base'? Derived() : base(), ^~~~ Base test/FixIt/typo.cpp:42:15: error: initializer 'ember' does not name a non-static data member or base class; did you mean the member 'member'? ember() { } ^~~~~ member llvm-svn: 92355
* Typo correction for identifiers within nested name specifiers, e.g.,Douglas Gregor2009-12-311-0/+22
| | | | | | | | | | typo.cpp:18:1: error: use of undeclared identifier 'other_std'; did you mean 'otherstd'? other_std::strng str1; ^~~~~~~~~ otherstd llvm-svn: 92350
* Typo correction for template names, e.g.,Douglas Gregor2009-12-311-1/+25
| | | | | | | | | | typo.cpp:27:8: error: no template named 'basic_sting' in namespace 'std'; did you mean 'basic_string'? std::basic_sting<char> b2; ~~~~~^~~~~~~~~~~ basic_string llvm-svn: 92348
* Typo correction for member access into classes/structs/unions, e.g.,Douglas Gregor2009-12-313-4/+31
| | | | | | s.fnd("hello") llvm-svn: 92345
* Let constraint manager inform checkers that some assumption logic has happend.Zhongxing Xu2009-12-314-11/+56
| | | | | | | | | Add new states for symbolic regions tracked by malloc checker. This enables us to do malloc checking more accurately. See test case. Based on Lei Zhang's patch and discussion. llvm-svn: 92342
* Implement typo correction for id-expressions, e.g.,Douglas Gregor2009-12-314-22/+54
| | | | | | | | | | | | | typo.cpp:22:10: error: use of undeclared identifier 'radious'; did you mean 'radius'? return radious * pi; ^~~~~~~ radius This was super-easy, since we already had decent recovery by looking for names in dependent base classes. llvm-svn: 92341
* improve diagnostics for case when a field type is unknown byChris Lattner2009-12-311-1/+2
| | | | | | | not emitting a follow-on error about 'int', which the user never wrote. PR5924. llvm-svn: 92339
* Fix a bunch of bugs with VMI RTTI building, and add a whole bunch of tests.Anders Carlsson2009-12-302-215/+190
| | | | llvm-svn: 92319
* The element type should also be canonicalized. Add a case for VariableArrayType.Zhongxing Xu2009-12-301-1/+7
| | | | llvm-svn: 92318
* when making a decl for __builtin_fabsf() make sure toChris Lattner2009-12-301-0/+4
| | | | | | | | attach the appropriate attributes to it. I don't think this manifests as any real change though, we're still not getting the right LLVM IR attributes out of codegen. llvm-svn: 92316
OpenPOWER on IntegriCloud