]> granicus.if.org Git - clang/log
clang
15 years agoChange the diagnostics that the evaluator reports to be of type NOTE.
Anders Carlsson [Sun, 30 Nov 2008 18:37:00 +0000 (18:37 +0000)]
Change the diagnostics that the evaluator reports to be of type NOTE.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60301 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoReplace the isEvaluated bool with a ShortCircuit int, making it easier to handle...
Anders Carlsson [Sun, 30 Nov 2008 18:26:25 +0000 (18:26 +0000)]
Replace the isEvaluated bool with a ShortCircuit int, making it easier to handle recursion

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60300 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPass the expression to the Error and Extension methods.
Anders Carlsson [Sun, 30 Nov 2008 18:14:57 +0000 (18:14 +0000)]
Pass the expression to the Error and Extension methods.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60299 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a new variant of Evaluate and reimplement the old Evaluate in terms of the new.
Anders Carlsson [Sun, 30 Nov 2008 16:58:53 +0000 (16:58 +0000)]
Add a new variant of Evaluate and reimplement the old Evaluate in terms of the new.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60298 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoGeneral cleanup, evaluate the RHS of a logical op even if the LHS will give us the...
Anders Carlsson [Sun, 30 Nov 2008 16:51:17 +0000 (16:51 +0000)]
General cleanup, evaluate the RHS of a logical op even if the LHS will give us the result.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60297 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoEvalInfo now holds a reference to an EvalResult struct.
Anders Carlsson [Sun, 30 Nov 2008 16:38:33 +0000 (16:38 +0000)]
EvalInfo now holds a reference to an EvalResult struct.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60296 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd Expr::EvalResult struct. (Not used just yet)
Anders Carlsson [Sun, 30 Nov 2008 16:19:46 +0000 (16:19 +0000)]
Add Expr::EvalResult struct. (Not used just yet)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60295 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoremove a test case that causes compiler warning.
Zhongxing Xu [Sun, 30 Nov 2008 05:59:27 +0000 (05:59 +0000)]
remove a test case that causes compiler warning.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60282 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd test for initializing array with string literal.
Zhongxing Xu [Sun, 30 Nov 2008 05:51:19 +0000 (05:51 +0000)]
Add test for initializing array with string literal.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60281 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd support for initializing array with string literal.
Zhongxing Xu [Sun, 30 Nov 2008 05:49:49 +0000 (05:49 +0000)]
Add support for initializing array with string literal.
This fixes PR3127
http://llvm.org/bugs/show_bug.cgi?id=3127

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60280 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix for PR2969: generate a memcpy from a constant for constant
Eli Friedman [Sun, 30 Nov 2008 02:11:09 +0000 (02:11 +0000)]
Fix for PR2969: generate a memcpy from a constant for constant
initializers.  llvm-gcc appears to be more aggressive, but incorrect,
for constructs like "const int a[] = {1,2,3};"; that said, current
optimizers will do the appropriate optimizations when safe.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60270 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMinor update to CMake build system.
Eli Friedman [Sun, 30 Nov 2008 01:46:21 +0000 (01:46 +0000)]
Minor update to CMake build system.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60269 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCXXFunctionalCastExpr inherits from ExplicitCastExpr.
Anders Carlsson [Sat, 29 Nov 2008 19:58:11 +0000 (19:58 +0000)]
CXXFunctionalCastExpr inherits from ExplicitCastExpr.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60249 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTo be consistent, make the index of the ElementRegion always signed.
Zhongxing Xu [Sat, 29 Nov 2008 12:05:04 +0000 (12:05 +0000)]
To be consistent, make the index of the ElementRegion always signed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60248 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImplement the GNU __null extension
Douglas Gregor [Sat, 29 Nov 2008 04:51:27 +0000 (04:51 +0000)]
Implement the GNU __null extension

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60235 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSwitch QualType to use llvm::PointerIntPair internally to do the pointer
Chris Lattner [Fri, 28 Nov 2008 23:37:31 +0000 (23:37 +0000)]
Switch QualType to use llvm::PointerIntPair internally to do the pointer
bitmangling.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60226 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a serious bug.
Zhongxing Xu [Fri, 28 Nov 2008 08:41:39 +0000 (08:41 +0000)]
Fix a serious bug.

When initialized, the index of the ElementRegion was unsigned. But the index
value of the ArraySubscriptExpr is signed. This inconsistency caused the value
of the array element retrieved to be UnknownVal despite it was initialized to
symbolic.

This is only a hack. Real fix of this problem is required.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60207 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCode cleanup. No functional change.
Zhongxing Xu [Fri, 28 Nov 2008 08:34:30 +0000 (08:34 +0000)]
Code cleanup. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60206 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse std::make_pair instead of std::pair's ctor.
Zhongxing Xu [Fri, 28 Nov 2008 03:55:52 +0000 (03:55 +0000)]
Use std::make_pair instead of std::pair's ctor.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60205 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoEnable the GRStateManager to do something when we finish a path. For example,
Zhongxing Xu [Fri, 28 Nov 2008 03:07:05 +0000 (03:07 +0000)]
Enable the GRStateManager to do something when we finish a path. For example,
the ConstraintManager can print its internal state before its solver instance is
destroyed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60204 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoremove dead diag
Chris Lattner [Thu, 27 Nov 2008 19:33:39 +0000 (19:33 +0000)]
remove dead diag

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60181 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix order of evaluation.
Sebastian Redl [Thu, 27 Nov 2008 07:28:14 +0000 (07:28 +0000)]
Fix order of evaluation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60160 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImmutableList::getInternalPointer() returns a const ImmutableListImpl<T>* pointer...
Zhongxing Xu [Thu, 27 Nov 2008 06:32:54 +0000 (06:32 +0000)]
ImmutableList::getInternalPointer() returns a const ImmutableListImpl<T>* pointer, which must be converted to void* explicitly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60152 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFactory objects should not be temporary. It caches all objects in the set.
Zhongxing Xu [Thu, 27 Nov 2008 06:08:40 +0000 (06:08 +0000)]
Factory objects should not be temporary. It caches all objects in the set.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60151 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRegionViewMap factory is actually not used. All GDMs should use factories from
Zhongxing Xu [Thu, 27 Nov 2008 06:03:03 +0000 (06:03 +0000)]
RegionViewMap factory is actually not used. All GDMs should use factories from
GDMContext.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60150 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTest commit.
Daniel Dunbar [Thu, 27 Nov 2008 03:47:29 +0000 (03:47 +0000)]
Test commit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60147 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd comments.
Zhongxing Xu [Thu, 27 Nov 2008 02:39:34 +0000 (02:39 +0000)]
Add comments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60146 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd license comments.
Zhongxing Xu [Thu, 27 Nov 2008 02:19:10 +0000 (02:19 +0000)]
Add license comments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60144 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd support for pluggable components of static analyzer.
Zhongxing Xu [Thu, 27 Nov 2008 01:55:08 +0000 (01:55 +0000)]
Add support for pluggable components of static analyzer.
 - Creator function pointers are saved in ManagerRegistry.
 - The Register* class is used to notify ManagerRegistry new module is
   available.
 - AnalysisManager queries ManagerRegistry for configurable module. Then it
   passes them to GRExprEngine, in turn to GRStateManager.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60143 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd implicit conversions for Objective-C qualified ids, e.g.,
Douglas Gregor [Thu, 27 Nov 2008 01:19:21 +0000 (01:19 +0000)]
Add implicit conversions for Objective-C qualified ids, e.g.,

  id<P0>

The intended overloading behavior of these entities isn't entirely
clear, and GCC seems to have some strange limitations (e.g., the
inability to overload on id<P0> vs. id<P1>). We'll want to revisit
these semantics and determine just how Objective-C++ overloading
should really work.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60142 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCleanup formatting
Douglas Gregor [Thu, 27 Nov 2008 00:52:49 +0000 (00:52 +0000)]
Cleanup formatting

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60140 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDon't complain about block pointer to void* conversions
Douglas Gregor [Thu, 27 Nov 2008 00:44:28 +0000 (00:44 +0000)]
Don't complain about block pointer to void* conversions

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60138 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPTHLexer now owns the Token vector.
Ted Kremenek [Thu, 27 Nov 2008 00:38:24 +0000 (00:38 +0000)]
PTHLexer now owns the Token vector.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60136 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSupport block pointer conversions in C++. I'm storing the test case locally until...
Douglas Gregor [Thu, 27 Nov 2008 00:15:41 +0000 (00:15 +0000)]
Support block pointer conversions in C++. I'm storing the test case locally until we can enable blocks in C++

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60133 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago- Enhance PTH generation to write out IdentifierInfo table in two parts:
Ted Kremenek [Wed, 26 Nov 2008 23:58:26 +0000 (23:58 +0000)]
- Enhance PTH generation to write out IdentifierInfo table in two parts:
  - a table including the IdentifierInfo data
  - an index from persistent IdentifierInfo IDs to indices within this file.
- Enhance PTH generation to write out file map information, mapping inodes to tokens.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60132 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTest conversion from apointer to incomplete type to void* in C++
Douglas Gregor [Wed, 26 Nov 2008 23:33:36 +0000 (23:33 +0000)]
Test conversion from apointer to incomplete type to void* in C++

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60131 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImplement implicit conversions for Objective-C specific types, e.g.,
Douglas Gregor [Wed, 26 Nov 2008 23:31:11 +0000 (23:31 +0000)]
Implement implicit conversions for Objective-C specific types, e.g.,
converting a pointer to one Objective-C interface into a pointer to another
Objective-C interface, and conversions with 'id'. The semantics seems
to match GCC, although they seem somewhat ad hoc.

Fixed a few cases where we assumed the C++ definition of isObjectType,
but were getting the C definition, causing failures in trouble with
conversions to void pointers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60130 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAnother test for property code gen.
Fariborz Jahanian [Wed, 26 Nov 2008 23:20:29 +0000 (23:20 +0000)]
Another test for property code gen.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60128 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAttempt to unravel the if/else mess in Parser::ParseDirectDeclarator.
Argyrios Kyrtzidis [Wed, 26 Nov 2008 22:40:03 +0000 (22:40 +0000)]
Attempt to unravel the if/else mess in Parser::ParseDirectDeclarator.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60124 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCode gen for aggregate-valued properties and a test case.
Fariborz Jahanian [Wed, 26 Nov 2008 22:36:09 +0000 (22:36 +0000)]
Code gen for aggregate-valued properties and a test case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60122 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd some comments.
Argyrios Kyrtzidis [Wed, 26 Nov 2008 21:51:07 +0000 (21:51 +0000)]
Add some comments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60119 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImplement some suggestions by Daniel:
Argyrios Kyrtzidis [Wed, 26 Nov 2008 21:41:52 +0000 (21:41 +0000)]
Implement some suggestions by Daniel:

-Change Parser::ParseCXXScopeSpecifier to MaybeParseCXXScopeSpecifier
-Remove Parser::isTokenCXXScopeSpecifier and fold it into MaybeParseCXXScopeSpecifier
-Rename Parser::TryAnnotateScopeToken to TryAnnotateCXXScopeToken and only allow it to be called when in C++

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60117 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd an overload for operator<<(const DiagnosticBuilder &DB,bool I).
Argyrios Kyrtzidis [Wed, 26 Nov 2008 20:39:45 +0000 (20:39 +0000)]
Add an overload for operator<<(const DiagnosticBuilder &DB,bool I).
Fixes building error on MSVC where passing bool couldn't resolve to one of the overloads.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60116 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemoved a FIXME. Added a test case for anonymous category.
Fariborz Jahanian [Wed, 26 Nov 2008 20:33:54 +0000 (20:33 +0000)]
Removed a FIXME. Added a test case for anonymous category.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60115 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSet default property attributes on each property.
Fariborz Jahanian [Wed, 26 Nov 2008 20:01:34 +0000 (20:01 +0000)]
Set default property attributes on each property.
Implemented anonymous category (also know as continuation class)
used to override main class's property attribute. This is work in
propgress.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60114 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoConvert incomplete array types before emitting debug info for them, fixes PR3134.
Anders Carlsson [Wed, 26 Nov 2008 17:40:42 +0000 (17:40 +0000)]
Convert incomplete array types before emitting debug info for them, fixes PR3134.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60109 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd missing RUN lines
Nuno Lopes [Wed, 26 Nov 2008 15:50:12 +0000 (15:50 +0000)]
add missing RUN lines

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60107 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a minor typo in the handling of the conditional operator for Objective-C interfac...
Douglas Gregor [Wed, 26 Nov 2008 06:43:45 +0000 (06:43 +0000)]
Fix a minor typo in the handling of the conditional operator for Objective-C interface pointers

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60096 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTweak the new ResolveOverloadedCallFn to just return a FunctionDecl. It makes ActOnCa...
Douglas Gregor [Wed, 26 Nov 2008 06:01:48 +0000 (06:01 +0000)]
Tweak the new ResolveOverloadedCallFn to just return a FunctionDecl. It makes ActOnCallExpr simpler

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60094 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMove the overloading logic of Sema::ActOnCallExpr to a separate function
Douglas Gregor [Wed, 26 Nov 2008 05:54:23 +0000 (05:54 +0000)]
Move the overloading logic of Sema::ActOnCallExpr to a separate function

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60093 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd plugin loading for clang. This will be used to load alternative constraint manage...
Zhongxing Xu [Wed, 26 Nov 2008 05:23:17 +0000 (05:23 +0000)]
Add plugin loading for clang. This will be used to load alternative constraint manager for static analysis.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60091 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDisable -loop-index-split for now.
Devang Patel [Wed, 26 Nov 2008 05:01:52 +0000 (05:01 +0000)]
Disable -loop-index-split for now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60089 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRe-apply r60071 now that raw_fd_ostream::tell has been committed.
Ted Kremenek [Wed, 26 Nov 2008 03:36:26 +0000 (03:36 +0000)]
Re-apply r60071 now that raw_fd_ostream::tell has been committed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60086 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRevert 60071, depends on uncommitted LLVM changes.
Daniel Dunbar [Wed, 26 Nov 2008 02:18:33 +0000 (02:18 +0000)]
Revert 60071, depends on uncommitted LLVM changes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60077 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMigrate token-cache generation logic from dummy harness in PPLexerChange.cpp to Cache...
Ted Kremenek [Wed, 26 Nov 2008 00:57:55 +0000 (00:57 +0000)]
Migrate token-cache generation logic from dummy harness in PPLexerChange.cpp to CacheTokens.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60071 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd setter method PreprocessorLexer::setParsingPreprocessorDirective(). This will...
Ted Kremenek [Wed, 26 Nov 2008 00:57:02 +0000 (00:57 +0000)]
Add setter method PreprocessorLexer::setParsingPreprocessorDirective().  This will be used by the mechanism to generate cached tokens.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60070 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoremove debug-only assertion in the complex float evaluator as it makes some real...
Nuno Lopes [Wed, 26 Nov 2008 00:39:53 +0000 (00:39 +0000)]
remove debug-only assertion in the complex float evaluator as it makes some real apps crash

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60069 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoOnly call TryAnnotateScopeToken when parsing C++.
Daniel Dunbar [Tue, 25 Nov 2008 23:05:24 +0000 (23:05 +0000)]
Only call TryAnnotateScopeToken when parsing C++.
 - This improves -parse-noop of Carbon.h by +2%, and I believe
   compensates for the majority of the performance regression in r58913.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60063 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoHandle returning complex types that get coerced. Fixes PR3131
Anders Carlsson [Tue, 25 Nov 2008 22:21:48 +0000 (22:21 +0000)]
Handle returning complex types that get coerced. Fixes PR3131

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60058 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse RAII objects to ensure proper destruction of expression and statement AST nodes...
Sebastian Redl [Tue, 25 Nov 2008 22:21:31 +0000 (22:21 +0000)]
Use RAII objects to ensure proper destruction of expression and statement AST nodes in the parser in most cases, even on error.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60057 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix 80-col violations.
Daniel Dunbar [Tue, 25 Nov 2008 21:53:21 +0000 (21:53 +0000)]
Fix 80-col violations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60051 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRefactored checking on readonly property into a method.
Fariborz Jahanian [Tue, 25 Nov 2008 21:48:26 +0000 (21:48 +0000)]
Refactored checking on readonly property into a method.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60050 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPatch to allow over-riding of readonly property to
Fariborz Jahanian [Tue, 25 Nov 2008 17:56:43 +0000 (17:56 +0000)]
Patch to allow over-riding of readonly property to
a writable property in one of its category.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60035 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove more #ifdeffed code
Anders Carlsson [Tue, 25 Nov 2008 17:16:39 +0000 (17:16 +0000)]
Remove more #ifdeffed code

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60033 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove the #ifdeffed out code.
Anders Carlsson [Tue, 25 Nov 2008 17:10:10 +0000 (17:10 +0000)]
Remove the #ifdeffed out code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60032 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd note about running the test suite with valgrind
Nuno Lopes [Tue, 25 Nov 2008 15:46:06 +0000 (15:46 +0000)]
add note about running the test suite with valgrind

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60029 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoremove unused var
Nuno Lopes [Tue, 25 Nov 2008 12:23:46 +0000 (12:23 +0000)]
remove unused var

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60018 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTest another error message, make sure to verify C++ new and delete tests
Douglas Gregor [Tue, 25 Nov 2008 04:08:05 +0000 (04:08 +0000)]
Test another error message, make sure to verify C++ new and delete tests

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60007 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSimple parsing of exception specifications, with no semantic analysis yet
Douglas Gregor [Tue, 25 Nov 2008 03:22:00 +0000 (03:22 +0000)]
Simple parsing of exception specifications, with no semantic analysis yet

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60005 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd documentation for test.
Zhongxing Xu [Tue, 25 Nov 2008 01:45:11 +0000 (01:45 +0000)]
Add documentation for test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60002 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoComment fix.
Daniel Dunbar [Tue, 25 Nov 2008 00:20:22 +0000 (00:20 +0000)]
Comment fix.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59997 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd no-warning to test case.
Zhongxing Xu [Mon, 24 Nov 2008 23:45:56 +0000 (23:45 +0000)]
Add no-warning to test case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59995 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPatch to remove bogus waring when a property declaration
Fariborz Jahanian [Mon, 24 Nov 2008 22:16:00 +0000 (22:16 +0000)]
Patch to remove bogus waring when a property declaration
is imported from a protocol into the implementation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59988 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove an empty if and add a reminder for when we implement C++ try-catch.
Sebastian Redl [Mon, 24 Nov 2008 21:45:59 +0000 (21:45 +0000)]
Remove an empty if and add a reminder for when we implement C++ try-catch.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59987 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDisplay the function we are analyzing before running LiveVariables.
Ted Kremenek [Mon, 24 Nov 2008 20:53:32 +0000 (20:53 +0000)]
Display the function we are analyzing before running LiveVariables.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59983 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix CFG bug where the 'increment' block for a 'for' statement would not be
Ted Kremenek [Mon, 24 Nov 2008 20:50:24 +0000 (20:50 +0000)]
Fix CFG bug where the 'increment' block for a 'for' statement would not be
properly reversed once constructed.

This fixes PR 3125:

http://llvm.org/bugs/show_bug.cgi?id=3125

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59982 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove some bad characters from comment.
Sebastian Redl [Mon, 24 Nov 2008 20:06:50 +0000 (20:06 +0000)]
Remove some bad characters from comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59979 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix the fix of revision 59974. Now array-struct.c passes too.
Sebastian Redl [Mon, 24 Nov 2008 19:39:40 +0000 (19:39 +0000)]
Fix the fix of revision 59974. Now array-struct.c passes too.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59975 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix crash of array bounds checking under 64-bit.
Sebastian Redl [Mon, 24 Nov 2008 19:35:33 +0000 (19:35 +0000)]
Fix crash of array bounds checking under 64-bit.
There might be other, similar bugs lurking there.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59974 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove FIXME comment.
Ted Kremenek [Mon, 24 Nov 2008 19:27:06 +0000 (19:27 +0000)]
Remove FIXME comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59973 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd support for AllocaRegion extent with GDM.
Zhongxing Xu [Mon, 24 Nov 2008 09:44:56 +0000 (09:44 +0000)]
Add support for AllocaRegion extent with GDM.

One design problem that is emerging is the signed-ness problem during static
analysis. Many unsigned value have to be converted into signed value because
it partipates in operations with signed values.

On the other hand, we cannot blindly make all values occuring in static analysis
signed, because we do have cases where unsignedness is required, for example,
integer overflow detection.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59957 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd utility methods.
Zhongxing Xu [Mon, 24 Nov 2008 09:38:21 +0000 (09:38 +0000)]
Add utility methods.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59956 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix 80-col violation.
Zhongxing Xu [Mon, 24 Nov 2008 07:38:01 +0000 (07:38 +0000)]
Fix 80-col violation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59954 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCleanup code with utility method.
Zhongxing Xu [Mon, 24 Nov 2008 07:02:06 +0000 (07:02 +0000)]
Cleanup code with utility method.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59951 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoChange a whole lot of diagnostics to take QualType's directly
Chris Lattner [Mon, 24 Nov 2008 06:25:27 +0000 (06:25 +0000)]
Change a whole lot of diagnostics to take QualType's directly
instead of converting them to strings first.  This also fixes a
bunch of minor inconsistencies in the diagnostics emitted by clang
and adds a bunch of FIXME's to DiagnosticKinds.def.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59948 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRename NamedDecl::getName() to getNameAsString(). Replace a bunch of
Chris Lattner [Mon, 24 Nov 2008 05:29:24 +0000 (05:29 +0000)]
Rename NamedDecl::getName() to getNameAsString().  Replace a bunch of
uses of getName() with uses of getDeclName().  This upgrades a bunch of
diags to take DeclNames instead of std::strings.

This also tweaks a couple of diagnostics to be cleaner and changes
CheckInitializerTypes/PerformInitializationByConstructor to pass
around DeclarationNames instead of std::strings.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59947 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoReimplement Expr::isConstantExpr in terms of Expr::Evaluate. This fixes PR2832.
Anders Carlsson [Mon, 24 Nov 2008 05:23:59 +0000 (05:23 +0000)]
Reimplement Expr::isConstantExpr in terms of Expr::Evaluate. This fixes PR2832.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59946 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago__builtin_constant_p takes an argument that can have any type.
Anders Carlsson [Mon, 24 Nov 2008 05:23:12 +0000 (05:23 +0000)]
__builtin_constant_p takes an argument that can have any type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59944 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoStrings are NULL terminated. So the region size should plus one.
Zhongxing Xu [Mon, 24 Nov 2008 05:16:01 +0000 (05:16 +0000)]
Strings are NULL terminated. So the region size should plus one.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59943 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoForgot the newline :)
Anders Carlsson [Mon, 24 Nov 2008 05:13:45 +0000 (05:13 +0000)]
Forgot the newline :)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59942 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd test case for bug that's been fixed.
Anders Carlsson [Mon, 24 Nov 2008 05:11:21 +0000 (05:11 +0000)]
Add test case for bug that's been fixed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59941 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoThe address of a variable is only constant if the variable has global storage.
Anders Carlsson [Mon, 24 Nov 2008 04:41:22 +0000 (04:41 +0000)]
The address of a variable is only constant if the variable has global storage.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59939 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix bug in the constant evaluator. Fixes PR3115.
Anders Carlsson [Mon, 24 Nov 2008 04:21:33 +0000 (04:21 +0000)]
Fix bug in the constant evaluator. Fixes PR3115.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59938 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMigrate some stuff from NamedDecl::getName() to
Chris Lattner [Mon, 24 Nov 2008 04:00:27 +0000 (04:00 +0000)]
Migrate some stuff from NamedDecl::getName() to
NamedDecl::getNameAsString() to make it more explicit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59937 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRename NamedDecl::getIdentifierName() to ::getNameAsCString() and make it
Chris Lattner [Mon, 24 Nov 2008 03:54:41 +0000 (03:54 +0000)]
Rename NamedDecl::getIdentifierName() to ::getNameAsCString() and make it
assert if the name is not an identifier.  Update callers to do the right
thing and avoid this method in unsafe cases.  This also fixes an objc
warning that was missing a space, and migrates a couple more to taking
IdentifierInfo and QualTypes instead of std::strings.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59936 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agosimplify this code.
Chris Lattner [Mon, 24 Nov 2008 03:52:59 +0000 (03:52 +0000)]
simplify this code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59935 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRename Selector::getName() to Selector::getAsString(), and add
Chris Lattner [Mon, 24 Nov 2008 03:33:13 +0000 (03:33 +0000)]
Rename Selector::getName() to Selector::getAsString(), and add
a new NamedDecl::getAsString() method.

Change uses of Selector::getName() to just pass in a Selector
where possible (e.g. to diagnostics) instead of going through
an std::string.

This also adds new formatters for objcinstance and objcclass
as described in the dox.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59933 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a comment about the signedness.
Zhongxing Xu [Mon, 24 Nov 2008 02:30:48 +0000 (02:30 +0000)]
Add a comment about the signedness.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59932 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd test case for out-of-bound memory access checking.
Zhongxing Xu [Mon, 24 Nov 2008 02:19:49 +0000 (02:19 +0000)]
Add test case for out-of-bound memory access checking.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59931 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd getSize() support for StringRegion.
Zhongxing Xu [Mon, 24 Nov 2008 02:18:56 +0000 (02:18 +0000)]
Add getSize() support for StringRegion.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59930 91177308-0d34-0410-b5e6-96231b3b80d8