Commit Graph

55021 Commits

Author SHA1 Message Date
Douglas Gregor 441f24118a Include the appropriate header for malloc
llvm-svn: 65471
2009-02-25 19:48:02 +00:00
Daniel Dunbar a374e60e57 Fold GeneraticStaticBlockVarDecl into callers.
- No functionality change.

llvm-svn: 65470
2009-02-25 19:45:19 +00:00
Devang Patel 7e7fa83f6e Print variable's display name in dwarf DIE.
llvm-svn: 65468
2009-02-25 19:41:35 +00:00
Douglas Gregor 7f74112756 Implement parsing of nested-name-specifiers that involve template-ids, e.g.,
std::vector<int>::allocator_type

When we parse a template-id that names a type, it will become either a
template-id annotation (which is a parsed representation of a
template-id that has not yet been through semantic analysis) or a
typename annotation (where semantic analysis has resolved the
template-id to an actual type), depending on the context. We only
produce a type in contexts where we know that we only need type
information, e.g., in a type specifier. Otherwise, we create a
template-id annotation that can later be "upgraded" by transforming it
into a typename annotation when the parser needs a type. This occurs,
for example, when we've parsed "std::vector<int>" above and then see
the '::' after it. However, it means that when writing something like
this:

  template<> class Outer::Inner<int> { ... };

We have two tokens to represent Outer::Inner<int>: one token for the
nested name specifier Outer::, and one template-id annotation token
for Inner<int>, which will be passed to semantic analysis to define
the class template specialization.

Most of the churn in the template tests in this patch come from an
improvement in our error recovery from ill-formed template-ids.

llvm-svn: 65467
2009-02-25 19:37:18 +00:00
Daniel Dunbar 22a87f94a9 Pull COdeGenFunction::CreateStaticBlockVarDecl (just for creating the
global variable) out of GenerateStaticBlockVarDecl. 
 - No intended functionality change.
 - Prep for some mild cleanups and PR3662.

llvm-svn: 65466
2009-02-25 19:24:29 +00:00
Chris Lattner af618171f4 Fix PR3667
llvm-svn: 65464
2009-02-25 18:20:01 +00:00
Duncan Sands c642e53b8c Check that records with a known constant size are not
copied field by LLVM field if the record has a variable
sized field in it.  The problem is that the LLVM field
will not completely cover the variable sized gcc field.

llvm-svn: 65463
2009-02-25 18:10:49 +00:00
Chris Lattner d92f1bfa11 add c++ search path for GCC 4.2, PR3668, patch by Pawel Worach!
llvm-svn: 65462
2009-02-25 18:06:37 +00:00
Anders Carlsson f2f2e7f6a1 Use CheckAssignmentConstraints for checking the cleanup attr function. Fixes PR3656.
llvm-svn: 65461
2009-02-25 17:19:08 +00:00
Douglas Gregor 739ef0c183 C99 DR #316 implies that the function parameter types that are known
only from a function definition (that does not have a prototype) are
only used to determine the compatible with other declarations of that
same function. In particular, when referencing the function we pretend
as if it does not have a prototype. Implement this behavior, which
fixes PR3626.

llvm-svn: 65460
2009-02-25 16:33:18 +00:00
Zhou Sheng 5d9cc1763b Don't block basic block with only SwitchInst to fold into predecessors.
llvm-svn: 65456
2009-02-25 15:34:27 +00:00
Gabor Greif dd4ddf13a6 fix (hopefully) some validation errors
llvm-svn: 65455
2009-02-25 15:22:45 +00:00
Duncan Sands d34bf76bd1 Flesh out the Ada section a little.
llvm-svn: 65448
2009-02-25 11:59:06 +00:00
Duncan Sands 3aa3673f5b The C backend does not support arbitrary precision integers.
llvm-svn: 65447
2009-02-25 11:51:54 +00:00
Duncan Sands 966fd26c83 Note on new type legalizer.
llvm-svn: 65446
2009-02-25 11:50:08 +00:00
Duncan Sands d9c3557fcc Add note on support for arbitrary precision integers.
llvm-svn: 65445
2009-02-25 11:37:39 +00:00
Gabor Greif 267e01cb28 minor tweaks to readability
llvm-svn: 65440
2009-02-25 09:45:40 +00:00
Chris Lattner 3ab27b75a7 more notes.
llvm-svn: 65439
2009-02-25 07:32:53 +00:00
Evan Cheng 86673f2806 Clean up dwarf writer, part 1. This eliminated the horrible recursive getGlobalVariablesUsing and replaced it something readable. It eliminated use of slow UniqueVector and replaced it with StringMap, SmallVector, and DenseMap, etc. It also fixed some non-deterministic behavior.
This is a very minor compile time win.

llvm-svn: 65438
2009-02-25 07:04:34 +00:00
Nick Lewycky 5c10a3aa7f Add a totally synthetic situation I came up with while looking at a bug in
related code.

llvm-svn: 65437
2009-02-25 06:52:48 +00:00
Chris Lattner d02da04564 random notes
llvm-svn: 65436
2009-02-25 06:34:50 +00:00
Nick Lewycky 2db07614e7 Recommend against using Gold to build LLVM.
llvm-svn: 65435
2009-02-25 06:29:47 +00:00
Chris Lattner b39faaa57e don't know if there is a vmkit release to match 2.5
llvm-svn: 65434
2009-02-25 05:45:05 +00:00
Chris Lattner d79eb11e22 update
llvm-svn: 65433
2009-02-25 05:43:33 +00:00
Chris Lattner 014d2ad55f Headers are basically done, debug info is just about done (and
will improve a lot this week hopefully), and a libgcc replacement
is ready once I wrangle lawyers.

llvm-svn: 65432
2009-02-25 05:39:01 +00:00
Chris Lattner a004a1846b clang seems "generally useful" for c and objc by now, though obviously bugs
still remain.

llvm-svn: 65431
2009-02-25 05:35:47 +00:00
Chris Lattner f70a024c43 update clang section
llvm-svn: 65430
2009-02-25 05:09:54 +00:00
Chris Lattner 7fad44b004 rip out llvm 2.4 details to make room for 2.5
llvm-svn: 65429
2009-02-25 04:41:31 +00:00
Eli Friedman 8163b7aa20 Minor cleanup for IntToBlockPointer so it applies to all callers of
Sema::CheckAssignmentConstraints; not really visible, but the right 
thing to do.

llvm-svn: 65428
2009-02-25 04:20:42 +00:00
Scott Michel e2fdc31759 Expand tabs to spaces (overlooked in previous commit)
llvm-svn: 65427
2009-02-25 03:57:49 +00:00
Scott Michel bb878288cb Remove all "cached" data from BuildVectorSDNode, preferring to retrieve
results via reference parameters.

This patch also appears to fix Evan's reported problem supplied as a
reduced bugpoint test case.

llvm-svn: 65426
2009-02-25 03:12:50 +00:00
Ted Kremenek dce7846c24 retain/release checker: Implement basic tracking of autorelease stack. Next thing is to wire up pools with their contents.
llvm-svn: 65425
2009-02-25 02:54:57 +00:00
Ted Kremenek 47bd78ef73 Implement 'Add' method for GRStatePartialTrait<ImmutableList<T>>.
llvm-svn: 65424
2009-02-25 02:54:00 +00:00
Devang Patel 410dc00184 Fix comments.
llvm-svn: 65423
2009-02-25 01:36:11 +00:00
Devang Patel 9d7d17a8ec Enable debug info emission for objc methods.
llvm-svn: 65422
2009-02-25 01:09:46 +00:00
Ted Kremenek 7a164114f6 Update checker build.
llvm-svn: 65421
2009-02-25 00:54:41 +00:00
Daniel Dunbar a1047857f7 Remove a FIXME; I was mistaken in believing gcc rejected this.
llvm-svn: 65420
2009-02-25 00:22:25 +00:00
Ted Kremenek 86cb75a7cc Fix condition in ccc-analyzer that would cause the analyzer never to be run.
llvm-svn: 65417
2009-02-25 00:10:37 +00:00
Fariborz Jahanian 30b3ac5e9e Minor refactoring.
llvm-svn: 65414
2009-02-24 23:38:42 +00:00
Fariborz Jahanian 240f2b7851 patch for two things.
make sure objc2's nonfragile abi is enacted for Leopard too.
add -fobjc-gc-only flag to the image_info symbol.

llvm-svn: 65413
2009-02-24 23:34:44 +00:00
Ted Kremenek 260c49a712 Fix broken logic from my last commit. Branches only occur at basic blocks that end with terminators.
llvm-svn: 65410
2009-02-24 23:34:17 +00:00
Ted Kremenek c324a0e089 Fix diagnostic regression where the leak diagnostic could appear earlier in the path than the branches taken.
llvm-svn: 65407
2009-02-24 23:30:57 +00:00
Mon P Wang b402493161 Added support to have TableGen provide information if an intrinsic (core
or target) can be overloaded or not.

llvm-svn: 65404
2009-02-24 23:17:49 +00:00
Devang Patel ab19ecad22 If Loc is invalid (e.g. "self" in Objective-C) then use MainFileID's compile unit.
llvm-svn: 65403
2009-02-24 23:16:03 +00:00
Devang Patel 0c83e84f40 If compile unit's language is not set then don't crash while dump'ing compile unit.
llvm-svn: 65402
2009-02-24 23:15:09 +00:00
Chris Lattner d8b741c85f handle @encode interactions with array initializers.
llvm-svn: 65401
2009-02-24 23:10:27 +00:00
Chris Lattner 94e6c4be9a rename CheckStringLiteralInit to CheckStringInit and pass in the
string size as an argument.

llvm-svn: 65400
2009-02-24 23:01:39 +00:00
Chris Lattner b0912a59d3 make SemaRef be a reference to sema, not a pointer.
llvm-svn: 65399
2009-02-24 22:50:46 +00:00
Chris Lattner 9ececceea9 move InitListChecker to be private to SemaInit.cpp
llvm-svn: 65398
2009-02-24 22:48:58 +00:00
Chris Lattner 94d2f6819f Make CheckSingleInitializer a static function in SemaInit.cpp
llvm-svn: 65397
2009-02-24 22:46:58 +00:00