]> granicus.if.org Git - clang/log
clang
16 years agoFixed some logic errors in the CF ref count checker; we now can detect simple
Ted Kremenek [Thu, 10 Apr 2008 23:44:06 +0000 (23:44 +0000)]
Fixed some logic errors in the CF ref count checker; we now can detect simple
use-after-release errors.  Added test case.

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

16 years agoPatch for:
Fariborz Jahanian [Thu, 10 Apr 2008 23:32:45 +0000 (23:32 +0000)]
Patch for:
1) objc ivar processing is split out of ActOnField into its own ActOnIvar method.
2) the new objc ivar action takes visibility info directly, eliminating
  AllVisibilities in ParseObjCClassInstanceVariables.

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

16 years agoSimplify CF ref. count checker state machine.
Ted Kremenek [Thu, 10 Apr 2008 23:09:18 +0000 (23:09 +0000)]
Simplify CF ref. count checker state machine.

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

16 years agoFix some bonehead bugs in summary generation in CFRefCount.
Ted Kremenek [Thu, 10 Apr 2008 22:58:08 +0000 (22:58 +0000)]
Fix some bonehead bugs in summary generation in CFRefCount.

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

16 years agoUsed --checker-simple.
Ted Kremenek [Thu, 10 Apr 2008 22:17:23 +0000 (22:17 +0000)]
Used --checker-simple.

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

16 years agoRefactored all logic to run the GRSimpleVals and CFRef checker into a common
Ted Kremenek [Thu, 10 Apr 2008 22:16:52 +0000 (22:16 +0000)]
Refactored all logic to run the GRSimpleVals and CFRef checker into a common
code path in the clang driver.

Renamed options --grsimple to -checker-simple and -check-cfref to -checker-cfref.

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

16 years agoreduce the amount of 'C++ magic' this code depends on :)
Chris Lattner [Thu, 10 Apr 2008 16:37:40 +0000 (16:37 +0000)]
reduce the amount of 'C++ magic' this code depends on :)

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

16 years agoCFRefCount analysis now properly calls "EmitWarnings" after analyzing a function.
Ted Kremenek [Thu, 10 Apr 2008 16:21:09 +0000 (16:21 +0000)]
CFRefCount analysis now properly calls "EmitWarnings" after analyzing a function.

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

16 years agoWhen not emitting path diagnostics in BugReporter::EmitWarning(), use the
Ted Kremenek [Thu, 10 Apr 2008 16:12:38 +0000 (16:12 +0000)]
When not emitting path diagnostics in BugReporter::EmitWarning(), use the
BugReport-specific SourceRanges (when available).

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

16 years agoFixed regressions in error reporting due to copy-paste errors (using the "begin"
Ted Kremenek [Thu, 10 Apr 2008 16:05:13 +0000 (16:05 +0000)]
Fixed regressions in error reporting due to copy-paste errors (using the "begin"
iterator instead of "end") and not implementing "getDescription()" for Nil
argument checks.

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

16 years agorefactor Parser::ParseStructDeclaration to return a vector of uninterpreted
Chris Lattner [Thu, 10 Apr 2008 06:46:29 +0000 (06:46 +0000)]
refactor Parser::ParseStructDeclaration to return a vector of uninterpreted
declarators.  This allows the clients (C structs, objc classes, objc
properties, [future] C++ classes) etc, to do custom processing before invoking
an action.

This has two benefits in the short term:
1) objc ivar processing should be split out of ActOnField into its own ActOn method.
2) the new objc ivar action can take visibility info directly, eliminating
   AllVisibilities in ParseObjCClassInstanceVariables.
3) objc properties can pass their own special sauce down to sema as well.

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

16 years agoSimplify lifetime of location object.
Chris Lattner [Thu, 10 Apr 2008 06:15:14 +0000 (06:15 +0000)]
Simplify lifetime of location object.

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

16 years agoFix typo.
Eric Christopher [Thu, 10 Apr 2008 05:23:15 +0000 (05:23 +0000)]
Fix typo.

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

16 years ago typedef void T;
Chris Lattner [Thu, 10 Apr 2008 02:26:16 +0000 (02:26 +0000)]
 typedef void T;
 void f(T);

is only invalid in C++ mode, not C89 mode.

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

16 years agoSeveral improvements from Doug Gregor related to default
Chris Lattner [Thu, 10 Apr 2008 02:22:51 +0000 (02:22 +0000)]
Several improvements from Doug Gregor related to default
argument handling.  I'll fix up the c89 (void) thing next.

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

16 years agoHooked up initial reference-count checks to the BugReporter interface.
Ted Kremenek [Wed, 9 Apr 2008 23:49:11 +0000 (23:49 +0000)]
Hooked up initial reference-count checks to the BugReporter interface.

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

16 years agoMajor refactoring/cleanup of GRExprEngine, ExplodedGraph, and BugReporter.
Ted Kremenek [Wed, 9 Apr 2008 21:41:14 +0000 (21:41 +0000)]
Major refactoring/cleanup of GRExprEngine, ExplodedGraph, and BugReporter.

Bugs are now reported using a combination of "BugType" (previously
BugDescription) and Bug "BugReport" objects, which are fed to BugReporter (which
generates PathDiagnostics). This provides a far more modular way of registering
bug types and plugging in diagnostics.

GRExprEngine now owns its copy of GRCoreEngine, and is not owned by the
ExplodedGraph.

ExplodedGraph is no longer templated on the "checker", but instead on the state
contained in the nodes.

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

16 years agoThe dtor CGObjCRuntime::~CGObjCRuntime() was implemented twice, once
Ted Kremenek [Wed, 9 Apr 2008 15:51:31 +0000 (15:51 +0000)]
The dtor CGObjCRuntime::~CGObjCRuntime() was implemented twice, once
in CGObjCGNU.cpp and once in CGObjCEtoile.cpp.  Moved its definition to
CGObjC.cpp.  This resolves a build error in Xcode, and also cleans things up.

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

16 years agoAdd SemaDeclCXX.cpp to Xcode project.
Ted Kremenek [Wed, 9 Apr 2008 15:50:11 +0000 (15:50 +0000)]
Add SemaDeclCXX.cpp to Xcode project.

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

16 years agoMicro-optimization: Don't use ostringstream when using a C-string literal
Ted Kremenek [Wed, 9 Apr 2008 15:40:40 +0000 (15:40 +0000)]
Micro-optimization: Don't use ostringstream when using a C-string literal
will work just fine.

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

16 years agoAdded some boilerplate for emitting warnings from the CF-reference count checker.
Ted Kremenek [Wed, 9 Apr 2008 01:10:13 +0000 (01:10 +0000)]
Added some boilerplate for emitting warnings from the CF-reference count checker.

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

16 years agoAdded new "BugReporterHelper" class which is used by BugReporter to emit
Ted Kremenek [Wed, 9 Apr 2008 00:20:43 +0000 (00:20 +0000)]
Added new "BugReporterHelper" class which is used by BugReporter to emit
checker-specific diagnostics.

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

16 years agoFor -emit-html, use the Rewriter to expand tabs.
Ted Kremenek [Tue, 8 Apr 2008 23:25:54 +0000 (23:25 +0000)]
For -emit-html, use the Rewriter to expand tabs.

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

16 years agoDon't expand tabs in EscapeText, but rather expand them when writing out
Ted Kremenek [Tue, 8 Apr 2008 22:37:58 +0000 (22:37 +0000)]
Don't expand tabs in EscapeText, but rather expand them when writing out
the HTML file.  This should reduce the amount of memory pressure on the
rewriter for files that have a lot of tabs.

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

16 years agoAdd HTMLRewrite.h to Xcode project.
Ted Kremenek [Tue, 8 Apr 2008 22:31:28 +0000 (22:31 +0000)]
Add HTMLRewrite.h to Xcode project.

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

16 years agoWhen substituting tabs during HTMLification, only add " " when we are
Ted Kremenek [Tue, 8 Apr 2008 22:28:15 +0000 (22:28 +0000)]
When substituting tabs during HTMLification, only add " " when we are
"escaping" spaces.

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

16 years agoImprove range highlighting in HTMLDiagnostic to correctly highlight ranges
Ted Kremenek [Tue, 8 Apr 2008 21:29:14 +0000 (21:29 +0000)]
Improve range highlighting in HTMLDiagnostic to correctly highlight ranges
that span multiple lines by inserting multiple "</span>" and "<span>" tags.

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

16 years agoMake SourceManager::getFullFilePos() public.
Ted Kremenek [Tue, 8 Apr 2008 21:26:35 +0000 (21:26 +0000)]
Make SourceManager::getFullFilePos() public.

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

16 years agoChanged the Decl::Kind enum of the ObjCPropertyDecl class, so that it follows
Sam Bishop [Tue, 8 Apr 2008 20:49:25 +0000 (20:49 +0000)]
Changed the Decl::Kind enum of the ObjCPropertyDecl class, so that it follows
the pattern of the other Decl classes.

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

16 years agoSet the location of ccc-analyzer to be the same directory as where scan-build
Ted Kremenek [Tue, 8 Apr 2008 20:22:12 +0000 (20:22 +0000)]
Set the location of ccc-analyzer to be the same directory as where scan-build
is located.

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

16 years agosilence some warnings when assertions are disabled.
Chris Lattner [Tue, 8 Apr 2008 05:52:18 +0000 (05:52 +0000)]
silence some warnings when assertions are disabled.

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

16 years agoAdd support for C++ default arguments, and rework Parse-Sema
Chris Lattner [Tue, 8 Apr 2008 05:04:30 +0000 (05:04 +0000)]
Add support for C++ default arguments, and rework Parse-Sema
interaction for function parameters, fixing PR2046.

Patch by Doug Gregor!

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

16 years agoAdd support for C++ default arguments, and rework Parse-Sema
Chris Lattner [Tue, 8 Apr 2008 04:40:51 +0000 (04:40 +0000)]
Add support for C++ default arguments, and rework Parse-Sema
interaction for function parameters, fixing PR2046.

Patch by Doug Gregor!

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

16 years agoFix rdar://5846705: "clang -E foo.c -o foo.i" should remove foo.i on error.
Chris Lattner [Tue, 8 Apr 2008 04:16:20 +0000 (04:16 +0000)]
Fix rdar://5846705: "clang -E foo.c -o foo.i" should remove foo.i on error.

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

16 years agoAdd ids for line numbers, allowing us to jump to arbitrary line numbers within
Ted Kremenek [Mon, 7 Apr 2008 23:53:30 +0000 (23:53 +0000)]
Add ids for line numbers, allowing us to jump to arbitrary line numbers within
an HTMLified source file.

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

16 years agoLeft-justify text in report table.
Ted Kremenek [Mon, 7 Apr 2008 23:50:07 +0000 (23:50 +0000)]
Left-justify text in report table.

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

16 years agoTweak message bubble color (gold)
Ted Kremenek [Mon, 7 Apr 2008 23:43:44 +0000 (23:43 +0000)]
Tweak message bubble color (gold)

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

16 years agoImprove BugReport diagnostics for loops and ? operator.
Ted Kremenek [Mon, 7 Apr 2008 23:35:17 +0000 (23:35 +0000)]
Improve BugReport diagnostics for loops and ? operator.

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

16 years agoFix analyzer breakage introduced by r49213: http://llvm.org/viewvc/llvm-project?rev...
Ted Kremenek [Mon, 7 Apr 2008 23:27:54 +0000 (23:27 +0000)]
Fix analyzer breakage introduced by r49213: http://llvm.org/viewvc/llvm-project?rev=49213&view=rev

The problem is that some clients of gcc lookout at the stdout output of gcc;
this requires that all the analyzer diagnostics go to stderr to avoid polluting
stdout.

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

16 years agoPass the ASTContext object around when deserializing Decl and Stmt objects, so
Sam Bishop [Mon, 7 Apr 2008 21:55:54 +0000 (21:55 +0000)]
Pass the ASTContext object around when deserializing Decl and Stmt objects, so
they can be created using the same allocator as in the "from source code" case.

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

16 years agoHave Parser::FuzzyParseMicrosoftAsmStatement() return the null statement (';').
Steve Naroff [Mon, 7 Apr 2008 21:06:54 +0000 (21:06 +0000)]
Have Parser::FuzzyParseMicrosoftAsmStatement() return the null statement (';').

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

16 years agorandom whitespace fixes.
Chris Lattner [Mon, 7 Apr 2008 07:01:58 +0000 (07:01 +0000)]
random whitespace fixes.

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

16 years agofix a bug I introduced in my previous checkin.
Chris Lattner [Mon, 7 Apr 2008 06:58:21 +0000 (06:58 +0000)]
fix a bug I introduced in my previous checkin.

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

16 years agosimplify array compatibility testing.
Chris Lattner [Mon, 7 Apr 2008 06:56:55 +0000 (06:56 +0000)]
simplify array compatibility testing.

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

16 years agosimplify reference handling.
Chris Lattner [Mon, 7 Apr 2008 06:52:53 +0000 (06:52 +0000)]
simplify reference handling.

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

16 years agomove some code around, no other change.
Chris Lattner [Mon, 7 Apr 2008 06:51:04 +0000 (06:51 +0000)]
move some code around, no other change.

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

16 years agosimplify compatibility testing for tag types.
Chris Lattner [Mon, 7 Apr 2008 06:49:41 +0000 (06:49 +0000)]
simplify compatibility testing for tag types.

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

16 years agomerge compatibility testing of qualified/unqualified interfaces together
Chris Lattner [Mon, 7 Apr 2008 06:38:24 +0000 (06:38 +0000)]
merge compatibility testing of qualified/unqualified interfaces together
and fix a bug.

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

16 years agoFix a really bad bug where type uniquing would merge a<x> with b<x> as the same
Chris Lattner [Mon, 7 Apr 2008 06:37:47 +0000 (06:37 +0000)]
Fix a really bad bug where type uniquing would merge a<x> with b<x> as the same
type, because it did not include a/b in the hash.

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

16 years agoMyOtherClass<MyProtocol>* is compatible with MyClass*
Chris Lattner [Mon, 7 Apr 2008 06:06:56 +0000 (06:06 +0000)]
MyOtherClass<MyProtocol>* is compatible with MyClass*
if MyClass is a superclass of MyOtherClass, there is no need for
an exact interface match.

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

16 years agoRemove a dead check for compatible builtin types
Chris Lattner [Mon, 7 Apr 2008 05:55:38 +0000 (05:55 +0000)]
Remove a dead check for compatible builtin types

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

16 years agofuther simplify compatibility testing of objc interface types.
Chris Lattner [Mon, 7 Apr 2008 05:53:18 +0000 (05:53 +0000)]
futher simplify compatibility testing of objc interface types.

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

16 years agoocuvector and vector should be compatible. Fix ASQual compatibility.
Chris Lattner [Mon, 7 Apr 2008 05:43:21 +0000 (05:43 +0000)]
ocuvector and vector should be compatible.  Fix ASQual compatibility.

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

16 years agoFix comment typo, do reference eval at the correct type.
Chris Lattner [Mon, 7 Apr 2008 05:37:56 +0000 (05:37 +0000)]
Fix comment typo, do reference eval at the correct type.

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

16 years agosimplify vector type compatibility testing.
Chris Lattner [Mon, 7 Apr 2008 05:36:14 +0000 (05:36 +0000)]
simplify vector type compatibility testing.

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

16 years agomove ObjCQualifiedIdTypesAreCompatible out of ASTContext into Sema.
Chris Lattner [Mon, 7 Apr 2008 05:30:13 +0000 (05:30 +0000)]
move ObjCQualifiedIdTypesAreCompatible out of ASTContext into Sema.
While it is similar to the other compatibility predicates in ASTContext,
it is not used by them and is different.

In addition, greatly simplify ObjCQualifiedIdTypesAreCompatible and
fix some canonical type bugs.  Also, simplify my Type::getAsObjC* methods.

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

16 years agoReplace an O(n^2) algorithm in areCompatObjCQualInterfaces with
Chris Lattner [Mon, 7 Apr 2008 05:05:41 +0000 (05:05 +0000)]
Replace an O(n^2) algorithm in areCompatObjCQualInterfaces with
an O(n) algorithm by taking advantage of the fact that the
protocol qualifier list is already guaranteed sorted.

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

16 years agoimprove comments.
Chris Lattner [Mon, 7 Apr 2008 04:58:07 +0000 (04:58 +0000)]
improve comments.

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

16 years agomove sorting of qualifying protocols from the parser into
Chris Lattner [Mon, 7 Apr 2008 04:56:42 +0000 (04:56 +0000)]
move sorting of qualifying protocols from the parser into
sema.  This allows clients of the parser to have the unmolested
list if desired, and guarantees that noone can create an
ObjCQualifiedInterfaceType with an unsorted list.

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

16 years agoadd an example.
Chris Lattner [Mon, 7 Apr 2008 04:47:29 +0000 (04:47 +0000)]
add an example.

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

16 years agoeliminate getReferencedProtocols from
Chris Lattner [Mon, 7 Apr 2008 04:44:08 +0000 (04:44 +0000)]
eliminate getReferencedProtocols from
ObjCQualifiedIdType/ObjCQualifiedInterfaceType, adding an interator
interface instead.

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

16 years agomake QualifiedInterfaceTypesAreCompatible a static function
Chris Lattner [Mon, 7 Apr 2008 04:17:40 +0000 (04:17 +0000)]
make QualifiedInterfaceTypesAreCompatible a static function
and start simplifying it.

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

16 years agoThis predicate is just a generic "issuperclass" predicate, move it to the
Chris Lattner [Mon, 7 Apr 2008 04:13:03 +0000 (04:13 +0000)]
This predicate is just a generic "issuperclass" predicate, move it to the
ObjCInterfaceType as a method.

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

16 years agoSimplify some objc compatibility testing, make interfaceTypesAreCompatible
Chris Lattner [Mon, 7 Apr 2008 04:07:56 +0000 (04:07 +0000)]
Simplify some objc compatibility testing, make interfaceTypesAreCompatible
a static function named isCompatibleInterfaceAssign.

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

16 years agosimplify the logic in ASTContext::objcTypesAreCompatible
Chris Lattner [Mon, 7 Apr 2008 01:30:37 +0000 (01:30 +0000)]
simplify the logic in ASTContext::objcTypesAreCompatible

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

16 years agoclean up some logic in objc type handling. Specifically, make it so that
Chris Lattner [Mon, 7 Apr 2008 00:27:04 +0000 (00:27 +0000)]
clean up some logic in objc type handling.  Specifically, make it so that
there are QualType::getAsObjc* type methods, and make isa<ObjCInterfaceType>
return true for ObjCQualifiedInterfaceType's.

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

16 years agotrivial changes to getFloatingTypeOfSizeWithinDomain, nothing significant.
Chris Lattner [Sun, 6 Apr 2008 23:58:54 +0000 (23:58 +0000)]
trivial changes to getFloatingTypeOfSizeWithinDomain, nothing significant.

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

16 years agosimplify max type computation by making it return an integer (like
Chris Lattner [Sun, 6 Apr 2008 23:55:33 +0000 (23:55 +0000)]
simplify max type computation by making it return an integer (like
getFloatingTypeOrder) instead of a type.  Fix a fixme.

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

16 years agominor simplifications/cleanups to type comparisons.
Chris Lattner [Sun, 6 Apr 2008 23:38:49 +0000 (23:38 +0000)]
minor simplifications/cleanups to type comparisons.

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

16 years agoremove the Decl::getCanonicalType() method.
Chris Lattner [Sun, 6 Apr 2008 23:10:54 +0000 (23:10 +0000)]
remove the Decl::getCanonicalType() method.

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

16 years agoremove a use of getCanonicalType.
Chris Lattner [Sun, 6 Apr 2008 23:09:52 +0000 (23:09 +0000)]
remove a use of getCanonicalType.

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

16 years agoStart switching clients over from CT.getCanonicalType() to Context.getCanonicalType...
Chris Lattner [Sun, 6 Apr 2008 22:59:24 +0000 (22:59 +0000)]
Start switching clients over from CT.getCanonicalType() to Context.getCanonicalType(CT) for PR2189.

While I'm at it, clean up a bit of maxIntegerType.

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

16 years agointroduce a new ASTContext::getCanonicalType method. This is the first
Chris Lattner [Sun, 6 Apr 2008 22:41:35 +0000 (22:41 +0000)]
introduce a new ASTContext::getCanonicalType method.  This is the first
step towards fixing PR2189.

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

16 years agoremove the old non-parallel test system. 'make' in clang/test now runs
Chris Lattner [Sun, 6 Apr 2008 22:32:01 +0000 (22:32 +0000)]
remove the old non-parallel test system.  'make' in clang/test now runs
the tests in parallel.

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

16 years agoUse EnumType to simplify some code.
Chris Lattner [Sun, 6 Apr 2008 22:29:16 +0000 (22:29 +0000)]
Use EnumType to simplify some code.

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

16 years agomake use of EnumType to simplify some code, eliminate warnings
Chris Lattner [Sun, 6 Apr 2008 22:05:18 +0000 (22:05 +0000)]
make use of EnumType to simplify some code, eliminate warnings
when assertions are disabled.

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

16 years agoMake EnumType/RecordType classof predicates simpler and more efficient in
Chris Lattner [Sun, 6 Apr 2008 22:04:54 +0000 (22:04 +0000)]
Make EnumType/RecordType classof predicates simpler and more efficient in
some cases.

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

16 years agoadd a helper EnumType object for asking about tagtypes for enums.
Chris Lattner [Sun, 6 Apr 2008 21:58:47 +0000 (21:58 +0000)]
add a helper EnumType object for asking about tagtypes for enums.

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

16 years agotracking API changes arising from r49277
Gabor Greif [Sun, 6 Apr 2008 20:42:52 +0000 (20:42 +0000)]
tracking API changes arising from r49277

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

16 years agomove a semantic check out of the parser into sema.
Chris Lattner [Sun, 6 Apr 2008 07:49:57 +0000 (07:49 +0000)]
move a semantic check out of the parser into sema.

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

16 years agonow that identifier list parsing is split out, simplify handling of
Chris Lattner [Sun, 6 Apr 2008 06:57:35 +0000 (06:57 +0000)]
now that identifier list parsing is split out, simplify handling of
normal typed argument lists.

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

16 years agoreject 'int test(x, x) int x; {}'
Chris Lattner [Sun, 6 Apr 2008 06:50:56 +0000 (06:50 +0000)]
reject 'int test(x, x) int x; {}'

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

16 years agoreject 'typedef int y; int test(x, y)'.
Chris Lattner [Sun, 6 Apr 2008 06:47:48 +0000 (06:47 +0000)]
reject 'typedef int y; int test(x, y)'.

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

16 years agosimplify Parser::ParseFunctionDeclaratorIdentifierList
Chris Lattner [Sun, 6 Apr 2008 06:39:19 +0000 (06:39 +0000)]
simplify Parser::ParseFunctionDeclaratorIdentifierList

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

16 years agosplit parsing of identifier lists in function declarators out into
Chris Lattner [Sun, 6 Apr 2008 06:34:08 +0000 (06:34 +0000)]
split parsing of identifier lists in function declarators out into
their own method.

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

16 years agominor simplification
Chris Lattner [Sun, 6 Apr 2008 06:03:03 +0000 (06:03 +0000)]
minor simplification

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

16 years agofinish up throw parsing.
Chris Lattner [Sun, 6 Apr 2008 06:02:23 +0000 (06:02 +0000)]
finish up throw parsing.

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

16 years agosplit code for handling grouping parens in declarators from code that
Chris Lattner [Sun, 6 Apr 2008 05:45:57 +0000 (05:45 +0000)]
split code for handling grouping parens in declarators from code that
handles function argument parens in declarators.

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

16 years agoanother minor simplification
Chris Lattner [Sun, 6 Apr 2008 05:27:21 +0000 (05:27 +0000)]
another minor simplification

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

16 years agoUse token lookahead to simplify some code that is rarely executed.
Chris Lattner [Sun, 6 Apr 2008 05:26:30 +0000 (05:26 +0000)]
Use token lookahead to simplify some code that is rarely executed.
Since it is rare, the cost is not significant and we enjoy the
simplification.

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

16 years agoFix a bug I introduced in my const'ification patch.
Chris Lattner [Sun, 6 Apr 2008 05:25:03 +0000 (05:25 +0000)]
Fix a bug I introduced in my const'ification patch.

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

16 years agoThis patch contains these changes:
Chris Lattner [Sun, 6 Apr 2008 04:47:34 +0000 (04:47 +0000)]
This patch contains these changes:

-Renamed ContextDecl -> DeclContext
-Removed DeclContext pointer from FieldDecl
-EnumDecl inherits from DeclContext, instead of TagDecl

Patch by Argiris Kirtzidis!

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

16 years agofix css font name, patch by Cédric Venet
Chris Lattner [Sun, 6 Apr 2008 04:37:21 +0000 (04:37 +0000)]
fix css font name, patch by Cédric Venet

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

16 years agodon't dereference hte end iterator when inserting at end of buffer.
Chris Lattner [Sun, 6 Apr 2008 04:36:15 +0000 (04:36 +0000)]
don't dereference hte end iterator when inserting at end of buffer.
Patch by Cédric Venet!

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

16 years agotemplates can't be static.
Chris Lattner [Sun, 6 Apr 2008 04:22:39 +0000 (04:22 +0000)]
templates can't be static.

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

16 years agofix a number of const qualification bugs.
Chris Lattner [Sun, 6 Apr 2008 04:11:27 +0000 (04:11 +0000)]
fix a number of const qualification bugs.

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

16 years agoadd a missing #include
Chris Lattner [Sun, 6 Apr 2008 04:02:29 +0000 (04:02 +0000)]
add a missing #include

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

16 years agoFix handling of implicit int, resolving PR2012 and reverting (and
Chris Lattner [Sat, 5 Apr 2008 06:32:51 +0000 (06:32 +0000)]
Fix handling of implicit int, resolving PR2012 and reverting (and
subsuming) my patch for PR1999.

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

16 years agoStep #1 to fixing PR2012: c89 allows declspecs to be completely
Chris Lattner [Sat, 5 Apr 2008 05:52:15 +0000 (05:52 +0000)]
Step #1 to fixing PR2012: c89 allows declspecs to be completely
missing from function definitions only.  If we see a function
definiton with missing declspecs, just fudge in an int.

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

16 years agoAvoid implicitly including any header files (requested by ckane).
Steve Naroff [Fri, 4 Apr 2008 22:58:22 +0000 (22:58 +0000)]
Avoid implicitly including any header files (requested by ckane).

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