Steve Naroff
4a82d815de
Fix <rdar://problem/6191148> [sema] Objective-C method lookup (at global scope) fails to handle overloaded selectors properly.
...
Long standing bug in Sema::ActOnInstanceMessage(). We now warn when messaging an "id" with multiple method signatures in scope. The diags are a little verbose, however they can be streamlined if necessary.
llvm-svn: 56843
2008-09-30 14:38:43 +00:00
Nuno Lopes
a459f12862
fix test for latest changes in llvm asm representation
...
llvm-svn: 56842
2008-09-30 14:37:33 +00:00
Steve Naroff
9f9774cd2b
Improved fix for <rdar://problem/6247781> Parser rejecting properly mismatched properties.
...
Needed to make sure the relaxed type checking only applies to "readonly" properties.
llvm-svn: 56838
2008-09-30 10:07:56 +00:00
Nick Lewycky
e275a66538
Add missing include for use of atoi.
...
llvm-svn: 56836
2008-09-30 07:18:57 +00:00
Ted Kremenek
a930b56252
Tabs -> Spaces.
...
llvm-svn: 56833
2008-09-30 05:45:59 +00:00
Ted Kremenek
f1b299952a
Revert last patch, but add a fixme
...
llvm-svn: 56832
2008-09-30 05:35:42 +00:00
Ted Kremenek
76bccf6221
Within the transfer function of UnaryOperatorExpr, handle implicit promotions
...
from the subexpression type to the expression type.
llvm-svn: 56831
2008-09-30 05:32:44 +00:00
Mon P Wang
553b4b912b
Added support for sse intrinsics loadlpd, loadhpd, muldq128, and mulld128
...
llvm-svn: 56830
2008-09-30 05:31:27 +00:00
Chris Lattner
29c54dd6b9
start handling 'mmacosx-version-min', this is not complete yet.
...
llvm-svn: 56828
2008-09-30 01:13:12 +00:00
Daniel Dunbar
2efd538f61
Add infrastructure for proper @finally support.
...
- Provides a basic primitive to jump to an arbitrary basic block,
through the finally code.
- Only used for return statements and rethrow currently. Still need
to handle break, continue and goto.
- Code still needs to be shuffled around to live elsewhere.
llvm-svn: 56827
2008-09-30 01:06:03 +00:00
Chris Lattner
b3793bb415
The definition of __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ follows
...
the target triple on darwin. For example i386-apple-darwin9 -> 1050 because
darwin9 is "10.5".
llvm-svn: 56826
2008-09-30 01:00:25 +00:00
Chris Lattner
7ed3209332
define __PASCAL_STRINGS__ whenever -fpascal-strings is enabled.
...
llvm-svn: 56824
2008-09-30 00:48:48 +00:00
Chris Lattner
006579ddb5
__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ is a darwin-specific #define
...
llvm-svn: 56822
2008-09-30 00:46:39 +00:00
Steve Naroff
506e717e4f
Fix <rdar://problem/6247781> Parser rejecting properly mismatched properties.
...
llvm-svn: 56821
2008-09-30 00:24:17 +00:00
Ted Kremenek
7273d01dd4
Updated checker build.
...
llvm-svn: 56819
2008-09-29 23:33:12 +00:00
Chris Lattner
fb8b8f298c
Fix the root cause of PR2750 instead of the side effect.
...
NumericLiteral parser is not careful about overrun because
it should never be possible. It implicitly expects that its
input matched the regex for pp-constant. Because of this, it
knows it can't be pointing to a prefix of something that
looks like a number. This is all fine, except that __LINE__
does not prevent implicit concatenation from happening. Fix
__LINE__ to not do this.
llvm-svn: 56818
2008-09-29 23:12:31 +00:00
Ted Kremenek
887c49d592
Really don't add -isysroot twice.
...
llvm-svn: 56815
2008-09-29 23:06:09 +00:00
Ted Kremenek
6b2e07a292
Don't filter out -fpascal-strings.
...
llvm-svn: 56810
2008-09-29 22:45:28 +00:00
Chris Lattner
4a80a59b6e
Fix va_arg handling to do argument decaying at the correct place. This
...
fixes problems handling references of va_list, which happens on x86_64.
This fixes PR2841 and rdar://6252231
llvm-svn: 56809
2008-09-29 22:28:25 +00:00
Chris Lattner
d9a663aeb9
Make some methods const, add some helpers to FullSourceLoc,
...
and add a dump method to FullSourceLoc! Patch by Nico Weber!
llvm-svn: 56806
2008-09-29 21:46:13 +00:00
Chris Lattner
9bb37fec6a
move ExtVectorElementExpr down into the 'clang extensions' section.
...
Wrap line to 80 cols.
llvm-svn: 56805
2008-09-29 21:30:29 +00:00
Ted Kremenek
01c61b9b2a
Update checker build.
...
llvm-svn: 56804
2008-09-29 21:24:37 +00:00
Steve Naroff
38093af363
Add a random C99 comment/reference.
...
llvm-svn: 56800
2008-09-29 20:07:05 +00:00
Ted Kremenek
8715e1c859
Extend 'IsLValType' to handle BlockPointerTypes.
...
llvm-svn: 56797
2008-09-29 19:17:30 +00:00
Steve Naroff
32d072ca45
Teach Sema::CheckAssignmentConstraints() to allow assignments between id and block pointer types (^{}).
...
llvm-svn: 56793
2008-09-29 18:10:17 +00:00
Steve Naroff
03fc762a02
Fix <rdar://problem/6251012> clang: Blocks are objects too.
...
llvm-svn: 56791
2008-09-29 16:51:41 +00:00
Ted Kremenek
8b89a65136
Discard extra -isysroot options. This fixes:
...
<rdar://problem/6253141> Parser rejection occurs when command line has more than one -isysroot switch
llvm-svn: 56790
2008-09-29 16:15:20 +00:00
Daniel Dunbar
068f7f7092
Fix braindead bug, ID number was hardcoded.
...
llvm-svn: 56789
2008-09-29 16:06:43 +00:00
Steve Naroff
c2036d5da4
Fix <rdar://problem/6253149> property declaration doesn't declare getter and setter.
...
llvm-svn: 56785
2008-09-29 14:20:56 +00:00
Nico Weber
378c5539c8
whitespace and comment changes, to fix grammar and 80 col violations
...
llvm-svn: 56776
2008-09-29 00:25:48 +00:00
Steve Naroff
b6b1abb0f5
Change a NOTE to a FIXME based on feedback from clattner.
...
llvm-svn: 56775
2008-09-28 21:07:52 +00:00
Ted Kremenek
c1048153fe
Updated checker build.
...
llvm-svn: 56774
2008-09-28 17:25:56 +00:00
Steve Naroff
8edb573a79
Fix <rdar://problem/6252129> implementation of method in category doesn't effectively declare it for methods below.
...
llvm-svn: 56771
2008-09-28 14:55:53 +00:00
Steve Naroff
4831c74d40
Fix <rdar://problem/6252108> assigning to argument passed to block should not require __block.
...
llvm-svn: 56770
2008-09-28 14:02:55 +00:00
Chris Lattner
037379d767
Fix rdar://6252231 - cannot call vsnprintf with va_list on x86_64,
...
by decaying __builtin_va_list's type when forming builtins. On
x86-64 (and other targets) __builtin_va_list is a typedef for
an array.
llvm-svn: 56768
2008-09-28 06:05:35 +00:00
Chris Lattner
ff2c187e59
Replace a comparison with a static list of builtins that was wrong (it
...
wasn't covering checking builtins like __builtin___vsnprintf_chk) with
a check that won't get out of date.
llvm-svn: 56767
2008-09-28 05:54:29 +00:00
Chris Lattner
e9d291c038
Fix rdar://6251437, references to enum constant decls in a block
...
don't need a BlockDeclRefExpr.
llvm-svn: 56766
2008-09-28 05:30:26 +00:00
Ted Kremenek
7dbc92a269
Add "Path Length" back to the table of bug reports.
...
llvm-svn: 56765
2008-09-28 04:13:09 +00:00
Steve Naroff
e18f94c20d
Fix <rdar://problem/6252216> compare block to NULL.
...
llvm-svn: 56764
2008-09-28 01:11:11 +00:00
Daniel Dunbar
d3dcb4f8ed
Add support for implicit rethrows in @catch blocks.
...
Comment exception-handling code generation strategy.
llvm-svn: 56763
2008-09-28 01:03:14 +00:00
Daniel Dunbar
a2d3570fc9
Skip redundant if.
...
llvm-svn: 56762
2008-09-28 00:19:22 +00:00
Steve Naroff
edec9ba58d
Fix <rdar://problem/6252226> parser thinks block argument is undefined identifier in NSServices.m
...
llvm-svn: 56761
2008-09-28 00:13:36 +00:00
Daniel Dunbar
7f08678f7d
(Update LLVM) Clean up obj-c exception generation to be a bit more
...
readable and to generate more readable IR.
llvm-svn: 56758
2008-09-27 23:30:04 +00:00
Daniel Dunbar
86919f45cc
Bug fix, codegen @catch(id<X> ...) acceptably.
...
- This should be rejected by sema (IMHO) but that needs some
investigation.
llvm-svn: 56756
2008-09-27 22:21:14 +00:00
Ted Kremenek
21c24f1785
Revert 56735. The old bug categories were more informative.
...
llvm-svn: 56755
2008-09-27 22:02:42 +00:00
Daniel Dunbar
523208fb4a
Simplify generate code for exceptions:
...
- There is no need to branch on the rethrow variable to determine if
we need to call objc_exception_try_exit. We know whether an
exception was thrown, so just branch to a different target if we
want to skip the try_exit.
This is a slight semantic departure from gcc, but only for throwing
nil, which is undefined (and for which gcc emits broken code).
- Also fixes a bug in current code which was calling try_exit too
many times when an exception was uncaught (but there were some
handlers).
Fix bug introduced in prev. commit, the type of the @catch parameter
was uninitialized.
llvm-svn: 56754
2008-09-27 07:36:24 +00:00
Daniel Dunbar
aec553bfdb
Prefer llvm::Function::addFnAttr(...) to F->addAttribute(~0, ...).
...
llvm-svn: 56753
2008-09-27 07:16:42 +00:00
Daniel Dunbar
274ff37583
Simplify code to emit the unified return block and move it to the end
...
of the function.
llvm-svn: 56752
2008-09-27 07:15:59 +00:00
Daniel Dunbar
b22ff59750
Bug fix, make sure to initialize exception object (to rethrow) even
...
when there are no @catch blocks.
Also, eliminated unneeded alloca for the rethrow object.
Also, avoid generating code to rethrow exception if the exception will
trivially always be caught.
llvm-svn: 56751
2008-09-27 07:03:52 +00:00
Daniel Dunbar
da04d7f4ec
Easy fix for nasty bug, exception data buffer had wrong type == wrong
...
(smaller) size == garbage on stack == heisenbugs.
llvm-svn: 56750
2008-09-27 06:32:25 +00:00
Zhongxing Xu
612e0c9604
Delete trailing white space. It's over 80 columns.
...
llvm-svn: 56749
2008-09-27 03:27:29 +00:00
Daniel Dunbar
53642c0160
Remove automagic substitution of %llvmgcc
...
- Is unused and somewhat unreliable.
llvm-svn: 56737
2008-09-27 00:47:03 +00:00
Ted Kremenek
16a59fabec
Change "leaks" to have the category "Performance".
...
llvm-svn: 56735
2008-09-27 00:45:27 +00:00
Daniel Dunbar
00e36f4c5c
Fix function-attributes test case to not rely on llvm-gcc.
...
llvm-svn: 56734
2008-09-27 00:44:01 +00:00
Daniel Dunbar
23b46ca198
Fix attributes test case to not run clang umpteen times.
...
llvm-svn: 56733
2008-09-27 00:39:13 +00:00
Ted Kremenek
8bafa2cf9f
Internally store the body of a BlockExpr using a Stmt* instead of a CompoundStmt*, and use the getBody() method to do the appropriate checking. This both removes the type-punning warnings in Expr.cpp and also makes BlockExpr have more consistency checks against modifications to its body (via StmtIterator).
...
llvm-svn: 56710
2008-09-26 23:24:14 +00:00
Ted Kremenek
2e53c51914
Forgot to check in header file with last commit.
...
llvm-svn: 56709
2008-09-26 23:24:05 +00:00
Ted Kremenek
6ed79f0c13
Use a union instead of a bunch of magic casts to implement a variant. This removes the type-punning errors for DeclGroup.
...
llvm-svn: 56708
2008-09-26 23:19:04 +00:00
Ted Kremenek
f5e7e3ae26
Add more control-flow to test case.
...
llvm-svn: 56707
2008-09-26 23:05:47 +00:00
Ted Kremenek
d86d39cc9e
Add CFG support for implicit-control flow for VLA size expressions within an SizeOfAlignOfTypeExpr.
...
llvm-svn: 56706
2008-09-26 22:58:57 +00:00
Devang Patel
597e70876e
Now Attributes are divided in three groups
...
- return attributes - inreg, zext and sext
- parameter attributes
- function attributes - nounwind, readonly, readnone, noreturn
Return attributes use 0 as the index.
Function attributes use ~0U as the index.
llvm-svn: 56705
2008-09-26 22:53:57 +00:00
Ted Kremenek
928f484c2d
Updated checker build.
...
llvm-svn: 56701
2008-09-26 22:00:01 +00:00
Chris Lattner
b03dc76499
clean up a bunch of fixme's I added, by moving
...
DirectoryLookup::DirType into SourceManager.h
llvm-svn: 56692
2008-09-26 21:18:42 +00:00
Chris Lattner
c88a23e8d7
Fix the rest of rdar://6243860 hopefully. This requires changing FileIDInfo
...
to whether the fileid is a 'extern c system header' in addition to whether it
is a system header, most of this is spreading plumbing around. Once we have that,
PPLexerChange bases its "file enter/exit" notifications to PPCallbacks to
base the system header state on FileIDInfo instead of HeaderSearch. Finally,
in Preprocessor::HandleIncludeDirective, mirror logic in GCC: the system headerness
of a file being entered can be set due to the #includer or the #includee.
llvm-svn: 56688
2008-09-26 20:12:23 +00:00
Chris Lattner
71efd8159e
fit in 80 cols.
...
llvm-svn: 56687
2008-09-26 20:05:14 +00:00
Chris Lattner
9627d6720a
alphabetize files
...
llvm-svn: 56673
2008-09-26 18:49:39 +00:00
Ted Kremenek
ac49ea63c6
Do not create CFGs for functions/methods using blocks (need to add control-flow).
...
llvm-svn: 56672
2008-09-26 18:17:07 +00:00
Chris Lattner
6bea488c79
testcase for my previous patch.
...
llvm-svn: 56670
2008-09-26 18:07:51 +00:00
Chris Lattner
e744d32b72
emulate a bit of GCC path lookup weirdness: if a system
...
directory is shadowed by a user directory in the lookup
path, ignore the user directory not the system one. Not
doing this can affect file lookup and the "is a system
header" bit on locations. For example:
clang -v -I/usr/include inc.c -E | & grep /usr/inc
now prints:
# 1 "/usr/include/i386/_types.h" 1 3 4
# 37 "/usr/include/i386/_types.h" 3 4
# 70 "/usr/include/i386/_types.h" 3 4
instead of:
# 1 "/usr/include/i386/_types.h" 1
# 37 "/usr/include/i386/_types.h"
# 70 "/usr/include/i386/_types.h"
This is part of rdar://6243860.
llvm-svn: 56669
2008-09-26 17:46:45 +00:00
Ted Kremenek
68d2190226
Enter a new scope for a @try block.
...
llvm-svn: 56668
2008-09-26 17:32:47 +00:00
Ted Kremenek
a69637ba6d
Updated checker build.
...
llvm-svn: 56666
2008-09-26 17:04:34 +00:00
Ted Kremenek
61a625ff70
Move VLA processing logic from LiveVariables to CFG construction. This way all dataflow analyses "see" the VLA size expressions.
...
llvm-svn: 56655
2008-09-26 16:26:36 +00:00
Steve Naroff
ba756cb3fc
Tweak Expr::isModifiableLvalue() and Expr::isLvalue() to better deal with BlockDeclRef exprs.
...
This fixes <rdar://problem/6248392> clang: Error when using address of stack variable inside block.
llvm-svn: 56652
2008-09-26 14:41:28 +00:00
Ted Kremenek
2ece64bbc4
Examine VLA size expressions when computing liveness information.
...
Fixes <rdar://problem/6248086>
llvm-svn: 56645
2008-09-26 05:52:45 +00:00
Daniel Dunbar
08971bf2c4
Change Radar reproducibility to "Always".
...
llvm-svn: 56644
2008-09-26 05:00:28 +00:00
Daniel Dunbar
26e2ab4a37
Parser support for prefix __attribute__ on @protocol.
...
llvm-svn: 56642
2008-09-26 04:48:09 +00:00
Daniel Dunbar
c136e0ca43
Sema support for format and noreturn attributes on Objective-C methods.
...
llvm-svn: 56640
2008-09-26 04:12:28 +00:00
Daniel Dunbar
980c66946b
Add support for CFString in format attribute.
...
llvm-svn: 56639
2008-09-26 03:32:58 +00:00
Daniel Dunbar
2c793a2ecd
Add # of block pointer types to -print-stats.
...
llvm-svn: 56638
2008-09-26 03:23:00 +00:00
Daniel Dunbar
e778131386
Make clang preprocessed output a bit more like gcc output.
...
llvm-svn: 56636
2008-09-26 01:13:35 +00:00
Daniel Dunbar
b5fe494a2c
Update clang to pretend to be gcc-4.2.
...
- This really needs to be automated and configurable.
llvm-svn: 56635
2008-09-26 01:13:13 +00:00
Daniel Dunbar
2c61b32beb
Comment fix.
...
llvm-svn: 56634
2008-09-26 01:11:51 +00:00
Ted Kremenek
894036d2cd
Updated checker build.
...
llvm-svn: 56633
2008-09-26 00:50:00 +00:00
Ted Kremenek
a34ea3b9cf
Have @finally introduce a new scope.
...
Fixes: <rdar://problem/6248119> @finally doesn't introduce a new scope
llvm-svn: 56629
2008-09-26 00:31:16 +00:00
Devang Patel
322300d1c2
Large mechanical patch.
...
s/ParamAttr/Attribute/g
s/PAList/AttrList/g
s/FnAttributeWithIndex/AttributeWithIndex/g
s/FnAttr/Attribute/g
This sets the stage
- to implement function notes as function attributes and
- to distinguish between function attributes and return value attributes.
llvm-svn: 56623
2008-09-25 21:02:23 +00:00
Ted Kremenek
15146a56e1
Emulate gcc driver-driver functionality: run analyzer separately for each separate -arch option.
...
llvm-svn: 56618
2008-09-25 20:17:57 +00:00
Daniel Dunbar
8e519d0d48
Disable report crashes link for the time being.
...
llvm-svn: 56617
2008-09-25 19:59:17 +00:00
Ted Kremenek
c6c4f239d6
Update Xcode project.
...
llvm-svn: 56612
2008-09-25 17:13:59 +00:00
Ted Kremenek
a5e23f6b78
Added prototype implementation of the DeclGroup, DeclGroupRef, and DeclGroupOwningRef classes.
...
Documentation and testing are pending.
llvm-svn: 56611
2008-09-25 17:13:40 +00:00
Daniel Dunbar
0dbad4670c
Add link to report analyzer failures (parse errors, asserts, etc).
...
llvm-svn: 56606
2008-09-25 06:05:31 +00:00
Daniel Dunbar
1ac2ccb47e
Update scan-build to add markers about crashes.
...
llvm-svn: 56603
2008-09-25 01:10:50 +00:00
Ted Kremenek
72e4b0b54c
Include clang preprocessed sources as well with "crashes" output.
...
llvm-svn: 56601
2008-09-25 00:51:44 +00:00
Ted Kremenek
1ad3b3df2f
Use .txt extension for info files.
...
llvm-svn: 56598
2008-09-25 00:25:16 +00:00
Steve Naroff
f17c232a9e
Downgrade incompatible block pointer error to a warning (to be consistent with incompatible pointer warnings in general).
...
llvm-svn: 56595
2008-09-24 23:31:10 +00:00
Steve Naroff
4efed31acf
Fix a couple harmless warnings when compiling optimized with gcc (reported by mrs@apple.com).
...
llvm-svn: 56591
2008-09-24 22:46:45 +00:00
Steve Naroff
c60873ce44
Fix <rdar://problem/6243788> clang: Incorrect return statement for Blocks?
...
llvm-svn: 56590
2008-09-24 22:26:48 +00:00
Daniel Dunbar
3a28b9acbd
Add more testing of Obj-C property synthesis.
...
llvm-svn: 56564
2008-09-24 18:00:13 +00:00
Daniel Dunbar
d8d1fec6bd
Add scan-view '--allow-all-hosts' option, by default access is now
...
restricted to 127.0.0.1.
llvm-svn: 56563
2008-09-24 17:59:41 +00:00
Ted Kremenek
26971ffcc5
Update checker build.
...
llvm-svn: 56562
2008-09-24 17:45:52 +00:00
Steve Naroff
c792570eb1
Fix some const-ness to keep the VisualStudio C++ compiler happy.
...
llvm-svn: 56560
2008-09-24 17:22:34 +00:00