Граф коммитов

2803 Коммитов

Автор SHA1 Сообщение Дата
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