Douglas Gregor
f0708dee83
Fix crasher with IgnoringDiagClient
...
llvm-svn: 111447
2010-08-18 23:03:13 +00:00
Douglas Gregor
2dd19f1d5f
Simplify the ownership model for DiagnosticClients, which was really
...
convoluted and a bit leaky. Now, the Diagnostic object owns its
DiagnosticClient.
llvm-svn: 111437
2010-08-18 22:29:43 +00:00
Douglas Gregor
fb640869ed
There is no pointer conversion between to similar types (i.e., same
...
type ignoring cv-qualifiers). These are qualification
conversions. Fixes PR7934.
llvm-svn: 111428
2010-08-18 21:25:30 +00:00
Dan Gohman
b37af7de47
Call llvm::remove_fatal_error_handler before deallocating objects
...
which are used by the error handling functions.
llvm-svn: 111427
2010-08-18 21:23:17 +00:00
Tom Care
b9933f365e
Added psuedo-constant analysis and integrated it into the false positive reduction stage in IdempotentOperationChecker.
...
- Renamed IdempotentOperationChecker::isConstant to isConstantOrPseudoConstant to better reflect the function
- Changed IdempotentOperationChecker::PreVisitBinaryOperator to only run 'CanVary' once on undefined assumptions
- Created new PsuedoConstantAnalysis class and added it to AnalysisContext
- Changed IdempotentOperationChecker to exploit the new analysis
- Updated tests with psuedo-constants
- Added check to IdempotentOperationChecker to see if a Decl is const qualified
llvm-svn: 111426
2010-08-18 21:17:24 +00:00
John McCall
78fbb61ed7
Contextual arity is a feature of mangling expressions; kill off
...
mangleCallExpression. Also, operator names with unknown arity should
be mangled as binary operators; this is actually covered by an oddly-
positioned sentence in the ABI document. Fixes PR7891.
llvm-svn: 111395
2010-08-18 19:18:59 +00:00
Daniel Dunbar
583c3b775e
libclang: Put clang_parseTranslationUnit inside a crash recovery context.
...
llvm-svn: 111387
2010-08-18 18:43:17 +00:00
Daniel Dunbar
c91f2fff98
libclang: Implicitly enable crash recovery when using the libclang APIs. We may need to add an explicit API call, but hopefully we can make the crash recovery seamless enough that it doesn't make sense to turn it off.
...
llvm-svn: 111386
2010-08-18 18:43:14 +00:00
Chris Lattner
396639db95
zap dead code.
...
llvm-svn: 111365
2010-08-18 16:09:06 +00:00
Chris Lattner
66b67d209e
no need to pass bumppointer allocator into macroinfo::destroy
...
llvm-svn: 111364
2010-08-18 16:08:51 +00:00
Douglas Gregor
c1a42fdd53
Make sure to add MallocAttr to explicitly-declared operator new/new[]
...
when -fassume-sane-operator-new. Patch by Tom Jablin!
llvm-svn: 111363
2010-08-18 15:06:25 +00:00
Douglas Gregor
b13f5d99af
Simplify FixItHint by eliminated the unnecessary InsertionLoc
...
location. Patch by Eelis van der Weegen!
llvm-svn: 111362
2010-08-18 14:24:02 +00:00
John McCall
8f42893aff
Flesh out the test cases a little.
...
llvm-svn: 111359
2010-08-18 09:58:15 +00:00
John McCall
02db245d5e
Rip out the existing retroactive abstract-class usage checker,
...
which in a fit of zeal wanted to walk the entire translation unit,
and replace it with a new checker that walks the types of declarations
nested within the class. Also, look into templates when doing this.
llvm-svn: 111357
2010-08-18 09:41:07 +00:00
Argyrios Kyrtzidis
6e617ea509
Remove -Wunused-member-function from the 'Extra' diagnostic group too; llvm uses it.
...
This effectively disables -Wunused-member-function for building llvm/clang.
llvm-svn: 111356
2010-08-18 08:32:33 +00:00
Chandler Carruth
33646fd72a
Check whether errors should be included in the diagnostic counts. Previously,
...
only warnings did this check.
llvm-svn: 111355
2010-08-18 06:46:41 +00:00
Jordy Rose
8258499f42
Remove dead malloc symbols from the symbol-state map.
...
llvm-svn: 111353
2010-08-18 04:33:47 +00:00
Jordy Rose
bc80329f1f
Use RegionStateTy everywhere we mean ImmutableMap<SymbolRef, RefState>
...
llvm-svn: 111351
2010-08-18 04:26:59 +00:00
Chris Lattner
2a2a468d1a
zap dead code.
...
llvm-svn: 111347
2010-08-18 02:45:56 +00:00
Chris Lattner
e876fcd77a
zap a big dead method.
...
llvm-svn: 111346
2010-08-18 02:44:19 +00:00
Douglas Gregor
caa1bf434d
Emit an error if an array is too large. We're slightly more strict
...
than GCC 4.2 here when building 32-bit (where GCC will allow
allocation of an array for which we can't get a valid past-the-end
pointer), and emulate its odd behavior in 64-bit where it only allows
63 bits worth of storage in the array. The former is a correctness
issue; the latter is harmless in practice (you wouldn't be able to use
such an array anyway) and helps us pass a GCC DejaGNU test.
Fixes <rdar://problem/8212293>.
llvm-svn: 111338
2010-08-18 00:39:00 +00:00
Chris Lattner
aa94cc3fcd
fix typo
...
llvm-svn: 111334
2010-08-18 00:13:52 +00:00
Chris Lattner
b1995dffaf
Fix PR7889 by generalizing some over specialized code. There is no
...
reason that this should be limited to simple lvalues.
llvm-svn: 111331
2010-08-18 00:08:27 +00:00
Chris Lattner
00d5141aef
fix PR7892, a crash on valid in c++ codegen of __PRETTY_FUNCTION__
...
llvm-svn: 111330
2010-08-17 23:58:10 +00:00
Ted Kremenek
e890042c7b
TypedRegion::isBoundable() should return true by default. Since there is no TypedViewRegion anyore, it is not possible that the subclass (which doesn't override isBoundable) could return a null value type.
...
llvm-svn: 111329
2010-08-17 23:51:30 +00:00
Fariborz Jahanian
358acd5dff
Get rid of extra nesting when checking for invalid type,
...
per Doug's comment.
llvm-svn: 111328
2010-08-17 23:50:37 +00:00
Ted Kremenek
5322150a7f
Rewrite code fragment to avoide ICE in MSVC. Fixes PR 7875. Patch by Dimitry Andric!
...
llvm-svn: 111327
2010-08-17 23:29:06 +00:00
Fariborz Jahanian
9d7d3d84ac
Diagnose if type of iboutletcollection attribute is a builtin type.
...
llvm-svn: 111324
2010-08-17 23:19:16 +00:00
Sebastian Redl
dd0087154a
Get rid of pretty non-ASCII quotes.
...
llvm-svn: 111316
2010-08-17 22:42:34 +00:00
Daniel Dunbar
56df97761d
StringRef'ication of lots stuff, patch by Peter Davies!
...
llvm-svn: 111314
2010-08-17 22:39:59 +00:00
Daniel Dunbar
f2cf329ccd
Lex: Add #pragma clang __debug {llvm_fatal_error, llvm_unreachable}, for testing
...
those crash paths.
llvm-svn: 111311
2010-08-17 22:32:48 +00:00
Daniel Dunbar
b613ffc1aa
Driver: Claim the -mlinker-version synthesized argument, it shouldn't be
...
reported as unused.
llvm-svn: 111310
2010-08-17 22:32:45 +00:00
Argyrios Kyrtzidis
beb71b315a
Rename -Wunused-method -> -Wunused-member-function.
...
llvm-svn: 111305
2010-08-17 22:06:44 +00:00
Ted Kremenek
5c3cea7b09
Remove dead code.
...
llvm-svn: 111304
2010-08-17 22:05:33 +00:00
John McCall
6d86202fa7
Whoops. Don't fall through into the overload case when mangling a
...
dependent call expression.
llvm-svn: 111300
2010-08-17 21:51:21 +00:00
Argyrios Kyrtzidis
cad715fb9b
Introduce -Wunused-method option for warning on unused class methods in anonymous namespace.
...
This option is not part of the Unused diagnostic group until the warnings on llvm codebase are fixed
and we are ready to turn it on. Suggestion by Daniel.
llvm-svn: 111298
2010-08-17 21:43:11 +00:00
Fariborz Jahanian
798f83239c
Diagnose use of iboutletcollection on ivar/property
...
of non-object types. Radar 8308053.
llvm-svn: 111296
2010-08-17 21:39:27 +00:00
John McCall
815039af77
Implicit decl ref expressions might not have name locations; don't silently
...
fail to instantiate them.
llvm-svn: 111293
2010-08-17 21:27:17 +00:00
Sebastian Redl
7940e6fb1d
Fix CMake build
...
llvm-svn: 111284
2010-08-17 21:00:23 +00:00
Ted Kremenek
4f2ab5a549
Fix horrible CFG bug caused by a series of NullStmts appearing at the beginning of a do...while loop. This would cause
...
the body of the DoStmt to be disconnected from the preceding code.
llvm-svn: 111283
2010-08-17 21:00:06 +00:00
Ted Kremenek
110974dfa4
CFGBuilder: don't create the empty "loop back" block for DoStmts if the loop edge can never be taken.
...
llvm-svn: 111282
2010-08-17 20:59:56 +00:00
Sebastian Redl
135bcc791b
Reintroduce the serialization library, with fixed dependencies.
...
llvm-svn: 111279
2010-08-17 20:43:28 +00:00
Fariborz Jahanian
b5d59b66c2
Patch to add type parameter support for attribute iboutletcollection.
...
Radar 8308053.
llvm-svn: 111275
2010-08-17 20:23:12 +00:00
Douglas Gregor
600c4f6d84
Remove the last bit of the Clang Serialization library, for now
...
llvm-svn: 111267
2010-08-17 19:00:27 +00:00
Douglas Gregor
256a7282e4
Revert Sebastian's build-breaking patch.
...
llvm-svn: 111265
2010-08-17 18:31:01 +00:00
Dan Gohman
b1e20869a2
Add the clangSerialization library to libclang.
...
llvm-svn: 111261
2010-08-17 18:07:30 +00:00
Sebastian Redl
52ce9bb2fb
Create a new Serialization module that contains all the PCH code, and will contain all the module code in the future. Update the Makefiles, CMake projects and the Xcode project. I hope I did everything right for Xcode. No functionality change.
...
llvm-svn: 111258
2010-08-17 17:55:49 +00:00
Sebastian Redl
ea68af43e8
Fix a typo in a diag name.
...
llvm-svn: 111257
2010-08-17 17:55:38 +00:00
Daniel Dunbar
71323e66b6
Remove a gratuitous lie.
...
llvm-svn: 111253
2010-08-17 17:34:48 +00:00
Douglas Gregor
175ea046ee
A member function never has "C" linkage. Fixes <rdar://problem/8318976>.
...
llvm-svn: 111238
2010-08-17 16:09:23 +00:00