Ted Kremenek
ea4a5abf61
Add static analyzer check for calls to 'pthread_once()' where the control-flow has
...
automatic storage. This matches the corresponding check for 'dispatch_once()'.
llvm-svn: 100803
2010-04-08 19:53:31 +00:00
Ted Kremenek
7ffb294c5b
Update CMake build.
...
llvm-svn: 100802
2010-04-08 18:52:18 +00:00
Ted Kremenek
a0859f1e7d
Update test case.
...
llvm-svn: 100801
2010-04-08 18:51:47 +00:00
Ted Kremenek
afed24b472
Remove micro-optimization for not issueing CFG-based warnings for 'static inline' functions
...
unless they are used. I discussed this with Daniel Dunbar, and we agreed that this
provides an inconsistent warnings experience for the user and that there were
genuine cases where we wouldn't want to do this optimization.
llvm-svn: 100800
2010-04-08 18:51:44 +00:00
Ted Kremenek
d87bd77586
Fix -Wsign-compare warning (issued by clang++).
...
llvm-svn: 100799
2010-04-08 18:49:30 +00:00
Dan Gohman
98bc4371c7
Add a -lint pass which checks for common sources of undefined or likely
...
unintended behavior.
llvm-svn: 100798
2010-04-08 18:47:09 +00:00
Devang Patel
359b013129
Rename a function.
...
llvm-svn: 100797
2010-04-08 18:43:56 +00:00
Chris Lattner
294a90d87a
implicit defs get added to the end of machine instrs sometimes. Scan the whole instruction for the metadata operand instead of assuming it will be at the end of the instruction.
...
llvm-svn: 100792
2010-04-08 18:20:52 +00:00
Douglas Gregor
01e09d9d91
Introduce an egregious hack to work around a bug in libstdc++ 4.2.x's
...
<tr1/hashtable> header, where a friend class template
std::tr1::__detail::_Map_base is declared with the wrong template
parameters. GCC doesn't catch the problem, so Clang does a little
back-flip to avoid diagnosing just this one instance of the problem.
llvm-svn: 100790
2010-04-08 18:16:15 +00:00
Dan Gohman
cb45bd9cb3
Pointers to zero-sized objects don't point to overlapping objects.
...
llvm-svn: 100789
2010-04-08 18:11:50 +00:00
Fariborz Jahanian
590c3524ac
Fix a misuse of iterators when iterating through block's
...
parameters list for encoding.
llvm-svn: 100788
2010-04-08 18:06:22 +00:00
Dan Gohman
386e01e879
Print empty structs as {} rather than { }.
...
llvm-svn: 100787
2010-04-08 18:03:05 +00:00
Ted Kremenek
a1de6fc575
Include all warnings under '-Wunused' in '-Wmost' and '-Wall'.
...
llvm-svn: 100786
2010-04-08 17:54:28 +00:00
Ted Kremenek
9f6bcf7b45
Sort entries in diagnostic group "Most".
...
llvm-svn: 100785
2010-04-08 17:54:24 +00:00
John McCall
cf75c1e4ed
Maybe we should store template arguments in the position we allocated for them
...
instead of scribbling over random memory. Maybe.
Hopefully this fixes the -vg buildbot.
llvm-svn: 100784
2010-04-08 17:47:15 +00:00
Dan Gohman
b6c29c27da
Fix a comment.
...
llvm-svn: 100783
2010-04-08 17:41:04 +00:00
Jeffrey Yasskin
96f8a4a82f
Touch configure so it regenerates Disassemblers.def to include ARM so
...
people stop seeing a broken build in EDDisassembler.cpp
llvm-svn: 100782
2010-04-08 17:19:20 +00:00
Devang Patel
3ebd8931fb
One instruction may start (or end) multiple lexical scopes.
...
There is no need to remember labels identifying regions marked by such instructions in each scope.
llvm-svn: 100781
2010-04-08 16:50:29 +00:00
Gabor Greif
64d8d1a022
clean up algorithm and remove operand order assumptions
...
llvm-svn: 100780
2010-04-08 16:46:24 +00:00
Jeffrey Yasskin
c76498d409
Make CXXScopeSpec invalid when incomplete, and propagate that into any
...
Declarator that depends on it. This fixes several redundant errors and bad
recoveries.
llvm-svn: 100779
2010-04-08 16:38:48 +00:00
Anders Carlsson
af2a317e05
Rename CGVtable files to CGVTables.
...
llvm-svn: 100778
2010-04-08 16:30:25 +00:00
Anders Carlsson
ae9e9a63bd
Clarify an assert.
...
llvm-svn: 100776
2010-04-08 16:18:36 +00:00
Douglas Gregor
bc6a434773
Unbreak the build
...
llvm-svn: 100775
2010-04-08 16:07:47 +00:00
Dan Gohman
bc048307f3
Fix a comment.
...
llvm-svn: 100774
2010-04-08 15:57:10 +00:00
Benjamin Kramer
31160e8469
CIndex: move extractUSRSuffix out of extern "C" and simplify it.
...
llvm-svn: 100773
2010-04-08 15:54:07 +00:00
Douglas Gregor
eadd3cace9
Eliminate excessive PCH deserialization caused by the search for
...
__cxxabiv1::__fundamental_type_info in every translation
unit. Previously, we would perform name lookup for
__cxxabiv1::__fundamental_type_info at the end of IRGen for a each
translation unit, to determine whether it was present. If so, we we
produce type information for all of the fundamental types. However,
this name lookup causes PCH deserialization of a significant part of the
translation unit, which has a woeful impact on performance.
With this change, we now look at each record type after we've
generated its vtable to see if it is
__cxxabiv1::__fundamental_type_info. If so, we generate type info for
all of the fundamental types. This works because
__cxxabiv1::__fundamental_type_info should always have a key function
(typically the virtual destructor), that will be defined once in the
support library. The fundamental type information will end up there.
Fixes <rdar://problem/7840011>.
llvm-svn: 100772
2010-04-08 15:52:03 +00:00
Devang Patel
2abed283e5
Remove dead code.
...
llvm-svn: 100771
2010-04-08 15:48:02 +00:00
Benjamin Kramer
f41ccef5eb
Remove caseless switch.
...
llvm-svn: 100770
2010-04-08 15:44:22 +00:00
Devang Patel
adfd4df12c
Delete out of date comment.
...
llvm-svn: 100769
2010-04-08 15:41:13 +00:00
Devang Patel
f1d5a1e994
Refactor.
...
llvm-svn: 100768
2010-04-08 15:37:09 +00:00
Benjamin Kramer
53dd088b58
Various MSVC warning fixes about truncated 64 bit shifts and const pointers passed to free.
...
llvm-svn: 100767
2010-04-08 15:25:57 +00:00
Benjamin Kramer
a1eafb9afd
Provide operator delete for BumpPtrAllocator and RecyclingAllocator. They will
...
never be called but msvc complains that they're missing.
llvm-svn: 100766
2010-04-08 15:22:35 +00:00
Gabor Greif
c6a6d39289
use abstract interface in two more places
...
llvm-svn: 100762
2010-04-08 13:50:42 +00:00
Gabor Greif
1c73242012
fix compile
...
llvm-svn: 100760
2010-04-08 13:08:11 +00:00
Gabor Greif
11e7b32e4e
use abstract interface
...
llvm-svn: 100758
2010-04-08 12:52:19 +00:00
Benjamin Kramer
a6769269f3
Use twines to simplify calls to report_fatal_error. For code size and readability.
...
llvm-svn: 100756
2010-04-08 10:44:28 +00:00
Benjamin Kramer
634d9ff7c0
Use errs instead of fprintf.
...
llvm-svn: 100754
2010-04-08 09:42:29 +00:00
John McCall
b9c7848ba7
Implement dependent friend function template specializations.
...
llvm-svn: 100753
2010-04-08 09:05:18 +00:00
Evan Cheng
ebe47c872f
Avoid using f64 to lower memcpy from constant string. It's cheaper to use i32 store of immediates.
...
llvm-svn: 100751
2010-04-08 07:37:57 +00:00
Ted Kremenek
fc58c37b8c
Removed unused object.
...
llvm-svn: 100750
2010-04-08 07:30:50 +00:00
Dan Gohman
883105485b
Revert this change from a while ago; ScalarEvolution shouldn't analyze
...
undef as 0, since it can't force other analyses to intepret the undef
in the same way.
llvm-svn: 100749
2010-04-08 05:58:24 +00:00
Dan Gohman
4506539d84
When expanding expressions which are using post-inc mode for multiple loops,
...
ensure that the expansion is dominated by the increments of those loops.
llvm-svn: 100748
2010-04-08 05:57:57 +00:00
Daniel Dunbar
8ee6760971
Fronted: Kill overly specialized RecordLayoutDumper, just make -dump-record-layouts a bit that Sema honors.
...
llvm-svn: 100747
2010-04-08 02:59:56 +00:00
Daniel Dunbar
aa423afffc
AST: Move C++ record layout dumping to ASTContext::DumpRecordLayout.
...
llvm-svn: 100746
2010-04-08 02:59:49 +00:00
Daniel Dunbar
c75c8bd757
IRgen: Move the bit-field access type into CGBitFieldInfo, and change bit-field LValues to just store the base address of object containing the bit-field.
...
llvm-svn: 100745
2010-04-08 02:59:45 +00:00
Evan Cheng
058b9f04e8
Make post regalloc machine licm functional. It now passes all of MultiSource.
...
llvm-svn: 100742
2010-04-08 01:03:47 +00:00
Chris Lattner
685db9d59e
typo
...
llvm-svn: 100738
2010-04-08 00:54:34 +00:00
Chris Lattner
bd4ca62c80
document isvolatile etc.
...
llvm-svn: 100737
2010-04-08 00:53:57 +00:00
Eric Christopher
c0f63cf7a9
mpsadbw is not commutative.
...
Fixes PR3440.
llvm-svn: 100736
2010-04-08 00:52:02 +00:00
Sean Callanan
03549ee5af
Added support for ARM disassembly to edis.
...
I also added a rule to the ARM target's Makefile to
build the ARM-specific instruction information table
for the enhanced disassembler.
I will add the test harness for all this stuff in
a separate commit.
llvm-svn: 100735
2010-04-08 00:48:21 +00:00