llvm-project/clang
Chandler Carruth a05e09ba48 Skip both character pointers and void pointers when diagnosing bad
argument types for mem{set,cpy,move}. Character pointers, much like void
pointers, often point to generic "memory", so trying to check whether
they match the type of the argument to 'sizeof' (or other checks) is
unproductive and often results in false positives.

Nico, please review; does this miss any of the bugs you were trying to
find with this warning? The array test case you had should be caught by
the array-specific sizeof warning I think.

llvm-svn: 133136
2011-06-16 02:00:04 +00:00
..
INPUTS
bindings/python python bindings: Add support for different kind of completion chunks 2011-02-05 17:54:10 +00:00
clang.xcodeproj The ARC Migration Tool. All the credit goes to Argyrios and Fariborz 2011-06-15 23:25:17 +00:00
docs Automatic Reference Counting. 2011-06-15 23:02:42 +00:00
examples Reverts the Tooling changes as requested by Chris. 2011-06-02 16:58:33 +00:00
include Make the presentation of the warnings on 'x + y ? 1 : 0' a bit more 2011-06-16 01:05:12 +00:00
lib Skip both character pointers and void pointers when diagnosing bad 2011-06-16 02:00:04 +00:00
runtime Driver/Darwin: Change to use generic iOS runtime library, which we now always need. 2011-04-18 23:48:36 +00:00
test Skip both character pointers and void pointers when diagnosing bad 2011-06-16 02:00:04 +00:00
tools Grr. Of course libARCMigrate depends on libRewrite. This is a lot to be 2011-06-16 01:29:56 +00:00
unittests The ARC Migration Tool. All the credit goes to Argyrios and Fariborz 2011-06-15 23:25:17 +00:00
utils fix a bunch of comment typos found by codespell. Patch by 2011-04-15 05:22:18 +00:00
www Hyphenate "argument-dependent". 2011-06-14 12:59:25 +00:00
CMakeLists.txt Revert "hack in my new variables for GCC" 2011-06-08 10:14:38 +00:00
INSTALL.txt
LICENSE.TXT My calendar says it's 2011. 2011-06-12 15:26:54 +00:00
Makefile Basic: Add support for a build variable to set the repository path that goes 2011-03-31 00:32:50 +00:00
ModuleInfo.txt
NOTES.txt
README.txt
TODO.txt Test commit; added blank line to TODO.txt 2011-01-04 19:19:20 +00:00

README.txt

//===----------------------------------------------------------------------===//
// C Language Family Front-end
//===----------------------------------------------------------------------===//

Welcome to Clang.  This is a compiler front-end for the C family of languages
(C, C++, Objective-C, and Objective-C++) which is built as part of the LLVM
compiler infrastructure project.

Unlike many other compiler frontends, Clang is useful for a number of things
beyond just compiling code: we intend for Clang to be host to a number of
different source level tools.  One example of this is the Clang Static Analyzer.

If you're interested in more (including how to build Clang) it is best to read
the relevant web sites.  Here are some pointers:

Information on Clang:              http://clang.llvm.org/
Building and using Clang:          http://clang.llvm.org/get_started.html
Clang Static Analyzer:             http://clang-analyzer.llvm.org/
Information on the LLVM project:   http://llvm.org/

If you have questions or comments about Clang, a great place to discuss them is
on the Clang development mailing list:
  http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev

If you find a bug in Clang, please file it in the LLVM bug tracker:
  http://llvm.org/bugs/