Commit Graph

67837 Commits

Author SHA1 Message Date
Douglas Gregor e2350a3b97 Eliminate FunctionDecl::getBodyIfAvailable
llvm-svn: 81588
2009-09-12 00:08:48 +00:00
Anders Carlsson 97c7eda14a Fix a crash when generating vtables that contain destructors.
llvm-svn: 81587
2009-09-12 00:00:29 +00:00
Mike Stump 80f6ac5a4f Add basic covariant thunk generation support. WIP.
llvm-svn: 81585
2009-09-11 23:25:56 +00:00
Douglas Gregor cc2427c343 When performing name lookup within a class template or class template
partial specialization, make sure we look into non-dependent base
classes (but not dependent base classes). Fixes PR4951.

llvm-svn: 81584
2009-09-11 22:57:37 +00:00
Fariborz Jahanian a31472def0 No need to build the visible conversionfunction list for root class.
llvm-svn: 81583
2009-09-11 22:27:50 +00:00
Daniel Dunbar bbaeca4fef Set the calling convention based on the CGFunctionInfo.
llvm-svn: 81582
2009-09-11 22:25:00 +00:00
Daniel Dunbar 7feafc70d9 Add CallingConvention argument to CGFunctionInfo.
- Currently unused.

llvm-svn: 81581
2009-09-11 22:24:53 +00:00
Daniel Dunbar b918900995 Fix -Asserts warning.
llvm-svn: 81580
2009-09-11 22:07:31 +00:00
Ted Kremenek 7020eae076 Introduce "DefinedOrUnknownSVal" into the SVal class hierarchy, providing a way
to statically type various methods in SValuator/GRState as required either a
defined value or a defined-but-possibly-unknown value. This leads to various
logic cleanups in GRExprEngine, and lets the compiler enforce via type checking
our assumptions about what symbolic values are possibly undefined and what are
not.

Along the way, clean up some of the static analyzer diagnostics regarding the uses of uninitialized values.

llvm-svn: 81579
2009-09-11 22:07:28 +00:00
Ted Kremenek c74e09f654 Update CMake files.
llvm-svn: 81577
2009-09-11 21:49:45 +00:00
Fariborz Jahanian b54ccb2782 Patch to build visible conversion function list lazily and make its
first use in calling the conversion function on delete statements.

llvm-svn: 81576
2009-09-11 21:44:33 +00:00
Douglas Gregor 7241795049 De-bork CMake build. llvm-extract depends on asmparser
llvm-svn: 81574
2009-09-11 21:26:24 +00:00
Douglas Gregor 4aa04b155a Slight improvement for extern templates, so that an explicit
instantiation definition can follow an explicit instantiation
declaration. This is as far as I want to go with extern templates now,
but they will still need quite a bit more work to get all of the C++0x
semantics right.

llvm-svn: 81573
2009-09-11 21:19:12 +00:00
Nick Kledzik a6bce00934 rename files
llvm-svn: 81572
2009-09-11 21:16:10 +00:00
John McCall 2f212b3a72 Alter Action's friend interface to prepare for templated friend declarations and
to stop making promises we can't currently keep.

llvm-svn: 81571
2009-09-11 21:02:39 +00:00
Daniel Dunbar c0f8eef710 Fix use of uninitialized, David please check.
llvm-svn: 81570
2009-09-11 20:56:53 +00:00
Dan Gohman e592923603 Fix llvm-extract's "writing bitcode to a terminal" warning, which wasn't
working. To support this, add an is_displayed() function to raw_ostream,
and generalize Process::StandardOutIsDisplayed and friends in order to
support it.

Also, call RemoveFileOnSignal before creating a file instead of after, so
that the file isn't left behind if the program is interrupted between when
the file is created and RemoveFileOnSignal is called.

While here, add a -S to llvm-extract and port it to IRReader so that it
supports assembly input.

llvm-svn: 81568
2009-09-11 20:46:33 +00:00
Douglas Gregor dd3f5f1fca Improve testing for extern temp templates, slightly. We are (properly) suppressing the implicit instantiation of members of extern templates
llvm-svn: 81567
2009-09-11 20:35:49 +00:00
Douglas Gregor 6411b92ee6 Tweak the semantics of FunctionDecl::isOutOfLine to consider an
instantiation of a member function template or member function of a
class template to be out-of-line if the definition of that function
template or member function was defined out-of-line. This ensures that
we get the correct linkage for explicit instantiations of out-of-line
definitions. 

llvm-svn: 81562
2009-09-11 20:15:17 +00:00
Nick Kledzik 3d22a3af2d add _test in file names
llvm-svn: 81561
2009-09-11 20:13:32 +00:00
Jim Grosbach 210d6fef51 Revert array initialization regclass change so that the initialization stays static, not runtime.
llvm-svn: 81560
2009-09-11 20:13:17 +00:00
Nick Kledzik b9c6e4a189 start adding implementation of arm *vfp routines with test cases
llvm-svn: 81558
2009-09-11 20:02:01 +00:00
Jim Grosbach a1072a85d6 Update register class references to use the global constant ARM::*RegisterClass names.
llvm-svn: 81556
2009-09-11 19:49:06 +00:00
Nick Kledzik 7e71865ca5 use HAS_80_BIT_LONG_DOUBLE so some tests work properly on arm
llvm-svn: 81552
2009-09-11 19:09:36 +00:00
Sean Callanan 31e48cdb5d Added ADC, SUB, SBB, and OR instructions that operate
on rAX and an immediate.

llvm-svn: 81551
2009-09-11 19:01:56 +00:00
Sam Weinig cface2dd54 Add test for dependent PredefinedExprs.
llvm-svn: 81550
2009-09-11 18:49:46 +00:00
Fariborz Jahanian f9012a3e9d Undid my yesterday patch which is not needed with an upcoming patch.
llvm-svn: 81549
2009-09-11 18:46:22 +00:00
Douglas Gregor c732aba9a9 Cleanup and test C++ default arguments. Improvements include:
- Diagnose attempts to add default arguments to templates (or member
    functions of templates) after the initial declaration (DR217).
  - Improve diagnostics when a default argument is redefined. Now, the
    note will always point at the place where the default argument was
    previously defined, rather than pointing to the most recent
    declaration of the function.

llvm-svn: 81548
2009-09-11 18:44:32 +00:00
Bob Wilson f544a534cf Fix pr4820: Don't run llvm-config during "make clean" since it may have
already been removed.

llvm-svn: 81547
2009-09-11 18:42:18 +00:00
Dan Gohman b165c11021 Remove an unnecessary -f.
llvm-svn: 81546
2009-09-11 18:41:06 +00:00
Dan Gohman a080159a7c Convert more tests to avoid llvm-as.
llvm-svn: 81545
2009-09-11 18:36:27 +00:00
Chris Lattner 8b3a539579 fix pasto
llvm-svn: 81544
2009-09-11 18:33:44 +00:00
Caroline Tice 183a519771 Don't generate Dwarf line table entries for source line 0.
llvm-svn: 81542
2009-09-11 18:25:54 +00:00
Chris Lattner 61bfc3adeb fix some fixmes: emit stubs in sorted order.
llvm-svn: 81541
2009-09-11 18:20:26 +00:00
Dan Gohman 0f3ef7be50 Eliminate more redundant llvm-as calls.
llvm-svn: 81540
2009-09-11 18:17:12 +00:00
Dan Gohman fceb22ff3c Fix this test to test what it was originally intended to test.
llvm-svn: 81539
2009-09-11 18:16:43 +00:00
Chris Lattner 233bfc2890 give densemap iterators real iterator traits.
llvm-svn: 81538
2009-09-11 18:15:46 +00:00
Dan Gohman 1880092722 Change tests from "opt %s" to "opt < %s" so that opt doesn't see the
input filename so that opt doesn't print the input filename in the
output so that grep lines in the tests don't unintentionally match
strings in the input filename.

llvm-svn: 81537
2009-09-11 18:01:28 +00:00
Anders Carlsson af494faa57 Just ignore friend templates for now so we won't crash.
llvm-svn: 81536
2009-09-11 17:54:14 +00:00
Fariborz Jahanian 10e9bffde3 Fixes a regression in objc GC layout bitmap involving
block pointer ivars.

llvm-svn: 81535
2009-09-11 17:39:05 +00:00
Duncan Sands 4bd8040d14 Fix PR4948 (and a leak): by not destroying the DwarfException
object, the timer it creates was not being deleted.  Since the
timer belonged to a static timer group, the timer group would
be destroyed on shutdown, and would notice and complain that
not all timers it contained were destroyed.

llvm-svn: 81533
2009-09-11 17:24:29 +00:00
Chris Lattner 992e42b606 turn on -experimental-asm-printer for x86 / AT&T by default.
llvm-svn: 81532
2009-09-11 17:07:27 +00:00
Chris Lattner 7158513fe0 another random update
llvm-svn: 81531
2009-09-11 17:07:01 +00:00
Chris Lattner 7730dcc858 reject attempts to take the address of an intrinsic, PR4949.
llvm-svn: 81530
2009-09-11 17:05:29 +00:00
Chris Lattner e54242dc02 fix a bunch of spurious failures for people whose home directory
is sabre.

llvm-svn: 81528
2009-09-11 17:02:12 +00:00
Chris Lattner bc334dcb91 this test is using invalid "intrinsics".
llvm-svn: 81527
2009-09-11 16:49:18 +00:00
Chris Lattner eeeb5e1198 fix test to not get a moduleid that matches 'br'
llvm-svn: 81526
2009-09-11 16:47:41 +00:00
Chris Lattner 3e1f5e93cb default construct MCInst's ctor to 0, which is "PHI" which is invalid for MCInsts.
llvm-svn: 81525
2009-09-11 16:33:58 +00:00
Daniel Dunbar 24c00479df ... and fix the REQUIRES_RTTI condition.
llvm-svn: 81524
2009-09-11 15:47:24 +00:00
Daniel Dunbar 421bca3c70 Fix REQUIRES_RTTI while awake.
llvm-svn: 81523
2009-09-11 15:45:13 +00:00