Commit Graph

122954 Commits

Author SHA1 Message Date
Akira Hatanaka 60f7a8e710 Add definitions of floating point multiply add/sub and negative multiply
add/sub instructions.

llvm-svn: 151415
2012-02-25 00:21:52 +00:00
Douglas Gregor 4a71b12a4e Trying to increase my Ohloh ranking with trivial tweaks
llvm-svn: 151414
2012-02-25 00:16:17 +00:00
DeLesley Hutchins 5b330db270 Bugfix: bogus warning -- "invalid use of non-static data member",
when a class is forward declared, and the reference to the data
member in question does not occur within a method body.

llvm-svn: 151413
2012-02-25 00:11:55 +00:00
Douglas Gregor 78e72f08ec Simplify check per Eli's comment
llvm-svn: 151412
2012-02-25 00:06:47 +00:00
Douglas Gregor f8ab049f17 Add test for C++ DR899.
llvm-svn: 151411
2012-02-24 23:57:42 +00:00
Anna Zaks 7ac344a48a [analyzer] Malloc: reason about the ObjC messages and C++.
Assume none of the ObjC messages defined in system headers free memory,
except for the ones containing 'freeWhenDone' selector. Currently, just
assume that the region escapes to the messages with 'freeWhenDone'
(ideally, we want to treat it as 'free()').

For now, always assume that regions escape when passed to C++ methods.

llvm-svn: 151410
2012-02-24 23:56:53 +00:00
Douglas Gregor 6073dcab38 Implement C++11 [over.match.copy]p1b2, which allows the use of
explicit conversion functions to initialize the argument to a
copy/move constructor that itself is the subject of direct
initialization. Since we don't have that much context in overload
resolution, we end up threading more flags :(.

Fixes <rdar://problem/10903741> / PR10456. 

llvm-svn: 151409
2012-02-24 23:56:31 +00:00
Greg Clayton 41bd8ac206 Added some missing accessors to the SBAttachInfo for user and group ID
getting, setting, and checking.

llvm-svn: 151408
2012-02-24 23:56:06 +00:00
Eli Friedman cb3785e450 Fix a stupid mistake in r151133. Reported to me by Joerg Sonnenberger.
llvm-svn: 151407
2012-02-24 23:53:49 +00:00
Howard Hinnant 8d01935c09 Hook up to the new clang __is_trivially_constructible and __is_trivially_assignable traits. Fixes r10925427 and http://llvm.org/bugs/show_bug.cgi?id=12038.
llvm-svn: 151406
2012-02-24 23:32:26 +00:00
Richard Smith 5e1148e31d Remove FIXME: as Eli points out, the behavior here is now correct.
llvm-svn: 151405
2012-02-24 23:21:24 +00:00
Johnny Chen 4500751b17 Create an additional watchpoint during the test run and verify that the watchpoint fired has the expected watchpoint id.
llvm-svn: 151404
2012-02-24 23:12:08 +00:00
Douglas Gregor 4f283c8b20 For the purposes of building LLVM types, a forward-declared
enumeration type with a fixed underlying type is complete. Fixes
<rdar://problem/10916155>.

llvm-svn: 151403
2012-02-24 22:40:36 +00:00
Akira Hatanaka b049aef2d1 Add an option to use a virtual register as the global base register instead of
reserving a physical register ($gp or $28) for that purpose.

This will completely eliminate loads that restore the value of $gp after every
function call, if the register allocator assigns a callee-saved register, or
eliminate unnecessary loads if it assigns a temporary register. 

example:

.cpload $25       // set $gp.
...
.cprestore 16     // store $gp to stack slot 16($sp).
...
jalr $25          // function call. clobbers $gp.
lw $gp, 16($sp)   // not emitted if callee-saved reg is chosen.
...
lw $2, 4($gp)
...
jalr $25          // function call.
lw $gp, 16($sp)   // not emitted if $gp is not live after this instruction.
...

llvm-svn: 151402
2012-02-24 22:34:47 +00:00
Richard Smith 324df5564e Back out __decltype warning from r151377: we should either warn on all the GNU
__keywords or none of them.

llvm-svn: 151401
2012-02-24 22:30:04 +00:00
Benjamin Kramer 5f640e35e3 Make helper static.
llvm-svn: 151400
2012-02-24 22:19:42 +00:00
Richard Smith 6365c9138e When checking whether a reference to a variable is an ICE, look at the type of
the declaration, not at the type of the DeclRefExpr, since within a lambda the
DeclRefExpr can be more const than the declaration is.

llvm-svn: 151399
2012-02-24 22:12:32 +00:00
Benjamin Kramer 9fceb90175 Remove unused cl::opt, make another opt static.
llvm-svn: 151398
2012-02-24 22:09:25 +00:00
Greg Clayton c7f09cca6d Fixed a crasher that was happening after making ObjectFile objects have a
weak reference back to the Module. We were crashing when trying to make a
memory object file since it was trying to get the object in the Module 
constructor before the "Module *" had been put into a shared pointer, and the
module was trying to initialize a weak pointer back to it.

llvm-svn: 151397
2012-02-24 21:55:59 +00:00
Jakob Stoklund Olesen 7f99142804 Add missing static
llvm-svn: 151396
2012-02-24 21:52:44 +00:00
Fariborz Jahanian 0ed6cb75a7 Minor modern rewriter bug showed up during testing
against a large project.

llvm-svn: 151395
2012-02-24 21:42:38 +00:00
Douglas Gregor 232ee49c7b C++11 [class.ctor]p5 says that
A defaulted default constructor for a class X is defined as deleted if [...]
    -  X is a union and all of its variant members are of const-qualified type.

A pedantic reading therefore says that

 union X { };

has a deleted default constructor, which is both silly and almost
certainly unintended. Pretend as if this this read

    - X is a union with one or more variant members, and all of its
      variant members are of const-qualified type. 

llvm-svn: 151394
2012-02-24 21:25:53 +00:00
Johnny Chen 2120e2bd73 Newly created threads are to inherit from the global debug state of the process.
llvm-svn: 151393
2012-02-24 21:13:45 +00:00
Greg Clayton 38d1f05167 Fixed the launching code when using the new SBLaunchInfo.
llvm-svn: 151392
2012-02-24 20:59:25 +00:00
Kostya Serebryany 6ad2115575 [asan] don't compile gtest with asan when building asan tests
llvm-svn: 151391
2012-02-24 20:49:36 +00:00
Enrico Granata 9283444b8a Reworking the ObjC formatters test case not to test everything in one huge code block - better for maintenance and debugging
llvm-svn: 151390
2012-02-24 20:43:28 +00:00
Dmitri Gribenko 85e8764254 Fix comment: correct predicate name, reformat comment.
llvm-svn: 151389
2012-02-24 20:03:35 +00:00
Enrico Granata 21b2236303 Fixing an if condition which was causing issues in detecting the correct runtime version
llvm-svn: 151388
2012-02-24 19:46:04 +00:00
Argyrios Kyrtzidis e1bc99e1ff Change the text of a FIXME.
llvm-svn: 151387
2012-02-24 19:45:46 +00:00
Argyrios Kyrtzidis f0fc594be5 [libclang] Add a triple to the test.
llvm-svn: 151386
2012-02-24 19:45:42 +00:00
Ahmed Charles 0dca5d8f8c Fix undefined behavior.
llvm-svn: 151385
2012-02-24 19:06:15 +00:00
Jim Grosbach 09b602d85c Thumb2 asm aliases for wide bitwise w/ immediate instructions.
llvm-svn: 151384
2012-02-24 19:06:05 +00:00
Chris Lattner 01990f0e1c fix PR12075, a regression in a recent transform I added. In unreachable code, gep chains can be infinite. Just like "stripPointerCasts", use a set to keep track of visited instructions so we don't recurse infinitely.
llvm-svn: 151383
2012-02-24 19:01:58 +00:00
Michael J. Spencer 248d65e78b Add WIN_FTOL_* psudo-instructions to model the unique calling convention
used by the Win32 _ftol2 runtime function. Patch by Joe Groff!

llvm-svn: 151382
2012-02-24 19:01:22 +00:00
Richard Smith 18743deb21 cxx_status: Consistently refer to C++11 as "C++11", not as "C++'11" nor as
"C++0x". Use "C++98" to refer to C++98, not "C++". Add heading for C++98
support section.

llvm-svn: 151381
2012-02-24 18:42:08 +00:00
Richard Smith 4e8376279d cxx_status: extended sizeof has been essentially complete for some time. As
agreed on IRC, any remaining issues are best dealt with as bugs.

We have no __has_feature check for this; please shout if you'd like one. This
feature seems too small to be worth its own release notes bullet (again, please
shout if you disagree).

llvm-svn: 151380
2012-02-24 18:37:14 +00:00
Jakob Stoklund Olesen 0a0a9688c5 Add a -stress-regalloc=<N> option.
This will limit all register classes to N registers in order to stress
test register allocation.

llvm-svn: 151379
2012-02-24 18:34:20 +00:00
Fariborz Jahanian 7e75de84bd test for writing modern ivar of struct type.
llvm-svn: 151378
2012-02-24 18:17:50 +00:00
Richard Smith fd3da9358f __decltype is a GNU extension, not a C++11 extension.
llvm-svn: 151377
2012-02-24 18:10:23 +00:00
Fariborz Jahanian 5e6842bfea more objective-c modern translator ivar tests.
llvm-svn: 151376
2012-02-24 18:03:42 +00:00
Johnny Chen 45178a264d Makefiles for new mach-core directory.
Patch from dawn@burble.org!

llvm-svn: 151375
2012-02-24 18:02:59 +00:00
Hal Finkel a3e6ed2161 X11/X2 loads around indirect calls on ppc64 should not be deleted.
llvm-svn: 151374
2012-02-24 17:54:01 +00:00
Hal Finkel b9a3d61894 Don't crash when a glue node contains an internal CopyToReg
This is necessary to support the existing ppc lowering code for indirect calls.
Fixes PR12071.

llvm-svn: 151373
2012-02-24 17:53:59 +00:00
Douglas Gregor 3a08c1cd3b Two minor, related fixes for template instantiation with blocks:
- Make sure that the block expression is instantiation-dependent if the
    block is in a dependent context
  - Make sure that the C++ 'this' expression gets captured even if we
  don't rebuild the AST node during template instantiation. This would
  also have manifested as a bug for lambdas.

Fixes <rdar://problem/10832617>.

llvm-svn: 151372
2012-02-24 17:41:38 +00:00
Fariborz Jahanian dd5a59baed objc modern translator. Fixes writing of block pointer ivar access.
llvm-svn: 151371
2012-02-24 17:35:35 +00:00
Jim Ingham e8dd130762 Patch from Filipe Cabecinhas fixing a typo in the "lldb unwind" log output.
llvm-svn: 151370
2012-02-24 17:09:34 +00:00
Anna Zaks 18de54b1a6 [analyzer] Run remove dead bindings before each call.
This ensures that we report the bugs associated with symbols going
out of scope in the correct function context.

llvm-svn: 151369
2012-02-24 16:49:46 +00:00
Anna Zaks cdf24a9a5e [analyzer] We were silently stopping exploring the path after
visiting 'return;' statement!

This most likely caused us to skip a bunch of code when analyzing with
inlining.

llvm-svn: 151368
2012-02-24 16:49:41 +00:00
Rafael Espindola 1a16f49858 Use -no-integrated-as only on ARM. The X86 and X86-64 integrated as have been
the default for clang for some time now and can handle compiler-rt.

llvm-svn: 151367
2012-02-24 16:22:39 +00:00
Timur Iskhodzhanov 0f9c9a5332 [ASan] Intercept CreateThread on Windows
llvm-svn: 151366
2012-02-24 15:28:43 +00:00