Commit Graph

54268 Commits

Author SHA1 Message Date
Ted Kremenek d7b4f40b18 CallExpr now uses ASTContext's allocate to allocate/delete its array of subexpressions.
llvm-svn: 64162
2009-02-09 20:51:47 +00:00
Anders Carlsson 15949b3a32 Use the new cleanup infrastructure for VLAs. The next iteration of patches will remove the old Obj-C EH cleanup code.
llvm-svn: 64161
2009-02-09 20:41:50 +00:00
Anders Carlsson bfee7e921b Use the new cleanup infrastructure for @try/@finally
llvm-svn: 64160
2009-02-09 20:38:58 +00:00
Anders Carlsson 1ac6282c5b Replace a bunch of EmitBranch calls with EmitBranchThroughCleanup. No functionality change (yet).
llvm-svn: 64159
2009-02-09 20:31:03 +00:00
Gabor Greif 5b9974a81f incorporate review feedback
llvm-svn: 64158
2009-02-09 20:27:45 +00:00
Anders Carlsson ff0bb6ce62 Save and restore the DidCallStackSave variable
llvm-svn: 64157
2009-02-09 20:23:40 +00:00
Anders Carlsson f4478e94b8 Add DidCallStackSave variable to CodeGenFunction.
llvm-svn: 64156
2009-02-09 20:20:56 +00:00
Douglas Gregor aef040a28e When handling "the rest" of a designated array subobject, maybe sure
to tell it that it wasn't (directly) designated. This way, we unwind
back to the explicit initializer list properly rather than getting
stuck in the wrong subobject. Fixes llvm.org/PR3519

llvm-svn: 64155
2009-02-09 19:45:19 +00:00
Douglas Gregor 67b556a0da Eliminate TemplateArg so that we only have a single kind of
representation for template arguments. Also simplifies the interface
for ActOnClassTemplateSpecialization and eliminates some annoying
allocations of TemplateArgs.

My attempt at smart pointers for template arguments lists is
relatively lame. We can improve it once we're sure that we have the
right representation for template arguments.

llvm-svn: 64154
2009-02-09 19:34:22 +00:00
Douglas Gregor 8bf4205c70 Start processing template-ids as types when the template-name refers
to a class template. For example, the template-id 'vector<int>' now
has a nice, sugary type in the type system. What we can do now:

  - Parse template-ids like 'vector<int>' (where 'vector' names a
    class template) and form proper types for them in the type system.
  - Parse icky template-ids like 'A<5>' and 'A<(5 > 0)>' properly,
    using (sadly) a bool in the parser to tell it whether '>' should
    be treated as an operator or not.

This is a baby-step, with major problems and limitations:
  - There are currently two ways that we handle template arguments
  (whether they are types or expressions). These will be merged, and,
  most likely, TemplateArg will disappear.
  - We don't have any notion of the declaration of class template
  specializations or of template instantiations, so all template-ids
  are fancy names for 'int' :)

llvm-svn: 64153
2009-02-09 18:46:07 +00:00
Sebastian Redl 1df2bbe7f9 Update new expression to make use of Declarator::getSourceRange().
References are not objects; implement this in Type::isObjectType().

llvm-svn: 64152
2009-02-09 18:24:27 +00:00
Sebastian Redl f6591ca6d9 Implement Declarator::getSourceRange().
llvm-svn: 64151
2009-02-09 18:23:29 +00:00
Dan Gohman a950e99dee Use doxygen comment syntax.
llvm-svn: 64150
2009-02-09 18:12:09 +00:00
Ted Kremenek 0203db73ee Fix PR 2514: Do not flag dead initializations for variables initialized to a constant global variable.
llvm-svn: 64149
2009-02-09 18:01:00 +00:00
Dan Gohman 9280a685db Use slightly more correct grammar in error messages.
llvm-svn: 64148
2009-02-09 17:41:21 +00:00
Mikhail Glushenkov 8ebeee37dc 80-column violations.
llvm-svn: 64147
2009-02-09 17:11:05 +00:00
Ted Kremenek e2559b22d0 Deallocate the StringLiteral itself in StringLiteral::Destroy() and deallocate the string data before running StringLiteral's destructor.
llvm-svn: 64146
2009-02-09 17:10:09 +00:00
Ted Kremenek 5b0d90fa79 Allocate the subexpression array for OberloadExpr from ASTContext's allocator.
llvm-svn: 64145
2009-02-09 17:08:14 +00:00
Ted Kremenek 42bdbef222 Refine PostStmtCustom to reference a tagged data pair with the tag to indicate the checker.
llvm-svn: 64144
2009-02-09 16:59:59 +00:00
Ted Kremenek a4bebd0c69 Added a new ProgramPoint 'PostStmtCustom' to enable checker-specific ProgramPoints.
llvm-svn: 64143
2009-02-09 16:52:31 +00:00
Gabor Greif cab008f51f make sure that BranchInst::getSuccessor() does not assert in cast<>
even if the underlying operand is NULL. This may happen in debugging context
within opt with partial loop unrolling (see test/Transforms/LoopUnroll/partial.ll).
After this fix I can resubmit the (backed out) r63459:
* lib/VMCore/AsmWriter.cpp: use precise accessors.

llvm-svn: 64142
2009-02-09 15:45:06 +00:00
Douglas Gregor 9817f4a717 Make Sema::getTypeName return the opaque pointer of a QualType rather
than a Decl, which gives us some more flexibility to express the
results with the type system. There are no clients using this
flexibility yet, but it's meant to be able to describe qualified names
as written in the source (e.g., "foo::type") or template-ids that name
a class template specialization (e.g., "std::vector<INT>").

DeclSpec's TST_typedef has become TST_typename, to reflect its use to
describe types found by name (that may or may not be typedefs). The
type representation of a DeclSpec with TST_typename is an opaque
QualType pointer. All users of TST_typedef, both direct and indirect,
have been updated for these changes.

llvm-svn: 64141
2009-02-09 15:09:02 +00:00
Bill Wendling b9ad4921fd Fix comment.
llvm-svn: 64137
2009-02-09 12:31:40 +00:00
Bill Wendling cdd2f21dea These function return 'void'. Don't have 'return' return anything.
llvm-svn: 64136
2009-02-09 12:31:26 +00:00
Chris Lattner bf1d5458ad fix typo, patch by Jonathan Brandmeyer!
llvm-svn: 64132
2009-02-09 10:00:56 +00:00
Duncan Sands 8c469be54b Testcase for PR2437.
llvm-svn: 64131
2009-02-09 09:41:49 +00:00
Chris Lattner 10c16ca0b9 spell out explicitly
llvm-svn: 64129
2009-02-09 08:47:44 +00:00
Chris Lattner f5e9242dd4 add doc
llvm-svn: 64128
2009-02-09 08:47:17 +00:00
Chris Lattner b8ec6bbb6a new document.
llvm-svn: 64127
2009-02-09 08:46:11 +00:00
Evan Cheng f736bd9c79 Re-enable machine sinking pass now that the coalescer bugs and the AnalyzeBrnach bug are fixed.
llvm-svn: 64126
2009-02-09 08:45:39 +00:00
Evan Cheng 81ae066ab6 Fix another case ShortenDeadCopySrcLiveRange is shortening too much. No test case possible since I don't know what to grep for. :-(
llvm-svn: 64125
2009-02-09 08:37:45 +00:00
Evan Cheng 64dfcacd5f Turns out AnalyzeBranch can modify the mbb being analyzed. This is a nasty
suprise to some callers, e.g. register coalescer. For now, add an parameter
that tells AnalyzeBranch whether it's safe to modify the mbb. A better
solution is out there, but I don't have time to deal with it right now.

llvm-svn: 64124
2009-02-09 07:14:22 +00:00
Bill Wendling 6e91f6119a Strip the LTO dylib.
llvm-svn: 64119
2009-02-09 06:42:40 +00:00
Bill Wendling 194d09151a Small fix for the 'strip' command. Do a list of .so files.
llvm-svn: 64112
2009-02-09 04:01:11 +00:00
Evan Cheng b9946d9841 Eliminate a 'control reaches end of non-void function' warning.
llvm-svn: 64111
2009-02-09 03:07:24 +00:00
Bill Wendling f2116d7450 Don't run 'strip' on files that aren't there.
llvm-svn: 64108
2009-02-09 02:18:35 +00:00
Bill Wendling 783b851b76 Remove warnings about not being able to delete something. Don't run lipo on gccas, gccld, and llvm-config scripts.
llvm-svn: 64107
2009-02-09 02:13:33 +00:00
Chris Lattner da0921f5e6 mention rdynamic, PR3431, patch by Stein Roger Skafløtten!
llvm-svn: 64106
2009-02-09 00:04:40 +00:00
Mike Stump fc49682f20 Add some more documentation. Also reflowed comments to 80 col.
llvm-svn: 64105
2009-02-08 23:14:22 +00:00
Bill Wendling b9a7327006 Document llvm.umul.with.overflow indicating that it's badly broken and not intended for use.
llvm-svn: 64104
2009-02-08 23:00:09 +00:00
Bill Wendling c743d39585 Rename dg.exp to llvmc.exp. This is so I can ignore it during a make check if I want to.
llvm-svn: 64103
2009-02-08 22:52:50 +00:00
Mikhail Glushenkov f606bd6a6d 80-column violation.
llvm-svn: 64102
2009-02-08 22:48:07 +00:00
Mikhail Glushenkov 8b5bfbfc7a Add a Sleep() function.
llvm-svn: 64101
2009-02-08 22:47:39 +00:00
Anders Carlsson 9c964ac272 Reuse case destinations.
llvm-svn: 64100
2009-02-08 22:46:50 +00:00
Anders Carlsson f57b9eef62 Always check if we can remove branch fixups, even if the cleanup stack is empty.
llvm-svn: 64099
2009-02-08 22:45:15 +00:00
Anders Carlsson dcb149cbef Add a simplified EmitJumpThroughFinally and use it in CGObjC in preparation of making it use the cleanup stack.
llvm-svn: 64098
2009-02-08 22:25:30 +00:00
Chris Lattner d1d4cffae9 I can't type today apparently.
llvm-svn: 64097
2009-02-08 22:21:28 +00:00
Anders Carlsson 76180ea456 Misc fixes to the cleanup stack code.
llvm-svn: 64096
2009-02-08 22:13:37 +00:00
Mike Stump a6dbd7b25a When we're at the stack depth we want, there isn't anything to do.
llvm-svn: 64095
2009-02-08 22:00:53 +00:00
Mikhail Glushenkov a6435d48bc Add Emacs hints to Alarm.inc.
Also removes some trailing whitespace and fixes one 80-column violation.

llvm-svn: 64094
2009-02-08 21:10:57 +00:00