]> granicus.if.org Git - clang/log
clang
15 years agoProperly "include" abs_path.
Ted Kremenek [Wed, 3 Dec 2008 19:50:37 +0000 (19:50 +0000)]
Properly "include" abs_path.

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

15 years agoUse abs_path to resolve symbolic links and '..' in report table.
Ted Kremenek [Wed, 3 Dec 2008 19:19:23 +0000 (19:19 +0000)]
Use abs_path to resolve symbolic links and '..' in report table.

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

15 years agoDon't have special treatment from pruning the common suffices of files in /Developer...
Ted Kremenek [Wed, 3 Dec 2008 19:16:58 +0000 (19:16 +0000)]
Don't have special treatment from pruning the common suffices of files in /Developer, /usr, etc.

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

15 years agoBasicConstraintManager:
Ted Kremenek [Wed, 3 Dec 2008 19:06:30 +0000 (19:06 +0000)]
BasicConstraintManager:
- Fix nonsensical logic in AssumeSymGE. When comparing 'sym >= constant' and the
  constant is the maximum integer value, add the constraint that 'sym ==
  constant' when the path is deemed feasible.  All other cases are feasible.
- Improve AssumeSymGT. When comparing 'sym > constant' and constant is the
  maximum integer value we know the path is infeasible.
- Add test case for this enhancement to AssumeSymGT.

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

15 years agoBasicConstraintManager:
Ted Kremenek [Wed, 3 Dec 2008 18:56:12 +0000 (18:56 +0000)]
BasicConstraintManager:
- Fix nonsensical logic in AssumeSymLE. When comparing 'sym <= constant' and the
  constant is the minimum integer value, add the constraint that 'sym ==
  constant' when the path is deemed feasible.  All other cases are feasible.
- Improve AssumeSymLT to address <rdar://problem/6407949>.  When comparing
  'sym < constant' and constant is the minimum integer value we know the
  path is infeasible.
- Add test case for <rdar://problem/6407949>.

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

15 years agoFix typo in index operator overloading.
Sebastian Redl [Wed, 3 Dec 2008 16:32:40 +0000 (16:32 +0000)]
Fix typo in index operator overloading.

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

15 years agoIf a global var decl has an initializer, make sure to always set its linkage to external.
Anders Carlsson [Wed, 3 Dec 2008 05:51:23 +0000 (05:51 +0000)]
If a global var decl has an initializer, make sure to always set its linkage to external.

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

15 years agoPTH:
Ted Kremenek [Wed, 3 Dec 2008 01:16:39 +0000 (01:16 +0000)]
PTH:
Use an array instead of a DenseMap to cache persistent IDs -> IdentifierInfo*.  This leads to a 4% speedup at -fsyntax-only using PTH.

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

15 years agoMore support for rewriting property getter/setters.
Steve Naroff [Wed, 3 Dec 2008 00:56:33 +0000 (00:56 +0000)]
More support for rewriting property getter/setters.

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

15 years agoUpdate Xcode project.
Ted Kremenek [Wed, 3 Dec 2008 00:38:43 +0000 (00:38 +0000)]
Update Xcode project.

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

15 years ago- Remove PTHManager.cpp. Move all of its functions to PTHLexer.cpp since some of...
Ted Kremenek [Wed, 3 Dec 2008 00:38:03 +0000 (00:38 +0000)]
- Remove PTHManager.cpp.  Move all of its functions to PTHLexer.cpp since some of the internal methods are used by PTHLexer (their implementations are intertwined.)  This enables some important inlining opportunities at -O3.

- Don't construct an std::vector<Token> prior to feeding PTH tokens to the Preprocessor.  Stream them off the PTH file directly.

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

15 years agoCorrect pretty printing of array new expressions.
Sebastian Redl [Tue, 2 Dec 2008 22:08:59 +0000 (22:08 +0000)]
Correct pretty printing of array new expressions.

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

15 years agoUpdate Xcode project.
Ted Kremenek [Tue, 2 Dec 2008 20:16:22 +0000 (20:16 +0000)]
Update Xcode project.

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

15 years agoAdd "-token-cache" option for using pretokenized cache files.
Ted Kremenek [Tue, 2 Dec 2008 19:57:31 +0000 (19:57 +0000)]
Add "-token-cache" option for using pretokenized cache files.

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

15 years agoPreprocessor:
Ted Kremenek [Tue, 2 Dec 2008 19:46:31 +0000 (19:46 +0000)]
Preprocessor:
- Added method "setPTHManager" that will be called by the driver to install
  a PTHManager for the Preprocessor.
- Fixed some comments.
- Added EnterSourceFileWithPTH to mirror EnterSourceFileWithLexer.

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

15 years agoAdded PTHManager, a utility class that will be used by Preprocessor to lazily create...
Ted Kremenek [Tue, 2 Dec 2008 19:45:05 +0000 (19:45 +0000)]
Added PTHManager, a utility class that will be used by Preprocessor to lazily create PTHLexer objects for pre-tokenized files.

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

15 years agoPTH emission:
Ted Kremenek [Tue, 2 Dec 2008 19:44:08 +0000 (19:44 +0000)]
PTH emission:
- Output 32 bit integers using bit-shifting + write of individual bytes.
  This is motivated because we aren't guaranteed to load 32-bit ints of the mmaped PTH file at 4-byte offsets.
- Don't emit flags for IdentifierInfos.  These are lazily populated by the Preprocessor/Parser.
- Only write out tokens for files with absolute paths.  This is potentially temporary, but simplifies things for now.

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

15 years agoMore type-checking of setter/getter methods. This is still
Fariborz Jahanian [Tue, 2 Dec 2008 18:39:49 +0000 (18:39 +0000)]
More type-checking of setter/getter methods. This is still
work in prgress.

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

15 years agollvm-ld doesnt support '-g', so aovid passing that opt to it
Nuno Lopes [Tue, 2 Dec 2008 18:19:03 +0000 (18:19 +0000)]
llvm-ld doesnt support '-g', so aovid passing that opt to it

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

15 years agoAdd a couple FIXME's.
Steve Naroff [Tue, 2 Dec 2008 17:54:50 +0000 (17:54 +0000)]
Add a couple FIXME's.

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

15 years agoMake sure synthesized properties get inserted into the classes/categories meta data.
Steve Naroff [Tue, 2 Dec 2008 17:36:43 +0000 (17:36 +0000)]
Make sure synthesized properties get inserted into the classes/categories meta data.

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

15 years agoParsing new and delete is now complete.
Sebastian Redl [Tue, 2 Dec 2008 17:22:40 +0000 (17:22 +0000)]
Parsing new and delete is now complete.

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

15 years agoAdd better comments to ::new parsing. Thanks to Doug for the review.
Sebastian Redl [Tue, 2 Dec 2008 17:10:24 +0000 (17:10 +0000)]
Add better comments to ::new parsing. Thanks to Doug for the review.

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

15 years agoMake RegionStoreManager::InitializeArray safe against array sizes that don't have...
Sebastian Redl [Tue, 2 Dec 2008 16:47:35 +0000 (16:47 +0000)]
Make RegionStoreManager::InitializeArray safe against array sizes that don't have pointer width.
This may be the case on 64-bit systems. Whether that fact is a bug is a different question, but it's easy to cure the symptom.

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

15 years agoMake the parser handle ::new and ::delete correctly.
Sebastian Redl [Tue, 2 Dec 2008 16:35:44 +0000 (16:35 +0000)]
Make the parser handle ::new and ::delete correctly.

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

15 years agoint-arith-convert.c makes assumptions about integer sizes, so force a specific archit...
Sebastian Redl [Tue, 2 Dec 2008 16:34:01 +0000 (16:34 +0000)]
int-arith-convert.c makes assumptions about integer sizes, so force a specific architecture

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

15 years agoUpdate cmake build; patch by Csaba Hruska.
Eli Friedman [Tue, 2 Dec 2008 16:23:30 +0000 (16:23 +0000)]
Update cmake build; patch by Csaba Hruska.

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

15 years agoSimplify previous commit.
Steve Naroff [Tue, 2 Dec 2008 16:05:55 +0000 (16:05 +0000)]
Simplify previous commit.

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

15 years agoFix for PR3150: obvious copy-paste bug in
Eli Friedman [Tue, 2 Dec 2008 16:02:46 +0000 (16:02 +0000)]
Fix for PR3150: obvious copy-paste bug in
ScalarExprEmitter::VisitBinLOr.

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

15 years agoMore work to rewrite synthesize properties (<rdar://problem/6213955>)
Steve Naroff [Tue, 2 Dec 2008 15:48:25 +0000 (15:48 +0000)]
More work to rewrite synthesize properties (<rdar://problem/6213955>)

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

15 years agoHandle new by passing the Declaration to the Action, not a processed type.
Sebastian Redl [Tue, 2 Dec 2008 14:43:59 +0000 (14:43 +0000)]
Handle new by passing the Declaration to the Action, not a processed type.

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

15 years agoAdd FIXME.
Ted Kremenek [Tue, 2 Dec 2008 01:26:07 +0000 (01:26 +0000)]
Add FIXME.

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

15 years agoDisabling this code due to regression on test/CodeGen/bitfield.c. See
Eli Friedman [Tue, 2 Dec 2008 01:17:45 +0000 (01:17 +0000)]
Disabling this code due to regression on test/CodeGen/bitfield.c.  See
PR3152.

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

15 years agoA little more scaffolding for parsing templates:
Douglas Gregor [Tue, 2 Dec 2008 00:41:28 +0000 (00:41 +0000)]
A little more scaffolding for parsing templates:
  - Template parameter scope to hold the template parameters
  - Template parameter context for parsing declarators
  - Actions for template type parameters and non-type template
    parameters

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

15 years agoThis patch corrects problem in searching for a setter/getter method for
Fariborz Jahanian [Tue, 2 Dec 2008 00:19:12 +0000 (00:19 +0000)]
This patch corrects problem in searching for a setter/getter method for
a property. Previous scheme of seaching in interface's list of methods
would not work because this list is not yet constructed. This is in preparation
for doing semantic check on viability of setter/getter method declarations.

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

15 years agoBasic support for parsing templates, from Andrew Sutton
Douglas Gregor [Mon, 1 Dec 2008 23:54:00 +0000 (23:54 +0000)]
Basic support for parsing templates, from Andrew Sutton

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

15 years agoImprove error recovery when parsing a function definition fails
Douglas Gregor [Mon, 1 Dec 2008 23:03:32 +0000 (23:03 +0000)]
Improve error recovery when parsing a function definition fails

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

15 years agoInitialize storage class even if we got an erroneous mutable
Douglas Gregor [Mon, 1 Dec 2008 22:46:22 +0000 (22:46 +0000)]
Initialize storage class even if we got an erroneous mutable

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

15 years agoObjective-C keywords are not always identifiers. Some are also C++ keywords
Douglas Gregor [Mon, 1 Dec 2008 21:46:47 +0000 (21:46 +0000)]
Objective-C keywords are not always identifiers. Some are also C++ keywords

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

15 years agoFix RUN line
Douglas Gregor [Mon, 1 Dec 2008 21:17:52 +0000 (21:17 +0000)]
Fix RUN line

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

15 years ago-Add several ObjC types to Decl::getDeclKindName(), a useful debug hook.
Steve Naroff [Mon, 1 Dec 2008 20:33:01 +0000 (20:33 +0000)]
-Add several ObjC types to Decl::getDeclKindName(), a useful debug hook.
-Start adding support for rewriting @synthesize.

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

15 years agoTest blocks in C++ mode
Douglas Gregor [Mon, 1 Dec 2008 19:48:06 +0000 (19:48 +0000)]
Test blocks in C++ mode

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

15 years agoUse EmitInt, not Emit, to emit unsigned values
Douglas Gregor [Mon, 1 Dec 2008 19:45:16 +0000 (19:45 +0000)]
Use EmitInt, not Emit, to emit unsigned values

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

15 years agoAdd test case for __ASSEMBLER__ definition.
Daniel Dunbar [Mon, 1 Dec 2008 19:23:47 +0000 (19:23 +0000)]
Add test case for __ASSEMBLER__ definition.

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

15 years agoAdd LangOptions marker for assembler-with-cpp mode and use to define
Daniel Dunbar [Mon, 1 Dec 2008 18:55:22 +0000 (18:55 +0000)]
Add LangOptions marker for assembler-with-cpp mode and use to define
__ASSEMBLER__ properly. Patch from Roman Divacky (with minor
formatting changes). Thanks!

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

15 years agoEnable blocks in C++
Douglas Gregor [Mon, 1 Dec 2008 18:34:47 +0000 (18:34 +0000)]
Enable blocks in C++

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

15 years agoMake sure __null test runs in both 32- and 64-bit. Thanks Anders
Douglas Gregor [Mon, 1 Dec 2008 18:05:11 +0000 (18:05 +0000)]
Make sure __null test runs in both 32- and 64-bit. Thanks Anders

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

15 years agoParse the exception-specification throw(...), a Microsoft extension
Douglas Gregor [Mon, 1 Dec 2008 18:00:20 +0000 (18:00 +0000)]
Parse the exception-specification throw(...), a Microsoft extension

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

15 years agoAdd the test for __null
Douglas Gregor [Mon, 1 Dec 2008 17:31:21 +0000 (17:31 +0000)]
Add the test for __null

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

15 years agoDefine NULL to __null in C++, so that it's guaranteed to have the same size as a...
Douglas Gregor [Mon, 1 Dec 2008 17:20:57 +0000 (17:20 +0000)]
Define NULL to __null in C++, so that it's guaranteed to have the same size as a pointer

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

15 years agoGenerate the correct results for the comma expression. Fixes PR3123.
Anders Carlsson [Mon, 1 Dec 2008 06:44:05 +0000 (06:44 +0000)]
Generate the correct results for the comma expression. Fixes PR3123.

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

15 years agoRevert change that made isNullPointerConstant start emitting warnings. We don't want...
Anders Carlsson [Mon, 1 Dec 2008 06:28:23 +0000 (06:28 +0000)]
Revert change that made isNullPointerConstant start emitting warnings. We don't want that :)

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

15 years agoFix test. (0 && (a(),1)) is a valid I-C-E according to C99.
Anders Carlsson [Mon, 1 Dec 2008 06:27:38 +0000 (06:27 +0000)]
Fix test. (0 && (a(),1)) is a valid I-C-E according to C99.

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

15 years agoChange more code over to using the new Expr::Evaluate
Anders Carlsson [Mon, 1 Dec 2008 02:46:24 +0000 (02:46 +0000)]
Change more code over to using the new Expr::Evaluate

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

15 years agoChange more code over to using the new Expr::Evaluate
Anders Carlsson [Mon, 1 Dec 2008 02:42:14 +0000 (02:42 +0000)]
Change more code over to using the new Expr::Evaluate

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

15 years agoUse the new Expr::Evaluate
Anders Carlsson [Mon, 1 Dec 2008 02:31:41 +0000 (02:31 +0000)]
Use the new Expr::Evaluate

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

15 years agoRemove dead code.
Anders Carlsson [Mon, 1 Dec 2008 02:25:52 +0000 (02:25 +0000)]
Remove dead code.

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

15 years agoAdd Sema::isNullPointerConstant which extwarns if necessary. Use it in Sema::CheckCon...
Anders Carlsson [Mon, 1 Dec 2008 02:17:22 +0000 (02:17 +0000)]
Add Sema::isNullPointerConstant which extwarns if necessary. Use it in Sema::CheckConditionalOperands.

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

15 years agoAdd a new variant of isNullConstantExpr that returns an EvalResult.
Anders Carlsson [Mon, 1 Dec 2008 02:13:57 +0000 (02:13 +0000)]
Add a new variant of isNullConstantExpr that returns an EvalResult.

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

15 years agoUse VerifyIntegerConstantExpression for case values.
Anders Carlsson [Mon, 1 Dec 2008 02:13:02 +0000 (02:13 +0000)]
Use VerifyIntegerConstantExpression for case values.

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

15 years agoEmit the correct diagnostic when a comma is in an ICE.
Anders Carlsson [Mon, 1 Dec 2008 02:07:06 +0000 (02:07 +0000)]
Emit the correct diagnostic when a comma is in an ICE.

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

15 years agoAdd Sema::VerifyIntegerConstantExpression
Anders Carlsson [Sun, 30 Nov 2008 19:50:32 +0000 (19:50 +0000)]
Add Sema::VerifyIntegerConstantExpression

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

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