Commit Graph

122672 Commits

Author SHA1 Message Date
Fariborz Jahanian c481c0c0f5 objective-c modern translator. accessing ivars using modern abi - wip.
llvm-svn: 151103
2012-02-21 23:46:48 +00:00
Argyrios Kyrtzidis cd90e3d37b Make sure Stmt::dump() is included in libclang.
llvm-svn: 151102
2012-02-21 23:41:58 +00:00
Douglas Gregor b8389976b2 In the conflict between C++11 [expr.prim.general]p4, which declares
that 'this' can be used in the brace-or-equal-initializer of a
non-static data member, and C++11 [expr.prim.lambda]p9, which says
that lambda expressions not in block scope can have no captures, side
fully with C++11 [expr.prim.general]p4 by allowing 'this' to be
captured within these initializers. This seems to be the intent of
non-static data member initializers.

llvm-svn: 151101
2012-02-21 22:51:27 +00:00
Eli Friedman ebea9aff0d Fix a crash in the diangostic code in EvalConstant. PR12043.
llvm-svn: 151100
2012-02-21 22:41:33 +00:00
Lang Hames d6e765c69f Add API "handleMoveIntoBundl" for updating liveness when moving instructions into
bundles. This method takes a bundle start and an MI being bundled, and makes
the intervals for the MI's operands appear to start/end on the bundle start.

Also fixes some minor cosmetic issues (whitespace, naming convention) in the
HMEditor code.

llvm-svn: 151099
2012-02-21 22:29:38 +00:00
Eric Christopher c81a7702c2 Testcase for previous commit.
rdar://10493979

llvm-svn: 151098
2012-02-21 22:25:56 +00:00
Eric Christopher 8575790912 There's no need for a DW_AT_byte_size on a pointer type.
Part of rdar://10493979 where it reduces by about .5% (10k)

llvm-svn: 151097
2012-02-21 22:25:53 +00:00
Eric Christopher 8846b4db30 No need to go to object file, -emit-llvm is sufficient to see if clang
itself crashes.

llvm-svn: 151095
2012-02-21 22:25:20 +00:00
Chandler Carruth 85061b51d2 Skip testing the crtbegin.o, and resume using a single variable for the
prefixes. It seems only crtbegin.o uses the strange formatting.

llvm-svn: 151094
2012-02-21 22:21:50 +00:00
Nick Lewycky 9d0da18597 Use the target-aware constant folder on expressions to improve the chance
they'll be simple enough to simulate, and to reduce the chance we'll encounter
equal but different simple pointer constants.

This removes the symptoms from PR11352 but is not a full fix. A proper fix would
either require a guarantee that two constant objects we simulate are folded
when equal, or a different way of handling equal pointers (ie., trying a
constantexpr icmp on them to see whether we know they're equal or non-equal or
unsure).

llvm-svn: 151093
2012-02-21 22:08:06 +00:00
Chandler Carruth 286e0e0818 Clean up, add some documentation, and make this test return to checking
the linker toolchainness a bit more thoroughly. It used to work this
way, but hit buildbot issues. Hopefully subsequent fixes have addressed
those problems, but I'll be watching the bots.

llvm-svn: 151090
2012-02-21 21:51:40 +00:00
John McCall 24992371a5 Don't crash on attempts to synthesize an invalid property.
rdar://problem/10904479

llvm-svn: 151089
2012-02-21 21:48:05 +00:00
Howard Hinnant f2f2d8b98d Modernize conversion to bool to the explicit bool conversion operator (library wide). This fixes http://llvm.org/bugs/show_bug.cgi?id=12058.
llvm-svn: 151088
2012-02-21 21:46:43 +00:00
Richard Trieu bd61856d91 Redirect the output to /dev/null. This prevents the output from cluttering
up the build enviroment.

llvm-svn: 151087
2012-02-21 21:40:05 +00:00
Jason Molenda 1f1a950a7f Install lldb tool into /usr/local/bin if sdk==iphoneos.
llvm-svn: 151085
2012-02-21 21:32:04 +00:00
Howard Hinnant 67f3964766 Modernize relational operators for shared_ptr and unique_ptr. This includes adding support for nullptr, and using less<T*>. Fixes http://llvm.org/bugs/show_bug.cgi?id=12056.
llvm-svn: 151084
2012-02-21 21:02:58 +00:00
Evan Cheng 0460ae8d80 Proper support for a bastardized darwin-eabi hybird ABI.
llvm-svn: 151083
2012-02-21 20:46:00 +00:00
Douglas Gregor 5dbc14f47e Only pop the expression evaluation context corresponding to a lambda
expression after we've finished the function body of the corresponding
function call operator. Otherwise, ActOnFinishFunctionBody() will see
the (unfinished) evaluation context of the lambda expression
itself. Fixes PR12031.

llvm-svn: 151082
2012-02-21 20:05:31 +00:00
Richard Smith 9a2b7e820c Don't assume that a valid expression for the first part of a for-statement
is non-null when diagnosing a broken attempt to write a for-range-statement.

llvm-svn: 151081
2012-02-21 20:01:35 +00:00
Jean-Daniel Dupas 58dab6829a When calling a non variadic format function(vprintf, vscanf, NSLogv, …), warn if the format string argument is a parameter that is not itself declared as a format string with compatible format.
llvm-svn: 151080
2012-02-21 20:00:53 +00:00
Rafael Espindola b41b407f3d s/the the/the/
llvm-svn: 151079
2012-02-21 19:27:16 +00:00
Johnny Chen af9b2f631d Fix comment.
llvm-svn: 151077
2012-02-21 19:13:55 +00:00
Douglas Gregor 680e9e018d Improve our handling of lambda expressions that occur within default
arguments. There are two aspects to this:

  - Make sure that when marking the declarations referenced in a
  default argument, we don't try to mark local variables, both because
  it's a waste of time and because the semantics are wrong: we're not
  in a place where we could capture these variables again even if it
  did make sense.
  - When a lambda expression occurs in a default argument of a
  function template, make sure that the corresponding closure type is
  considered dependent, so that it will get properly instantiated. The
  second bit is a bit of a hack; to fix it properly, we may have to
  rearchitect our handling of default arguments, parsing them only
  after creating the function definition. However, I'd like to
  separate that work from the lambdas work.

llvm-svn: 151076
2012-02-21 19:11:17 +00:00
Benjamin Kramer 4930dd6841 Revert accidental commit.
llvm-svn: 151074
2012-02-21 19:02:29 +00:00
Greg Clayton 0c90ef479a Linux fix patch from Dmitry Vyukov.
llvm-svn: 151072
2012-02-21 18:40:07 +00:00
Benjamin Kramer ff461fcf07 Remove a ton of implicit narrowing conversions for C++11 compatibility.
llvm-svn: 151071
2012-02-21 18:37:14 +00:00
Jim Ingham 8fdeff25e8 Forgot to add two files from the last checkin.
llvm-svn: 151069
2012-02-21 18:22:37 +00:00
Greg Clayton ee212e2cc1 Fixed an issue where empty sections or zero filled sections could return
incorrect values and also fire an assertion.

llvm-svn: 151066
2012-02-21 17:34:25 +00:00
Timur Iskhodzhanov a1c987ff38 [ASan] Add __asan_init to the list of C dynamic initializers to support /MD on Windows
llvm-svn: 151059
2012-02-21 16:24:23 +00:00
Jeffrey Yasskin a09e62a042 Allow linux builds to take advantage of libunwind to get unwind.h if
that's installed.

llvm-svn: 151058
2012-02-21 16:20:12 +00:00
Alexander Potapenko 47038cae29 Fix the lib32 and lib64 targets.
llvm-svn: 151057
2012-02-21 14:11:52 +00:00
Benjamin Kramer c7a22fe76b Fix unsigned off-by-one in comment.
llvm-svn: 151056
2012-02-21 13:40:06 +00:00
Benjamin Kramer 6ee8690aa5 InstCombine: Don't transform a signed icmp of two GEPs into a signed compare of the indices.
This transformation is not safe in some pathological cases (signed icmp of pointers should be an
extremely rare thing, but it's valid IR!). Add an explanatory comment.

Kudos to Duncan for pointing out this edge case (and not giving up explaining it until I finally got it).

llvm-svn: 151055
2012-02-21 13:31:09 +00:00
Duncan Sands 8570b29dfe Move the implementation of StringRef::split out of StringExtras.cpp
and into StringRef.cpp, which is where the other StringRef stuff is.

llvm-svn: 151054
2012-02-21 12:00:25 +00:00
NAKAMURA Takumi c664fdbd4a test/CodeGen/X86/2012-02-20-MachineCPBug.ll: Fix on generic(non-x86) hosts to add -mattr=+sse.
llvm-svn: 151053
2012-02-21 11:56:42 +00:00
Jay Foad af3cf11fec Revert r151049 cos it broke the buildbots.
llvm-svn: 151052
2012-02-21 11:44:46 +00:00
Timur Iskhodzhanov f2061453bd [ASan] Remove one FIXME - re-enable "free-not-malloced" reports on Windows
llvm-svn: 151051
2012-02-21 09:58:39 +00:00
Chandler Carruth 362087bcba Tiny cosmetic change to use the same style for all of the while loops in
the normalize routine, especially the empty while loops.

llvm-svn: 151050
2012-02-21 09:29:14 +00:00
Jay Foad 3f99d381b4 PR1210: make uniquing of struct and function types more efficient by
using a DenseMap and Talin's new GeneralHash, avoiding the need for a
temporary std::vector on every lookup.

Patch by Meador Inge!

llvm-svn: 151049
2012-02-21 09:25:52 +00:00
Chandler Carruth 6ea6de7cad Replace a hand rolled loop with a lovely StringRef helper we have these
days. No functionality changed.

llvm-svn: 151048
2012-02-21 09:12:48 +00:00
Chandler Carruth aec9708988 Pull the parsing helper functions out of the Triple interface entirely.
They're private static methods but we can just make them static
functions in the implementation. It makes the implementations a touch
more wordy, but takes another chunk out of the header file.

Also, take the opportunity to switch the names to the new coding
conventions.

No functionality changed here.

llvm-svn: 151047
2012-02-21 08:53:32 +00:00
Alexander Potapenko 0be25d562c Check that the FakeStack size is non-zero before looking into it.
Sometimes DescribeStackAddress is called before another thread's FakeStack is initialized, which could previously cause a check to fire.

llvm-svn: 151046
2012-02-21 08:45:41 +00:00
Chandler Carruth 1f3325a6d9 Clean up comments that I missed when changing the triple representation.
Somehow, I even missed the ones I wrote just the other day...

Thanks to Matt for the code review.

llvm-svn: 151045
2012-02-21 08:31:18 +00:00
Alexey Samsonov 789456bf68 AddressSanitizer: Don't include GrandCentralDispatch headers in asan headers on Mac
llvm-svn: 151044
2012-02-21 08:30:57 +00:00
Craig Topper 028a6721c9 Reorder some members in MCRegisterClass to remove padding on 64-bit builds.
llvm-svn: 151043
2012-02-21 07:36:39 +00:00
Alexey Samsonov 2d2f1711b7 AddressSanitizer: don't use /tmp for temporary file in output tests.
llvm-svn: 151042
2012-02-21 07:08:38 +00:00
Craig Topper da991549c0 In generated RegisterInfo files, replace a pointer to the end of an array with just the size of the array to avoid relocations.
llvm-svn: 151041
2012-02-21 06:54:41 +00:00
Craig Topper 9a511519e4 Merge some tables in generated RegisterInfo file. Store indices into larger table instead of pointers to reduce relocations and shrink table size on 64-bit builds. Shaves ~24K off X86MCTargetDesc.o. Accidentally commited only part of this in r151038.
llvm-svn: 151039
2012-02-21 06:23:21 +00:00
Craig Topper b5d89e2475 Merge some tables in generated RegisterInfo file. Store indices into larger table instead of pointers to reduce relocations and shrink table size on 64-bit builds. Shaves ~24K off X86MCTargetDesc.o
llvm-svn: 151038
2012-02-21 06:22:36 +00:00
Argyrios Kyrtzidis 90c2e86b63 Also mark Type's dump() as 'used' to make it available in libclang.
llvm-svn: 151037
2012-02-21 06:12:38 +00:00