Ted Kremenek
c6501dbc10
Fix more strict-aliasing warnings.
...
Fix indentation of class declarations in ExprCXX.h
llvm-svn: 52380
2008-06-17 03:11:08 +00:00
Ted Kremenek
3dd7724711
Only use colored output when the environment variable SCAN_BUILD_COLOR is set.
...
llvm-svn: 52379
2008-06-17 03:06:59 +00:00
Ted Kremenek
08e171183f
This patch is motivated by numerous strict-aliasing warnings when compiling
...
clang as a Release build.
The big change is that all AST nodes (subclasses of Stmt) whose children are
Expr* store their children as Stmt* or arrays of Stmt*. This is to remove
strict-aliasing warnings when using StmtIterator. None of the interfaces of any
of the classes have changed (except those with arg_iterators, see below), as the
accessor methods introduce the needed casts (via cast<>). While this extra
casting may seem cumbersome, it actually adds some important sanity checks
throughout the codebase, as clients using StmtIterator can potentially overwrite
children that are expected to be Expr* with Stmt* (that aren't Expr*). The casts
provide extra sanity checks that are operational in debug builds to catch
invariant violations such as these.
For classes that have arg_iterators (e.g., CallExpr), the definition of
arg_iterator has been replaced. Instead of it being Expr**, it is an actual
class (called ExprIterator) that wraps a Stmt**, and provides the necessary
operators for iteration. The nice thing about this class is that it also uses
cast<> to type-checking, which introduces extra sanity checks throughout the
codebase that are useful for debugging.
A few of the CodeGen functions that use arg_iterator (especially from
OverloadExpr) have been modified to take begin and end iterators instead of a
base Expr** and the number of arguments. This matches more with the abstraction
of iteration. This still needs to be cleaned up a little bit, as clients expect
that ExprIterator is a RandomAccessIterator (which we may or may not wish to
allow for efficiency of representation).
This is a fairly large patch. It passes the tests (except CodeGen/bitfield.c,
which was already broken) on both a Debug and Release build, but it should
obviously be reviewed.
llvm-svn: 52378
2008-06-17 02:43:46 +00:00
Ted Kremenek
1c77e8f26b
Silence uninitialized value warning in Release build.
...
llvm-svn: 52376
2008-06-16 23:46:27 +00:00
Ted Kremenek
bba87243aa
Silence uninitialized value warning during Release build.
...
llvm-svn: 52375
2008-06-16 23:45:12 +00:00
Ted Kremenek
51ca6fa512
Remove debugging message in ccc-analyzer.
...
Add color diagnostics from scan-build, and indicate the number of bugs found (if any).
llvm-svn: 52372
2008-06-16 22:40:14 +00:00
Ted Kremenek
c9904b61af
Latest release is checker-37.
...
llvm-svn: 52370
2008-06-16 21:46:12 +00:00
Ted Kremenek
c17ec3e27f
Re-enable the analyzer.
...
llvm-svn: 52367
2008-06-16 21:41:07 +00:00
Ted Kremenek
6bed7d6b1e
Remove Analysis-Apple.
...
llvm-svn: 52366
2008-06-16 21:21:48 +00:00
Ted Kremenek
f3c8650502
Move test case "uninit-msg-expr.m" from Analysis-Apple to Analysis (now works on all platforms).
...
llvm-svn: 52362
2008-06-16 21:15:29 +00:00
Ted Kremenek
2eed4d7a25
Moved test case NoReturn.m from Analysis-Apple to Analysis (now works on all platforms).
...
llvm-svn: 52359
2008-06-16 21:05:04 +00:00
Ted Kremenek
bbe6111cc3
Move NSString.m test case from Analysis-Apple to Analysis. The test case now works on all platforms.
...
llvm-svn: 52354
2008-06-16 20:37:30 +00:00
Ted Kremenek
ccafce3d4c
Update test case to use -pedantic (makes the test case more clear).
...
llvm-svn: 52349
2008-06-16 19:53:46 +00:00
Ted Kremenek
5935a17daf
Fix misspelling of "svelte".
...
llvm-svn: 52348
2008-06-16 19:51:41 +00:00
Ted Kremenek
951bc67096
Move Analysis-Apple/CFString.c to Analysis (the test case now works on all platforms).
...
llvm-svn: 52346
2008-06-16 19:35:31 +00:00
Ted Kremenek
107f13971f
Move CFDateGC.m test case from Analysis-Apple to Analysis (it now runs on all platforms).
...
llvm-svn: 52344
2008-06-16 18:46:17 +00:00
Ted Kremenek
7056bb1f21
Moved CFDate.m from test/Analysis-Apple to test/Analysis, and added the necessary declarations from Foundation.h to CFDate.m so that the test case can be exercised on all platforms.
...
llvm-svn: 52343
2008-06-16 18:34:22 +00:00
Ted Kremenek
87c760af36
Add test case for NSString format-string checking.
...
llvm-svn: 52337
2008-06-16 18:01:05 +00:00
Ted Kremenek
34f664d443
Introduce preliminary support for NSString format-string checking.
...
Patch by Nikita Zhuk!
llvm-svn: 52336
2008-06-16 18:00:42 +00:00
Chris Lattner
22b9ff4131
force size of alloca to i32, which is currently required by LLVM IR.
...
This fixes use of alloca on 64-bit systems.
llvm-svn: 52334
2008-06-16 17:15:14 +00:00
Eli Friedman
327944b343
Basic support for volatile loads and stores. Stores the volatile
...
qualifier in the lvalue, and changes lvalue loads/stores to honor
the volatile flag. Places which need some further attention are marked
with FIXMEs.
Patch by Cédric Venet.
llvm-svn: 52264
2008-06-13 23:01:12 +00:00
Ted Kremenek
871fcb57e7
Tweak h1 line-height to avoid text overlay issues in the headers.
...
llvm-svn: 52256
2008-06-13 21:09:07 +00:00
Ted Kremenek
54aba504be
CSS tweaks with the menu to help resolve some menu/content overlap issues.
...
llvm-svn: 52255
2008-06-13 21:06:53 +00:00
Argyrios Kyrtzidis
351008da17
Allow -parse-noop -verify options to be used together.
...
llvm-svn: 52249
2008-06-13 12:15:34 +00:00
Ted Kremenek
b7aa2cc416
Grammo.
...
llvm-svn: 52241
2008-06-12 19:14:13 +00:00
Ted Kremenek
05e2f6006c
Added an "important notes" section. Tweaked formatting.
...
llvm-svn: 52239
2008-06-12 18:39:02 +00:00
Argyrios Kyrtzidis
caec17eab9
Fix broken test.
...
llvm-svn: 52232
2008-06-12 12:44:52 +00:00
Argyrios Kyrtzidis
351763e156
Multiple tests in a single test file must be linked with '&&'.
...
Otherwise, failing tests other than the last one will not be reported.
llvm-svn: 52231
2008-06-12 12:40:02 +00:00
Argyrios Kyrtzidis
de794aadae
Fix "copy & paste" error.
...
llvm-svn: 52227
2008-06-11 23:15:56 +00:00
Ted Kremenek
3715385cf0
Added direct link to latest analyzer build on Mac OS X.
...
llvm-svn: 52222
2008-06-11 16:16:41 +00:00
Ted Kremenek
690f46fd20
Added a disclaimer about running time, and provided an executive summary of the tool's interface.
...
llvm-svn: 52221
2008-06-11 16:09:34 +00:00
Ted Kremenek
9f25c1d219
Use relative links that start with "/" so the menu works from different subdirectories.
...
llvm-svn: 52210
2008-06-11 06:22:05 +00:00
Eli Friedman
61b529f466
Don't crash if we can't find FileEntry info for a typedef, since one
...
isn't guaranteed to exist. This fixes a crash with conflicting typedefs
coming from stdin.
This also fixes the crash in PR2406, but doesn't completely fix the
issue; it appears there's something strange about the physical location
for the definition of int64_t in stdlib.h.
llvm-svn: 52209
2008-06-11 06:20:39 +00:00
Ted Kremenek
d2c8970a9a
Use same CSS as the rest of the clang website.
...
llvm-svn: 52208
2008-06-11 06:19:49 +00:00
Ted Kremenek
1d920583e5
Fix menu/content overlap.
...
llvm-svn: 52207
2008-06-11 06:15:58 +00:00
Ted Kremenek
56847a7249
More padding adjustments.
...
llvm-svn: 52206
2008-06-11 06:14:37 +00:00
Ted Kremenek
7d4955d842
Shorten menu item name.
...
llvm-svn: 52205
2008-06-11 06:13:36 +00:00
Ted Kremenek
9c682c000a
Add some padding to the right of "content" to balance out.
...
llvm-svn: 52204
2008-06-11 06:08:58 +00:00
Ted Kremenek
3ec4889258
Less padding... (difficult to preview without commits)
...
llvm-svn: 52203
2008-06-11 06:08:05 +00:00
Ted Kremenek
a32374a768
More padding...
...
llvm-svn: 52202
2008-06-11 06:07:21 +00:00
Ted Kremenek
909ce26888
Expand padding of content.
...
llvm-svn: 52201
2008-06-11 06:06:43 +00:00
Ted Kremenek
91f223a587
Added static analysis link.
...
llvm-svn: 52200
2008-06-11 06:04:56 +00:00
Ted Kremenek
2a10380f99
Make default text a little darker. Shorten title in Static Analysis page.
...
llvm-svn: 52199
2008-06-11 06:01:28 +00:00
Ted Kremenek
2fc9d272a0
More CSS refinements.
...
llvm-svn: 52198
2008-06-11 05:55:39 +00:00
Ted Kremenek
e368a8cb02
Use Arial as default font.
...
llvm-svn: 52197
2008-06-11 05:32:48 +00:00
Ted Kremenek
39da888759
Use sans-serif font.
...
llvm-svn: 52196
2008-06-11 05:29:48 +00:00
Ted Kremenek
567d28c20d
Included page-specific formatting for tables.
...
llvm-svn: 52195
2008-06-11 05:28:36 +00:00
Ted Kremenek
9b9fe9799c
Include side-menu.
...
llvm-svn: 52194
2008-06-11 05:26:52 +00:00
Ted Kremenek
c2144e73a1
Minor tweaks/grammar/formatting.
...
llvm-svn: 52193
2008-06-11 05:25:12 +00:00
Ted Kremenek
2f7a88ddf6
Skip a few more files and linker options.
...
llvm-svn: 52189
2008-06-10 18:56:59 +00:00
Argyrios Kyrtzidis
34fe86cd9c
Fix the setup of CodeGen/bitfield.c test.
...
Due to the broken setup it was passing the test while it should have failed.
llvm-svn: 52181
2008-06-10 15:48:26 +00:00
Eli Friedman
940a7c0cf8
Fix the run line for this test.
...
llvm-svn: 52169
2008-06-10 05:18:06 +00:00
Eli Friedman
4f64def9ee
Make this test C instead of C++; making it C++ causes a failure on Linux
...
because clang can't parse stdio.h in C++ mode yet.
llvm-svn: 52168
2008-06-10 05:14:31 +00:00
Eli Friedman
d5b11a3adc
Don't include complex.h or tgmath.h for this test; they aren't needed,
...
and including tgmath.h causes the test to fail for no good reason.
llvm-svn: 52167
2008-06-10 05:09:36 +00:00
Eli Friedman
d48188e8e0
Fix getTrueExpr for ConditionalOperator to actually work. No testcase
...
because it's currently unused.
llvm-svn: 52166
2008-06-10 05:00:13 +00:00
Argyrios Kyrtzidis
406fb231f8
-Add DeclChain member to DeclContext.
...
-ScopedDecls get chained to their DeclContext.
-DeclContext's DeclChain replaces FunctionDecl's DeclChain and EnumDecl's ElementList.
llvm-svn: 52164
2008-06-10 01:32:09 +00:00
Argyrios Kyrtzidis
d0c1df4c84
Make CodeGenFunction::EmitDecl() recognise CXXClass/CXXStruct/CXXUnion.
...
llvm-svn: 52162
2008-06-09 23:42:47 +00:00
Argyrios Kyrtzidis
d8cb25ee90
Dump the name of CXXStruct/CXXUnion/CXXClass Decl subclasses.
...
llvm-svn: 52161
2008-06-09 23:36:53 +00:00
Argyrios Kyrtzidis
554a07bab3
-Changes to TagDecl:
...
Added TagKind enum.
Added getTagKind() method.
Added convenience methods: isEnum(), isStruct(), isUnion(), isClass().
-RecordDecl/CXXRecordDecl::Create() accept a TagKind enum instead of a DeclKind one.
llvm-svn: 52160
2008-06-09 23:19:58 +00:00
Argyrios Kyrtzidis
2951e14520
Added new C++ AST Decl subclasses.
...
llvm-svn: 52155
2008-06-09 21:05:31 +00:00
Eli Friedman
8233993fc6
Get -serialize working again, plus a bit of minor cleanup.
...
llvm-svn: 52152
2008-06-09 20:02:51 +00:00
Ted Kremenek
401ef2e426
Added link to Mac OS X builds. Provide instructions for those not using Mac OS X.
...
llvm-svn: 52148
2008-06-09 14:30:01 +00:00
Matthijs Kooijman
9c995757a9
Sprinkle some "-o -" clang options to make the examples work.
...
llvm-svn: 52145
2008-06-09 14:09:10 +00:00
Ted Kremenek
420f7e76c7
Add redirection page.
...
llvm-svn: 52143
2008-06-09 13:38:32 +00:00
Sanjiv Gupta
224e8ea2bb
Generate debug descriptors for array types while generating the debug info.
...
llvm-svn: 52140
2008-06-09 10:47:41 +00:00
Eli Friedman
e6e0f23a29
Add code to make test/CodeGen/struct-init.c work correctly without the
...
pointer cast hack currently in isIntegerConstantExpr
(in lib/AST/Expr.cpp). Also removes an odd test that even gcc doesn't accept.
The reason the pointer cast hack is relevant here is that it makes Sema
end up misinterpreting the relevant expression as a null pointer constant.
The reason for this patch is that I plan to remove the pointer cast hack
sometime soon because it causes strange issues, especially in its
current form; see my recent email to cfe-dev
"[PATCH] add constant expression evaluation to the AST and fix PR2413".
llvm-svn: 52120
2008-06-09 05:05:07 +00:00
Eli Friedman
7567573926
For struct initialization, check compatibility with the unqualified
...
type; this isn't explicitly stated in the standard, but it doesn't
really make sense for them to have an effect here. Fixes the included
testcase, sent to me by Steve Naroff.
llvm-svn: 52113
2008-06-09 03:52:40 +00:00
Chris Lattner
e642fcd689
Since this isn't linked from anywhere yet, I'm taking the opportunity
...
to move it to a more stable URL. If the S-A work grows, this will be
the entrypoint for the pages related to it.
llvm-svn: 52101
2008-06-08 21:55:32 +00:00
Nuno Lopes
b6f7953818
implement the alias attirbute (in both Sema and Codegen)
...
llvm-svn: 52092
2008-06-08 15:45:52 +00:00
Nuno Lopes
cc041ea68e
fix compiler warnings
...
llvm-svn: 52089
2008-06-08 10:16:34 +00:00
Eli Friedman
c98a7add43
Don't crash emitting an initializer for a static local with union type.
...
This fix just makes sure to construct the global with the appropriate
type, and fixes up the one user this affects to compensate.
llvm-svn: 52084
2008-06-08 01:23:18 +00:00
Eli Friedman
69d721e071
Enable the rewriter tests on all platforms; there don't appear to
...
be any regressions from this on my machine, but please let me know if
you run into issues. (The idea here is that it's better to run all
tests on all platforms if at all possible.)
llvm-svn: 52083
2008-06-07 23:20:33 +00:00
Eli Friedman
7e4f41ef3f
Don't include objc.h, so the rewriter tests work on machines without it.
...
llvm-svn: 52082
2008-06-07 23:15:03 +00:00
Chris Lattner
a5678ccd4a
capture whether a CharacterLiteral was wide or not in the AST.
...
Patch by Mike Stump!
llvm-svn: 52081
2008-06-07 22:35:38 +00:00
Chris Lattner
a0173131fa
Fix ast dumping to work with long double literals, e.g. we dump:
...
long double X() { return 1.0L; }
as:
long double X()
(CompoundStmt 0xb06a00 <t.c:2:17, col:32>
(ReturnStmt 0xb068d0 <col:19, col:26>
(FloatingLiteral 0xb02cf0 <col:26> 'long double' 1.000000)))
llvm-svn: 52080
2008-06-07 22:13:43 +00:00
Chris Lattner
82333ccf39
Mark the right ctor explicit, patch by Cédric Venet
...
llvm-svn: 52078
2008-06-07 19:56:57 +00:00
Eli Friedman
3ce7b20590
Fix crash with conversion to an address-space-qualified pointer. Bug
...
reported on cfe-dev by Cédric Venet.
Note that I seriously doubt that this perticular construct is useful,
though: it's a pointer in an alternate address space pointing into
unqualified address space.
llvm-svn: 52076
2008-06-07 17:27:51 +00:00
Eli Friedman
7dbab8a6a1
Fix the line endings in the newly added DeclBase.cpp.
...
llvm-svn: 52075
2008-06-07 16:52:53 +00:00
Eli Friedman
445c73d19f
Fix Visual Studio project files; patch by Cédric Venet.
...
llvm-svn: 52074
2008-06-07 16:34:27 +00:00
Sanjiv Gupta
1929242a94
Create debug type descriptors for aggregate/enum types.
...
llvm-svn: 52070
2008-06-07 04:46:53 +00:00
Ted Kremenek
92611db88f
Use a common SourceManager when processing multiple files. This allows us to cache the contents of source files already loaded from disk.
...
llvm-svn: 52066
2008-06-06 22:42:39 +00:00
Ted Kremenek
af44b83296
Updated Xcode project.
...
llvm-svn: 52065
2008-06-06 21:48:51 +00:00
Ted Kremenek
ef17049bac
Reclaim memory owned by ObjCForwardProtocolDecls.
...
llvm-svn: 52063
2008-06-06 21:05:33 +00:00
Eli Friedman
fd1e32b1f3
Reorganize this loop a bit so it doesn't crash for empty unions. Fixes
...
PR2419.
llvm-svn: 52060
2008-06-06 20:12:37 +00:00
Ted Kremenek
71fff8b4de
Implement "Destroy" and destructor for ObjCClassDecl, allowing us to reclaim its memory and the memory of the Decls it owns.
...
llvm-svn: 52059
2008-06-06 20:11:53 +00:00
Ted Kremenek
2e34af659a
Implement "Destroy" and destructor for ObjCProtocolDecl, allowing us to reclaim its memory and the memory of the Decls it owns.
...
llvm-svn: 52055
2008-06-06 19:48:57 +00:00
Eli Friedman
01321c3b8c
Clean up dead code from SemaInit landing.
...
llvm-svn: 52054
2008-06-06 19:40:52 +00:00
Ted Kremenek
5144fe2287
Because of a lack of a clear ownership role between ObjCInterfaceDecls and
...
ObjCPropertyDecls, have TranslationUnit destroy ObjCPropertyDecls. This is a
horrible hack, and must be removed eventually.
llvm-svn: 52051
2008-06-06 17:21:42 +00:00
Ted Kremenek
09a0d04ea0
Initial work on additional memory collection for ObjC AST objects. We now
...
have Destroy methods of ObjcMethodDecl and ObjCInterfaceDecl which recursively
destroy their owned Decls and Stmts. There are a few cases where it is not
clear what to do (FIXMEs included in the patch).
llvm-svn: 52050
2008-06-06 16:45:15 +00:00
Nuno Lopes
9b07b7b099
implement constant expr. sub ptr ptr
...
llvm-svn: 52049
2008-06-06 16:41:08 +00:00
Devang Patel
8f5645cd51
During interface layout, don't forget super class.
...
llvm-svn: 52035
2008-06-06 02:14:01 +00:00
Devang Patel
e1f10511ba
Undo previous check-in.
...
llvm-svn: 52034
2008-06-06 02:00:35 +00:00
Devang Patel
1216b05d3d
During interface layout, don't forget super class.
...
llvm-svn: 52033
2008-06-06 01:50:12 +00:00
Ted Kremenek
3ad519441f
Fix crash when running with multiple source files. This can be improved.
...
llvm-svn: 52032
2008-06-06 01:47:30 +00:00
Steve Naroff
d32ae8edf2
Oops...remove weird printf:-)
...
llvm-svn: 52025
2008-06-05 22:58:33 +00:00
Steve Naroff
946166f4e9
Second half of "fix" for <rdar://problem/5986085> clang on xcode: error: redefinition of 'XCElementToggler' as different kind of symbol
...
llvm-svn: 52024
2008-06-05 22:57:10 +00:00
Ted Kremenek
dfa8c8aef5
Ignore a few more linker arguments.
...
llvm-svn: 52023
2008-06-05 22:46:24 +00:00
Steve Naroff
a44099f022
super fix submitted by David Chisnall.
...
llvm-svn: 52014
2008-06-05 18:14:25 +00:00
Steve Naroff
31e1d41338
Fixed a recent test regression from last night (r51976).
...
llvm-svn: 52006
2008-06-05 15:03:27 +00:00
Steve Naroff
25449a5221
Fix <rdar://problem/5986833> clang on xcode: incompatible type returning 'void', expected 'int'.
...
- Changed Sema::ObjCActOnStartOfMethodDef() to more accurately type "self" in factory methods.
- Changed Sema::ActOnInstanceMessage() to use the new type to restrict the lookup.
llvm-svn: 52005
2008-06-05 14:49:39 +00:00
Steve Naroff
f9c65246dd
Fix <rdar://problem/5987482> clang on xcode: null dereference in Sema::ActOnMemberReferenceExpr.
...
In addition to fixing the crasher, this commit fixes further improves property lookup (by searching protocols of qualified interfaces..."NSObject <prot>").
llvm-svn: 52001
2008-06-05 13:55:23 +00:00
Sanjiv Gupta
158143ad54
Emit debug information for global and static variables when -g is specified.
...
llvm-svn: 51993
2008-06-05 08:59:10 +00:00
Steve Naroff
d1c3d1130b
Fix trivial crasher and downgrade an error to warning (to match GCC).
...
llvm-svn: 51976
2008-06-05 04:33:44 +00:00
Steve Naroff
cfdf6166fc
Support "<p>" as a short-hand for "id<p>". Here's a comment from GCC (the only documentation I could find on it).
...
/* Make "<SomeProtocol>" equivalent to "id <SomeProtocol>" - nisse@lysator.liu.se . */
This commit adds the parser magic. The type associated with <p> is still incorrect. Will discuss with Chris.
llvm-svn: 51972
2008-06-05 00:02:44 +00:00
Steve Naroff
d5bf26fa26
Fix crash identified by <rdar://problem/5986085>.
...
llvm-svn: 51969
2008-06-04 23:08:38 +00:00
Devang Patel
dbb7263fd9
Add ObjCInterface layout support.
...
Reuse RecordLayout.
llvm-svn: 51968
2008-06-04 21:54:36 +00:00
Steve Naroff
524fbe8687
Update a test and add a FIXME.
...
llvm-svn: 51967
2008-06-04 21:38:52 +00:00
Devang Patel
21979193bb
Refactoring.
...
Move field layout code in a ASTRecordLayout member fn.
llvm-svn: 51966
2008-06-04 21:22:16 +00:00
Ted Kremenek
6da61be501
ccc-analyzer now properly eats the -install_name, -exported_symbols_list, -current_version, -compatibility_version, and -sectorder command line arguments.
...
llvm-svn: 51965
2008-06-04 20:49:03 +00:00
Ted Kremenek
46267c839d
Added fixmes.
...
llvm-svn: 51964
2008-06-04 20:48:08 +00:00
Steve Naroff
d9c2607014
Parser::ParseObjCSynchronizedStmt() needs to Enter/Exit a decl scope.
...
llvm-svn: 51963
2008-06-04 20:36:13 +00:00
Eli Friedman
3e1852fa7e
Make sure the types are consistent for a void conditional. No visible
...
difference, but it's better to be consistent.
llvm-svn: 51961
2008-06-04 19:47:51 +00:00
Eli Friedman
2425cd8158
For setting attributes, don't assume there are ParamVarDecls available,
...
because trying to access non-existent ParamVarDecls can crash.
Testcase from the original source for PR2414.
llvm-svn: 51960
2008-06-04 19:41:28 +00:00
Nuno Lopes
7bd6e58ddc
fix crash when codegening 'cond ? lhs : call-to-void-func()'
...
llvm-svn: 51958
2008-06-04 19:15:45 +00:00
Nuno Lopes
28bcfec325
fix type of ?: operator. If one of the operator is void, the type should be void as well.
...
Please confirm this is safe
llvm-svn: 51957
2008-06-04 19:14:12 +00:00
Fariborz Jahanian
6e59392e4b
Fix a gcc compatibility issue which allows more protocol-qualified id on RHS to be
...
assigned to less protocol qualified object on LHS.
llvm-svn: 51956
2008-06-04 19:00:03 +00:00
Eli Friedman
8547e1d129
Don't assume that the type of a FunctionDecl is a FunctionType; that
...
assumption isn't accurate in the presence of typedefs.
llvm-svn: 51951
2008-06-04 17:58:41 +00:00
Eli Friedman
67b827900e
Make the width and alignment for long double consistent with the
...
hardcoded data layout in getTargetDescription. Hopefully fixes a test
failure.
Of course, this should be fixed properly, but that's a bigger fix.
llvm-svn: 51948
2008-06-04 17:01:45 +00:00
Eli Friedman
c0b54901f4
clang fix to parallel LLVM r51928
...
(http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20080602/063306.html ).
llvm-svn: 51944
2008-06-04 16:13:19 +00:00
Ted Kremenek
b147ad1051
Moved LangOptions from TranslationUnit to ASTContext. This induced a variety of cleanups in some ASTConsumers.
...
llvm-svn: 51943
2008-06-04 15:55:15 +00:00
Ted Kremenek
1cb246ef20
Update Xcode project.
...
llvm-svn: 51941
2008-06-04 15:38:06 +00:00
Steve Naroff
c68e382ba9
ASTContext::typesAreCompatible(): id is compatible with all qualified id types.
...
llvm-svn: 51939
2008-06-04 15:07:33 +00:00
Steve Naroff
f4308aac53
Sema::ActOnClassMessage() needs to look through it's local implementation for private class methods.
...
llvm-svn: 51938
2008-06-04 14:43:54 +00:00
Argyrios Kyrtzidis
6301884dc0
Move Decl and DeclContext implementations into a new DeclBase.cpp file.
...
llvm-svn: 51936
2008-06-04 13:04:04 +00:00
Steve Naroff
5ccccf0326
Make sure we look through categories when searching for a classes property.
...
Fixes <rdar://problem/5984338> clang on xcode: property implementation must have its declaration in interface 'PBXOpenQuicklyModule'
llvm-svn: 51925
2008-06-04 04:46:04 +00:00
Steve Naroff
cff2688180
Give the "isa" slot a name!
...
llvm-svn: 51924
2008-06-04 03:03:48 +00:00
Steve Naroff
a2981a2c7b
Add a few more built-in functions.
...
llvm-svn: 51921
2008-06-03 22:16:48 +00:00
Steve Naroff
b115be707d
Put back my temporary hack until Eli addresses this in a more complete fashion.
...
llvm-svn: 51920
2008-06-03 22:06:04 +00:00
Steve Naroff
13c360cec4
Implement another property related FIXME:
...
Fix <rdar://problem/5967199> clang on xcode: error: member reference is not to a structure or union
llvm-svn: 51919
2008-06-03 21:56:14 +00:00
Eli Friedman
149614bfe7
Re-fix r51907 in a way which doesn't affect valid code. This essentially
...
moves the check for the invalid construct to a point where it doesn't
affect other uses of isIntegerConstantExpr, and we can warn properly
when the extension is used. This makes it a bit more complicated, but
it's a lot cleaner.
Steve, please tell me if this check is sufficient to handle the
relevant system header. I know it's enough to handle the testcase, but
I don't know what exactly the original looks like.
llvm-svn: 51918
2008-06-03 21:01:11 +00:00
Steve Naroff
ec62418fc5
Fixup recent "super" regression.
...
llvm-svn: 51913
2008-06-03 18:21:00 +00:00
Steve Naroff
5832c03509
Add a builtin. Fixes <rdar://problem/5982037> clang on xcode: error: incompatible operand types ('int' and 'char *').
...
llvm-svn: 51908
2008-06-03 17:37:43 +00:00
Steve Naroff
aaf5108d26
Change Expr::isIntegerConstantExpr() to allow for pointer types (for GCC compatibility). Note FIXME.
...
Fix <rdar://problem/5977870> clang on xcode: error: arrays with static storage duration must have constant integer length
llvm-svn: 51907
2008-06-03 17:15:29 +00:00
Steve Naroff
b788d9bd27
Allow implicit pointer/int conversions on ObjCQualifiedIdTypes in Sema::CheckCompareOperands() and Sema::CheckAssignmentConstraints().
...
Fixes <rdar://problem/5980804> clang on xcode: error: incompatible type sending 'id<XDUMLType>', expected 'NSCellType'.
llvm-svn: 51902
2008-06-03 14:04:54 +00:00
Steve Naroff
0b225dac9b
Finish up r51900.
...
llvm-svn: 51901
2008-06-03 13:21:30 +00:00
Steve Naroff
1ba306cde5
Allow for a GCC cast extension.
...
Fixes part of <rdar://problem/5980829> clang on xcode: used type 'NSRange' where arithmetic or pointer type is required.
llvm-svn: 51900
2008-06-03 12:56:35 +00:00
Chris Lattner
f4fee9e1e5
make rewrite macros insert a space when commenting out macros where the token didn't
...
lead with a space.
llvm-svn: 51896
2008-06-03 06:10:17 +00:00
Steve Naroff
b877e2c3ca
Fix parser bug/FIXME with @catch .
...
<rdar://problem/5980846> clang on xcode: error: declarator requires an identifier (for @catch )
llvm-svn: 51895
2008-06-03 05:36:54 +00:00
Steve Naroff
ebf4cb4841
Fix <rdar://problem/5979875> clang on xcode: error: use of undeclared identifier 'super'
...
llvm-svn: 51888
2008-06-02 23:03:37 +00:00
Ted Kremenek
88bfb62ffe
Use the correct 'ccc-analyzer' when the build command is a direct invocation of gcc.
...
llvm-svn: 51883
2008-06-02 21:52:47 +00:00
Chris Lattner
fd2fe8270e
handle the full assignment-expression grammar when using an
...
objc message send in an initializer expression.
llvm-svn: 51882
2008-06-02 21:31:07 +00:00
Steve Naroff
f611964230
Fix <rdar://problem/5976164> clang ObjC rewriter: for ... in enumeration inserts undeclared function (objc_enumerationMutation should be in preamble)
...
llvm-svn: 51880
2008-06-02 20:23:21 +00:00
Ted Kremenek
0b6b0e7157
Teach the CF retain checker about "_init" methods. Fixes: <rdar://problem/5956379>
...
llvm-svn: 51872
2008-06-02 17:14:13 +00:00
Ted Kremenek
7ccc9835ef
Use "file_language" for per-language -x options.
...
llvm-svn: 51871
2008-06-02 17:13:40 +00:00
Nuno Lopes
3fe4651e2e
fix decl attributes cleaning
...
this plugs the leak of attributes and also fixes a crash in the test
llvm-svn: 51862
2008-06-01 22:53:53 +00:00
Argyrios Kyrtzidis
28172cb812
Include <string> header to allow compiling for MSVC.
...
llvm-svn: 51847
2008-06-01 21:23:24 +00:00
Nuno Lopes
363212b3fa
fix PR2357 (#ifs didnt invalidate the multiple-inclusion optimization state)
...
llvm-svn: 51843
2008-06-01 18:31:24 +00:00
Eli Friedman
412c66839e
Don't name the ObjC types if there aren't any ObjC objects in the file.
...
Patch by David Chisnall.
llvm-svn: 51840
2008-06-01 16:00:02 +00:00
Eli Friedman
f6b091f73a
First cut at setting attributes for functions and calls; this puts us
...
much closer to passing the gcc struct layout tests.
It might be possible to refactor this a bit, but I'm not sure there's
actually enough common code for that to be useful.
To get the calling convention completely correct, a bit of
platform-specific code is necessary even for x86-Linux. On x86-Linux, the
alignment of function parameters is extremely strange; as far as I can tell,
it's always 4 except for SSE vectors or structs containing SSE vectors. I'm
continuing to investigate this.
llvm-svn: 51839
2008-06-01 15:54:49 +00:00
Eli Friedman
10c2417570
Make sure _Bool globals have the correct type.
...
llvm-svn: 51838
2008-06-01 15:31:44 +00:00