Chris Lattner
7b937ae682
The operand to the visibility attribute is required to be a quoted string, not a bare identifier.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47893 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-04 18:08:48 +00:00
Ted Kremenek
fb79f7cc00
TargetInfo objects now own the TargetInfoImpl objects they refer to.
...
TargetInfo::AddSecondaryTarget is now private, as it is only used during
object construction.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47891 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-04 17:47:18 +00:00
Ted Kremenek
16d8156660
Add transfer function support for the default initialization of static
...
variables that are pointers or integers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47880 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-04 04:18:04 +00:00
Ted Kremenek
ed2d2edecc
Fixed insidious state propagation bug that would sometimes cause the state
...
to bifurcate at the wrong places and not propagate at others.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47876 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-04 00:56:45 +00:00
Ted Kremenek
1e80aa49ec
Enhanced pretty-printing of undefined-argument errors.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47873 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-04 00:42:54 +00:00
Chris Lattner
69153db020
move deprecated -> attributes.c
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47856 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 21:17:42 +00:00
Anders Carlsson
29d5c3bfb0
Temporarily rename mmintrin.h so that it won't clash with the system header. It will be renamed back once the few remaining methods have been implemented.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47852 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 19:34:30 +00:00
Ted Kremenek
5226755ab5
Fixed subtle caching bug in ExplodedGraph that would cause some nodes to
...
be incorrectly merged together.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47851 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 19:29:58 +00:00
Anders Carlsson
37958ee275
Add mmintrin.h header
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47850 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 19:29:06 +00:00
Ted Kremenek
3465fb3831
Only allow a "noreturn" attribute to be affixed to a FunctionDecl.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47844 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 16:52:27 +00:00
Ted Kremenek
6d43959ad8
Added TODO.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47843 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 16:50:00 +00:00
Ted Kremenek
a1354a5448
Added FIXME.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47842 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 16:47:31 +00:00
Gabor Greif
15f362283e
The attribute nothrow maps to llvm attribute nounwind. Fix testcase.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47841 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 14:53:09 +00:00
Gabor Greif
7a03452889
Chris added this testcase with r47837. The mail only shows one todo-warning but I see 3. Strangeness. Correcting lines 16 and 24.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47840 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 14:30:39 +00:00
Chris Lattner
985e1822b7
avoid a warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47839 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 05:57:43 +00:00
Chris Lattner
f89e88d127
fix codegen support for functions that are nothrow and noreturn.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47838 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 03:45:26 +00:00
Chris Lattner
ddee4231e9
Add a bunch of attributes, patch by Nuno Lopes.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47837 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 03:28:21 +00:00
Chris Lattner
dcaa096240
Find clang headers in the clang headers dir, search it before
...
the system headers dir. This produces an annoying warning:
clang.cpp:883: warning: ISO C++ forbids casting between pointer-to-function and pointer-to-object
I'm not sure how to remove it. :(
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47836 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 03:16:03 +00:00
Chris Lattner
4a308e01b4
Build the clang headers.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47834 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 01:23:30 +00:00
Chris Lattner
aba5122746
Add a makefile to build and install headers.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47833 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 01:22:28 +00:00
Gabor Greif
a38f56ef27
ignore .ll files
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47794 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-01 12:57:27 +00:00
Chris Lattner
0f984268b0
Add codegen support for ObjC message expressions with the GNU runtime.
...
Patch by David Chisnall!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47790 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-01 08:50:34 +00:00
Chris Lattner
2b94fe35ed
Add codegen support for ObjC message expressions with the GNU runtime.
...
Patch by David Chisnall!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47789 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-01 08:45:05 +00:00
Chris Lattner
72fc3b30d7
newline at end of file, by David Chisnall
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47788 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-01 08:43:22 +00:00
Chris Lattner
fc62bfd41c
character literals have char type in C++ and int type in C. Patch
...
by Nuno Lopes for PR2089
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47787 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-01 08:32:21 +00:00
Chris Lattner
5f9eae529a
Add support for the CPATH, C_INCLUDE_PATH, CPLUS_INCLUDE_PATH,
...
OBJC_INCLUDE_PATH, and OBJCPLUS_INCLUDE_PATH environment variables.
Patch by Sam Bishop!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47785 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-01 08:07:28 +00:00
Ted Kremenek
2ded35a576
Added extra check for calls to functions where we pass undefined values
...
as arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47778 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-29 23:53:11 +00:00
Steve Naroff
bcb2b61120
Fix http://llvm.org/bugs/show_bug.cgi?id=2103 .
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47775 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-29 23:30:25 +00:00
Ted Kremenek
5e03fcb542
Add checks for function calls via a function pointer that is NULL, Undefined,
...
or otherwise a constant integer value that doesn't evaluate to an address.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47774 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-29 23:14:48 +00:00
Ted Kremenek
ae2a98cd35
Minor CFG optimization: don't create separate block-level expressions for DeclStmt initializers when the initializer is a literal.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47771 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-29 22:32:24 +00:00
Ted Kremenek
b3d914b914
When AST-dumping ObjCMessageExpr, output the selector.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47769 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-29 22:04:05 +00:00
Steve Naroff
da323adbb9
Fix http://llvm.org/bugs/show_bug.cgi?id=2106 .
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47768 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-29 21:48:07 +00:00
Gabor Greif
30037538eb
Fix a crash where PI.TypeInfo has not been filled in case of missing ObjCInterfaceDecl.
...
Happens with Xcode 2.4.1 headers on test
Parser/objc-foreach-error-1.m
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47767 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-29 20:35:55 +00:00
Ted Kremenek
6a6719a3a1
"Refinement" of hack to bound loop-traversals: visit any block at a maximum of 3 times along a given path.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47766 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-29 20:27:50 +00:00
Chris Lattner
fce90e324b
testcase for attr deprecated, by Nuno Lopes.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47757 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-29 18:11:31 +00:00
Chris Lattner
ef52a2fb2a
make include guards more unique.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47754 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-29 17:10:38 +00:00
Chris Lattner
7e669b2514
Add support for attribute(deprecated), patch by Nuno Lopes!
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47753 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-29 16:48:43 +00:00
Ted Kremenek
5c61e7a1fc
Added simple hack to reduce redundant warnings from the checker:
...
Cache the location of the error. Don't emit the same
warning for the same error type that occurs at the same program
location but along a different path.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47727 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-28 20:38:16 +00:00
Ted Kremenek
8cc13ea74f
Added checking for undefined results of '<<' and '>>' (shifting by too many bits, etc.)
...
This current implementation only works when both operands are concrete values; later we will add support for symbolic values.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47726 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-28 20:32:03 +00:00
Eli Friedman
f9ce5b049e
Implementation of the first clang-native header, stdbool.h. Comments
...
welcome.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47724 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-28 19:45:29 +00:00
Gabor Greif
9c63ed58cf
Updated clang webpage to hint at "make update". Also
...
changed "very early" to "early" when talking about
the state of clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47718 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-28 14:59:26 +00:00
Ted Kremenek
aed9b6ac2e
Merged ValueState and ValueStateImpl into just ValueState, with GRExprEngine::StateTy just becoming ValueState*.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47714 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-28 10:21:43 +00:00
Ted Kremenek
4a4e524afe
Renamed "Uninitialized" -> "Undefined" in path-sensitive value tracking engine.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47713 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-28 09:25:22 +00:00
Ted Kremenek
f5c93c160c
Added parsing of attributes for functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47693 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-27 22:18:07 +00:00
Ted Kremenek
2bebc40995
Fixed use of an uninitialized variable.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47691 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-27 20:47:56 +00:00
Ted Kremenek
affb215971
End paths when calling a function marked "noreturn."
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47690 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-27 20:43:44 +00:00
Ted Kremenek
aecb383685
Added support for attribute "noreturn."
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47689 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-27 20:43:06 +00:00
Ted Kremenek
b0ab2120e5
Small tweaks to the transfer function for DeclStmt: do not mark external global
...
variables as uninitialized, and only "initialize" static function variables.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47683 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-27 19:21:33 +00:00
Lauro Ramos Venancio
de808ca855
Disable internalize. Unfortunately, the configure scripts are not ready for some link time optimizations.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47682 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-27 18:46:32 +00:00
Ted Kremenek
2e5f54aa1d
Removed VarDecl::hasStaticStorage() (redundant with hasGlobalStorage())
...
Removed VarDecl::hasAutoStorage() (only used by hasLocalStorage())
Merged logic from VarDecl::hasAutoStorage() into VarDecl::hasLocalStorage(),
and expanded (fixed) the logic of hasLocalStorage() to handle Extern and PrivateExtern.
Renamed Expr::hasStaticStorage() to Expr::hasGlobalStorage().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47681 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-27 18:39:48 +00:00