Commit Graph

149089 Commits

Author SHA1 Message Date
Richard Smith 220dd33446 Add test forgotten in r181388.
llvm-svn: 181389
2013-05-08 02:38:36 +00:00
Richard Smith a3d3bd215b C++1y: Add a step limit to constexpr evaluation, to catch runaway loops.
llvm-svn: 181388
2013-05-08 02:12:03 +00:00
Sean Callanan 1aee70b773 Fixed IRExecutionUnit build failures due to changes
in the underlying llvm::JITMemoryManager API.

llvm-svn: 181387
2013-05-08 01:30:52 +00:00
Jim Ingham 55d24311f2 If the MemoryCache is asked to look up an address that is in an invalid
range, it should set the error in the Error passed into the function.

llvm-svn: 181386
2013-05-08 01:20:53 +00:00
Ted Kremenek cba4a0c593 [analyzer; alternate edges] insert an extra edge for 'for' statements to conditions.
llvm-svn: 181385
2013-05-08 01:15:24 +00:00
Ted Kremenek 0e84ac83eb [analyzer;alternate edges] edges from subexpressions of "?:" are important to retain
llvm-svn: 181384
2013-05-08 01:15:20 +00:00
Eric Christopher c57baeeee0 Pass the MDNode in and do the insertion at compile unit creation time
instead of relying upon an extra call to finish initializing.

llvm-svn: 181383
2013-05-08 00:58:51 +00:00
Jim Ingham 221d51cf84 Figure out the reply to "PlanExplainsStop" once when we stop and then use the cached
value.  This fixes problems, for instance, with the StepRange plans, where they know that
they explained the stop because they were at their "run to here" breakpoint, then deleted
that breakpoint, so when they got asked again, doh!  I had done this for a couple of plans
in an ad hoc fashion, this just formalizes it.

Also add a "ResumeRequested" in Process so that the code in the completion handlers can
tell the ShouldStop logic they want to resume rather than just directly resuming.  That allows 
us to handle resuming in a more controlled fashion.

Also, SetPublicState can take a "restarted" flag, so that it doesn't drop the run lock when
the target was immediately restarted.
--This line, and those below , will be ignored--

M    test/lang/objc/objc-dynamic-value/TestObjCDynamicValue.py
M    include/lldb/Target/ThreadList.h
M    include/lldb/Target/ThreadPlanStepOut.h
M    include/lldb/Target/Thread.h
M    include/lldb/Target/ThreadPlanBase.h
M    include/lldb/Target/ThreadPlanStepThrough.h
M    include/lldb/Target/ThreadPlanStepInstruction.h
M    include/lldb/Target/ThreadPlanStepInRange.h
M    include/lldb/Target/ThreadPlanStepOverBreakpoint.h
M    include/lldb/Target/ThreadPlanStepUntil.h
M    include/lldb/Target/StopInfo.h
M    include/lldb/Target/Process.h
M    include/lldb/Target/ThreadPlanRunToAddress.h
M    include/lldb/Target/ThreadPlan.h
M    include/lldb/Target/ThreadPlanCallFunction.h
M    include/lldb/Target/ThreadPlanStepOverRange.h
M    source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.h
M    source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp
M    source/Target/StopInfo.cpp
M    source/Target/Process.cpp
M    source/Target/ThreadPlanRunToAddress.cpp
M    source/Target/ThreadPlan.cpp
M    source/Target/ThreadPlanCallFunction.cpp
M    source/Target/ThreadPlanStepOverRange.cpp
M    source/Target/ThreadList.cpp
M    source/Target/ThreadPlanStepOut.cpp
M    source/Target/Thread.cpp
M    source/Target/ThreadPlanBase.cpp
M    source/Target/ThreadPlanStepThrough.cpp
M    source/Target/ThreadPlanStepInstruction.cpp
M    source/Target/ThreadPlanStepInRange.cpp
M    source/Target/ThreadPlanStepOverBreakpoint.cpp
M    source/Target/ThreadPlanStepUntil.cpp
M    lldb.xcodeproj/xcshareddata/xcschemes/Run Testsuite.xcscheme

llvm-svn: 181381
2013-05-08 00:35:16 +00:00
Eric Christopher 6156011ee8 Typo.
llvm-svn: 181378
2013-05-08 00:11:10 +00:00
Howard Hinnant 866ed94db1 Constrain __invoke functions more accurately. This fixes http://llvm.org/bugs/show_bug.cgi?id=15861 .
llvm-svn: 181377
2013-05-07 23:40:12 +00:00
Richard Smith 861b5b5aed C++1y constant expression evaluation: compound assignment support for floating-point and pointer types.
llvm-svn: 181376
2013-05-07 23:34:45 +00:00
Jason Molenda fa76156064 Add code to ReplaceDSYMSectionsWithExecutableSections() to handle the case where
a new section is added to the executable after the dSYM has been created, e.g.
the CTF segment added to mach_kernel after all other linking and processing has
been finished.
<rdar://problem/13258780> 

llvm-svn: 181375
2013-05-07 22:55:04 +00:00
Andrew Kaylor bf9b4c171a Adding support for process attach by pid on Linux.
llvm-svn: 181374
2013-05-07 22:46:38 +00:00
Adrian Prantl 8f1fb6f03d The style guide prefers preincrement expressions :-)
llvm-svn: 181373
2013-05-07 22:41:09 +00:00
Adrian Prantl 95652c7ccb remove commented out code.
llvm-svn: 181372
2013-05-07 22:26:03 +00:00
Bill Wendling e1234ee489 Add the libc++ project to those we tag.
llvm-svn: 181371
2013-05-07 22:15:06 +00:00
Nick Lewycky d1b0df46f5 When typo correction produces an overloaded result when looking up a member,
return all the overloads instead of just picking the first possible declaration.
This removes an invalid note (and on occasion other invalid diagnostics) and
also makes clang's parsing recovery behave as if the text from its fixit were
applied.

llvm-svn: 181370
2013-05-07 22:14:37 +00:00
Arnold Schwaighofer 3610139ac5 LoopVectorizer: Improve reduction variable identification
The two nested loops were confusing and also conservative in identifying
reduction variables. This patch replaces them by a worklist based approach.

llvm-svn: 181369
2013-05-07 21:55:37 +00:00
Richard Smith ea85232c40 Don't crash in IRGen if a conditional with 'throw' in one of its branches is
used as a branch condition.

llvm-svn: 181368
2013-05-07 21:53:22 +00:00
Enrico Granata 78f05f13ad Adding some LLDB-specific logic to the tracer (in a separate tracer module) to improve the quality of the output when debugging data formatters
(more improvements are necessary before this is really legible)

llvm-svn: 181367
2013-05-07 21:42:18 +00:00
Kevin Enderby ca08df756e Fix a bug in the MC asm parser evaluating expressions. It was treating:
A = 9
B = 3 * A - 2 * A + 1 as  B = 3 * A - (2 * A + 1)

rdar://13816516

llvm-svn: 181366
2013-05-07 21:40:58 +00:00
Richard Trieu 091872c5df Fix crash on invalid in template type diffing.
This is a fix for PR15895, where Clang will crash when trying to print a
template diff and the template uses an address of operator.  This resulted
from expecting a DeclRefExpr when the Expr could have also been
UnaryOperator->DeclRefExpr.

llvm-svn: 181365
2013-05-07 21:36:24 +00:00
David Blaikie 1fd4365f91 Rename DIImportedModule to DIImportedEntity and allow imported declarations
DIBuilder::createImportedDeclaration isn't fully plumbed through (note,
lacking in AsmPrinter/DwarfDebug support) but this seemed like a
sufficiently useful division of code to make the subsequent patch(es)
easier to follow.

llvm-svn: 181364
2013-05-07 21:35:53 +00:00
Charles Davis 17a0dcb91c MCStreamer: Also clear vector of W64UnwindInfos on reset().
Patch by Kai Nacke!

llvm-svn: 181363
2013-05-07 21:14:15 +00:00
Ted Kremenek 68a60451b3 [analyzer;alternate arrows] Fix inconsistencies in recorded location context when handling interprocedural paths.
llvm-svn: 181362
2013-05-07 21:12:06 +00:00
Ted Kremenek 1c382b2936 [analyzer; alternate arrows] add back recording whether we visited the first edge.
llvm-svn: 181361
2013-05-07 21:12:03 +00:00
Ted Kremenek abf617c27e [analyzer; alternate arrows] remove pruning of loop diagnostics.
llvm-svn: 181360
2013-05-07 21:12:00 +00:00
Ted Kremenek b48f5d9d56 [analyzer; alternate arrows] include logical '||' and '&&' as anchors for edges.
llvm-svn: 181359
2013-05-07 21:11:57 +00:00
Ted Kremenek 3a865221c7 [analyzer; alternate arrows] include an edge from the "break" or "continue"
llvm-svn: 181358
2013-05-07 21:11:54 +00:00
Ted Kremenek f3510071f3 [analyzer; alternate arrows] the extra edge to the closing '}' in a loop adds no value.
llvm-svn: 181357
2013-05-07 21:11:52 +00:00
Ted Kremenek 2f2a3042e1 [analyzer; alternate arrows] the initializer of a ForStmt isn't interesting either.
llvm-svn: 181356
2013-05-07 21:11:49 +00:00
Bob Wilson 0e180f254b Remove redundant check and use cached FrameArray values.
No functional change.

llvm-svn: 181355
2013-05-07 20:56:33 +00:00
Rafael Espindola 9a383405a7 Remove exception handling support from the old JIT.
llvm-svn: 181354
2013-05-07 20:53:59 +00:00
Rafael Espindola eaf9798d2a Change version to 3.4 in the cmake build too.
llvm-svn: 181353
2013-05-07 20:44:22 +00:00
Argyrios Kyrtzidis 1030f26261 [libclang] Add a null check in CursorVisitor::visitPreprocessedEntities.
rdar://13680583

llvm-svn: 181352
2013-05-07 20:37:17 +00:00
Bill Wendling 3067ec8777 We're in 3.4 land now.
llvm-svn: 181351
2013-05-07 20:31:37 +00:00
Bill Wendling 37df82db8f We're in 3.4 land now.
llvm-svn: 181350
2013-05-07 20:31:28 +00:00
Rafael Espindola d522158df0 Add empty release notes for 3.4.
The idea is that docs/ReleaseNotes.rst is 3.3 and will be copied to the
branch by the release manager just before creating the release
candidates.

This ReleaseNotes_34.rst will then be moved over ReleaseNotes.rst after
the 3.3 release.

llvm-svn: 181349
2013-05-07 20:26:16 +00:00
Matt Arsenault a5733dc97e Fix vselect when getSetCCResultType returns a different type from the operands
llvm-svn: 181348
2013-05-07 20:24:18 +00:00
Howard Hinnant 81aa5cb804 Introduce _LIBCPP_STD_VER. This can be set by the client (or the clang driver). Or it will be defaulted. The default is 11 if -std= c++11 or eariler, else it will default to the current year modulo the century. We anticipate it defaulting to 14 for C++14 when the time comes. For now, post-C++11 libcxx implementations should protect themselves with #if _LIBCPP_STD_VER > 11.
llvm-svn: 181347
2013-05-07 20:16:13 +00:00
Preston Gurd 9264c95400 Corrected Atom latencies for SSE SQRT instructions.
llvm-svn: 181346
2013-05-07 19:57:34 +00:00
Argyrios Kyrtzidis c64c029f85 Try to recognise hidden tag type names in potential declarations, in ObjC code as well.
rdar://13829073

llvm-svn: 181345
2013-05-07 19:54:28 +00:00
Jyotsna Verma 5eb598001c Hexagon: Fix Small Data support to handle -G 0 correctly.
llvm-svn: 181344
2013-05-07 19:53:00 +00:00
Enrico Granata c8b36f160c First iteration of a Python tracer module
This module uses Python's sys.settrace() mechanism so setup a hook that can log every significant operation
This is a first step in providing a good debugging experience of Python embedded in LLDB
This module comprises an OO infrastructure that wraps Python's tracing and inspecting mechanisms, plus a very simple logging tracer
Output from this tracer looks like:

call print_keyword_args from <module> @ 243 args are kwargs are {'first_name': 'John', 'last_name': 'Doe'}
running print_keyword_args @ 228 locals are {'kwargs': {'first_name': 'John', 'last_name': 'Doe'}}
running print_keyword_args @ 229 locals are {'key': 'first_name', 'value': 'John', 'kwargs': {'first_name': 'John', 'last_name': 'Doe'}}
first_name = John
running print_keyword_args @ 228 locals are {'key': 'first_name', 'value': 'John', 'kwargs': {'first_name': 'John', 'last_name': 'Doe'}}
running print_keyword_args @ 229 locals are {'key': 'last_name', 'value': 'Doe', 'kwargs': {'first_name': 'John', 'last_name': 'Doe'}}
last_name = Doe
running print_keyword_args @ 228 locals are {'key': 'last_name', 'value': 'Doe', 'kwargs': {'first_name': 'John', 'last_name': 'Doe'}}
return from print_keyword_args value is None locals are {'key': 'last_name', 'value': 'Doe', 'kwargs': {'first_name': 'John', 'last_name': 'Doe'}}

llvm-svn: 181343
2013-05-07 19:49:59 +00:00
Richard Smith 0a715429b9 C++1y: Update __cplusplus to temporary value 201305L to allow detection of provisional C++1y support.
Add __has_feature and __has_extension checks for C++1y features (based on the provisional names from
the C++ features study group), and update documentation to match.

llvm-svn: 181342
2013-05-07 19:32:56 +00:00
Matt Kopec e9ea0da82e Add watchpoint support for Linux on 64-bit host.
llvm-svn: 181341
2013-05-07 19:29:28 +00:00
Andrew Kaylor ba4e61d3f5 Reinstating r181091 and r181106 with fix for Linux regressions.
llvm-svn: 181340
2013-05-07 18:35:34 +00:00
David Blaikie 6baa776173 Debug Info: Fix for break due to r181271
Apparently we didn't keep an association of Compile Unit metadata nodes
to DIEs so looking up that parental context failed & thus caused no
DW_TAG_imported_modules to be emitted at the CU scope. Fix this by
adding the mapping & sure up the test case to verify this.

llvm-svn: 181339
2013-05-07 17:57:13 +00:00
Hal Finkel c363245ff2 Cleanup PPCInstrInfo::optimizeCompareInstr
Implement suggestions by Bill Schmidt in post-commit review. No functionality
change intended.

llvm-svn: 181338
2013-05-07 17:49:55 +00:00
Anna Zaks e5e416c6de [analyzer] Fix a crash triggered by printing a note on a default argument
Instead, use the location of the call to print the note.

llvm-svn: 181337
2013-05-07 17:42:42 +00:00