]>
granicus.if.org Git - clang/log
Sam Bishop [Fri, 11 Apr 2008 18:04:39 +0000 (18:04 +0000)]
Invoke destructors in Decl::Destroy().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49547
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 11 Apr 2008 16:55:42 +0000 (16:55 +0000)]
Minor changes per Chris L's review.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49539
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 11 Apr 2008 16:20:41 +0000 (16:20 +0000)]
don't read off the front of the buffer. Thanks to Sam for pointing this out.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49535
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sam Bishop [Fri, 11 Apr 2008 15:01:25 +0000 (15:01 +0000)]
Stub out and start using a Decl::Destroy() method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49532
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sam Bishop [Fri, 11 Apr 2008 14:49:10 +0000 (14:49 +0000)]
Use the ASTContext allocator when creating deserialized Decl objects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49530
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 11 Apr 2008 07:06:57 +0000 (07:06 +0000)]
two new files for previous patch, by Argiris Kirtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49521
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 11 Apr 2008 07:00:53 +0000 (07:00 +0000)]
Switch sema to maintaining its own scope chain information for variable
shadowing, instead of threading it through the AST. This patch contributed
by Argiris Kirtzidis!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49520
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 11 Apr 2008 06:14:11 +0000 (06:14 +0000)]
Fix rdar://
5843510 don't assert and die when an invalid output
file is specified, print a happy little error message.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49518
91177308 -0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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