Kostya Serebryany [Wed, 16 May 2012 07:48:16 +0000 (07:48 +0000)]
[tsan] add tiny_test.c
llvm-svn: 156908
Kostya Serebryany [Wed, 16 May 2012 07:46:55 +0000 (07:46 +0000)]
[tsan] fix old-style makefile -- we still need them to run our tests
llvm-svn: 156907
Kostya Serebryany [Wed, 16 May 2012 06:36:00 +0000 (06:36 +0000)]
[tsan] add ThreadSanitizer linker flags on Linux and also copy the tsan-rt into the appropriate place at build time
llvm-svn: 156906
Chris Lattner [Wed, 16 May 2012 06:34:44 +0000 (06:34 +0000)]
Significantly reduce the compiled size of Functions.cpp by turning a big blob of tblgen
generated code (for Intrinsic::getType) into a table. This handles common cases right now,
but I plan to extend it to handle all cases and merge in type verification logic as well
in follow-on patches.
llvm-svn: 156905
Douglas Gregor [Wed, 16 May 2012 05:32:58 +0000 (05:32 +0000)]
Produce more useful 'duplicate case' diagnostics. Fixes PR9243, from Terry Long!
llvm-svn: 156904
Chris Lattner [Wed, 16 May 2012 04:51:09 +0000 (04:51 +0000)]
have tblgen emit cast<> instead of dyn_cast<> when we know it must succeed.
llvm-svn: 156902
David Blaikie [Wed, 16 May 2012 04:20:04 +0000 (04:20 +0000)]
Include the correct conversion context locations for condition expressions.
This improves the conversion diagnostics (by correctly pointing to the loop
construct for conversions that may've been caused by the contextual conversion
to bool caused by a condition expression) and also causes the NULL conversion
warnings to be correctly suppressed when crossing a macro boundary in such a
context. (previously, since the conversion context location was incorrect, the
suppression could not be performed)
Reported by Nico Weber as feedback to r156826.
llvm-svn: 156901
Greg Clayton [Wed, 16 May 2012 02:48:06 +0000 (02:48 +0000)]
Make sure that our thread list can't get out of date like was happening before Jims fix in revision 156894.
llvm-svn: 156898
Rafael Espindola [Wed, 16 May 2012 02:10:38 +0000 (02:10 +0000)]
Fix the visibility of instantiations of static data members.
Fixes pr12835.
llvm-svn: 156897
Evan Cheng [Wed, 16 May 2012 01:54:27 +0000 (01:54 +0000)]
Avoid creating a cycle when folding load / op with flag / store. PR11451474. rdar://
11451474
llvm-svn: 156896
Jim Ingham [Wed, 16 May 2012 01:32:14 +0000 (01:32 +0000)]
Always call RefreshStateAfterStop when we get a stop event. We were skipping doing it in the case where we had interrupted the target. Presumably at some point in the past RefreshStateAfterStop was done more directly when we handled the interrupt, but it isn't any more so now we need to do it all the time.
llvm-svn: 156894
Jim Ingham [Wed, 16 May 2012 00:51:15 +0000 (00:51 +0000)]
Add an accessor on SBBreakpointLocation to get its location ID.
llvm-svn: 156891
Argyrios Kyrtzidis [Wed, 16 May 2012 00:50:02 +0000 (00:50 +0000)]
[libclang/AST] Index references of protocols in "@protocol(...)" syntax.
To do that, keep track of the location of the protocol id in the ObjCProtocolExpr
AST node.
rdar://
11190837
llvm-svn: 156890
Jason Molenda [Wed, 16 May 2012 00:40:45 +0000 (00:40 +0000)]
Bump debugserver version # to 187.
llvm-svn: 156888
Jason Molenda [Wed, 16 May 2012 00:40:14 +0000 (00:40 +0000)]
Bump version # to lldb-147.
llvm-svn: 156887
Jason Molenda [Wed, 16 May 2012 00:38:08 +0000 (00:38 +0000)]
Add LLDB_DISABLE_PYTHON around newly added methods in
DataVisualization.h / DataVisualization.cpp / ValueObject.cpp
and
FormatManager.h / FormatManager.cpp
llvm-svn: 156886
Jim Ingham [Wed, 16 May 2012 00:37:40 +0000 (00:37 +0000)]
Set the result status correctly for asynchronous step-in/out/over commands.
llvm-svn: 156885
Jason Molenda [Wed, 16 May 2012 00:36:41 +0000 (00:36 +0000)]
Fix comment typeo.
llvm-svn: 156884
Jason Molenda [Wed, 16 May 2012 00:36:21 +0000 (00:36 +0000)]
Change lockdown API use in RNBSocket::ConnectToService.
<rdar://problem/
10800927>
llvm-svn: 156883
Johnny Chen [Wed, 16 May 2012 00:33:34 +0000 (00:33 +0000)]
Fix Makefile to pass the correct -arch flag to the toolchains.
llvm-svn: 156882
John Criswell [Wed, 16 May 2012 00:26:51 +0000 (00:26 +0000)]
Fixed grammar for the llvm.trap intrinsic description.
llvm-svn: 156881
Argyrios Kyrtzidis [Wed, 16 May 2012 00:21:21 +0000 (00:21 +0000)]
[objcmt] Accept char arrays for rewriting to @() syntax.
Part of rdar://
11438360
llvm-svn: 156880
Greg Clayton [Wed, 16 May 2012 00:11:54 +0000 (00:11 +0000)]
<rdar://problem/
11246147>
Make sure our debugger STDIN read thread shuts down quickly when we are done with it. We had a case where the owner of the file handle was not closing it and caused spins.
llvm-svn: 156879
Jakob Stoklund Olesen [Tue, 15 May 2012 23:31:35 +0000 (23:31 +0000)]
Enable sub-sub-register copy coalescing.
It is now possible to coalesce weird skewed sub-register copies by
picking a super-register class larger than both original registers. The
included test case produces code like this:
vld2.32 {d16, d17, d18, d19}, [r0]!
vst2.32 {d18, d19, d20, d21}, [r0]
We still perform interference checking as if it were a normal full copy
join, so this is still quite conservative. In particular, the f1 and f2
functions in the included test case still have remaining copies because
of false interference.
llvm-svn: 156878
Johnny Chen [Tue, 15 May 2012 23:21:36 +0000 (23:21 +0000)]
Include llvm/ADT/STLExtras.h from lldb/Utility/Utils.h and use llvm::array_lengthof(), instead.
llvm-svn: 156876
Anna Zaks [Tue, 15 May 2012 23:12:53 +0000 (23:12 +0000)]
[analyzer] Add a test for dead stores, which uses OpaqueValExpr.
llvm-svn: 156875
Argyrios Kyrtzidis [Tue, 15 May 2012 22:59:54 +0000 (22:59 +0000)]
[objcmt] When using NSNumber numberWithInteger:/numberWithUnsignedInteger: be
more liberal in rewriting when the parameter is an enum constant.
Part of rdar://
11438360
llvm-svn: 156873
Fariborz Jahanian [Tue, 15 May 2012 22:37:04 +0000 (22:37 +0000)]
objective-c: perform strict type checking on property
type and its accessor type and issue error if types
are incompatible, instead of crashing in IRgen.
// rdar://1105153
llvm-svn: 156871
Anna Zaks [Tue, 15 May 2012 22:31:56 +0000 (22:31 +0000)]
[analyzer] Fix a regression in ObjCUnusedIVars checker.
We can no longer rely on children iterator to visit all the AST
tree children of an expression (OpaqueValueExpr has no children).
llvm-svn: 156870
Jakob Stoklund Olesen [Tue, 15 May 2012 22:26:28 +0000 (22:26 +0000)]
Teach RegisterCoalescer to handle symmetric sub-register copies.
It is possible to coalesce two overlapping registers to a common
super-register that it larger than both of the original registers.
The important difference is that it may be necessary to rewrite DstReg
operands as well as SrcReg operands because the sub-register index has
changed.
This behavior is still disabled by CoalescerPair.
llvm-svn: 156869
Argyrios Kyrtzidis [Tue, 15 May 2012 22:22:10 +0000 (22:22 +0000)]
[objcmt] Rewrite messages to NSString's stringWithUTF8String:/stringWithCString:
to use the @() boxing syntax.
It will also rewrite uses of stringWithCString:encoding: where the encoding that is
used is NSASCIIStringEncoding or NSUTF8StringEncoding.
rdar://
11438360
llvm-svn: 156868
Jakob Stoklund Olesen [Tue, 15 May 2012 22:20:27 +0000 (22:20 +0000)]
Handle NewReg==OldReg in renameRegister().
This can happen when widening a virtual register to a super-register
class.
llvm-svn: 156867
Jakob Stoklund Olesen [Tue, 15 May 2012 22:18:49 +0000 (22:18 +0000)]
We never call adjustCopiesBackFrom() for partial copies.
There is no need to look at an always null SrcIdx.
llvm-svn: 156866
Daniel Dunbar [Tue, 15 May 2012 22:07:18 +0000 (22:07 +0000)]
llvm-config: Use sys::fs::equivalent instead of string comparison.
- Hopefully fixes PR11600 (untested).
llvm-svn: 156865
Daniel Dunbar [Tue, 15 May 2012 22:07:14 +0000 (22:07 +0000)]
[Support] Add a version of sys::fs::equivalent() that treats errors as false.
llvm-svn: 156864
David Blaikie [Tue, 15 May 2012 21:57:38 +0000 (21:57 +0000)]
Don't warn when NULL is used within a macro but its conversion is outside a macro.
This fixes the included test case & was reported by Nico Weber.
It's a little bit nasty using the difference in the conversion context, but
seems to me like a not unreasonable solution. I did have to fix up the
conversion context for conditional operators (it seems correct to me to include
the context for which we're actually doing the comparison - across all the
nested conditionals, rather than the innermost conditional which might not
actually have the problematic implicit conversion at all) and template default
arguments (this is a bit of a hack, since we don't have the source location of
the '=' anymore, so I just used the start of the parameter - open to
suggestions there)
llvm-svn: 156861
Richard Smith [Tue, 15 May 2012 21:42:17 +0000 (21:42 +0000)]
Typo.
llvm-svn: 156860
Daniel Dunbar [Tue, 15 May 2012 21:32:27 +0000 (21:32 +0000)]
[docs] Remove unsupported references to ExtraSource variable.
llvm-svn: 156857
Richard Smith [Tue, 15 May 2012 21:29:55 +0000 (21:29 +0000)]
If we see a declaration which is either missing a type or has a malformed type,
and the thing we have has a scope specifier, and we're in a context that doesn't
allow declaring a qualified name, then the error is a malformed type, not a
missing type.
llvm-svn: 156856
Johnny Chen [Tue, 15 May 2012 21:27:40 +0000 (21:27 +0000)]
Add i386-only expectedFailure decorators for current ToT.
llvm-svn: 156855
Richard Smith [Tue, 15 May 2012 21:01:51 +0000 (21:01 +0000)]
Don't use the implicit int rule for error recovery in C++. Instead, try to
disambiguate whether the type name was forgotten or mistyped.
llvm-svn: 156854
Douglas Gregor [Tue, 15 May 2012 21:00:27 +0000 (21:00 +0000)]
Add the Objective-C runtime linking arguments after user-specified
linker arguments. Fixes <rdar://problem/
11417441>.
llvm-svn: 156853
Bill Wendling [Tue, 15 May 2012 20:47:23 +0000 (20:47 +0000)]
Add blurb for Crack.
llvm-svn: 156852
Argyrios Kyrtzidis [Tue, 15 May 2012 20:45:35 +0000 (20:45 +0000)]
Add documentation about boxing enum types and a codegen test to make
sure we pick up the underlying type, per suggestion by Fariborz.
No functionality change.
llvm-svn: 156851
Kevin Enderby [Tue, 15 May 2012 20:20:50 +0000 (20:20 +0000)]
Add a test case for r156840, a fix to llvm-objdump when disassembling using
-macho to disassemble the last symbol to the end of the section.
llvm-svn: 156850
Nuno Lopes [Tue, 15 May 2012 20:20:14 +0000 (20:20 +0000)]
reuse the result of some expensive computations in getSignExtendExpr() and getZeroExtendExpr()
this gives a speedup of > 80 in a debug build in the test case of PR12825 (php_sha512_crypt_r)
llvm-svn: 156849
Jakob Stoklund Olesen [Tue, 15 May 2012 20:09:43 +0000 (20:09 +0000)]
Extend the CoalescerPair interface to handle symmetric sub-register copies.
Now both SrcReg and DstReg can be sub-registers of the final coalesced
register.
CoalescerPair::setRegisters still rejects such copies because
RegisterCoalescer doesn't yet handle them.
llvm-svn: 156848
Akira Hatanaka [Tue, 15 May 2012 20:06:41 +0000 (20:06 +0000)]
Update MIPS' section in the release notes. Patch by Simon Atanasyan.
llvm-svn: 156847
Gregory Szorc [Tue, 15 May 2012 19:51:02 +0000 (19:51 +0000)]
[clang.py] Store reference to TranslationUnit in Cursor and Type
llvm-svn: 156846
Greg Clayton [Tue, 15 May 2012 19:26:12 +0000 (19:26 +0000)]
Modified "image lookup -t <typename>" to expand typedefs.
llvm-svn: 156845
Argyrios Kyrtzidis [Tue, 15 May 2012 19:17:49 +0000 (19:17 +0000)]
[objcmt] Rewrite [NSNumber numberWith*] messages to the new @() boxing syntax.
There are some caveats:
-If an implicit cast (e.g. int -> float for numberWithFloat:) was required, the message
will not get rewritten
-If the message was with numberWithInteger:/numberWithUnsignedInteger:, which are very
commonly used, be more liberal and allow the boxing syntax if the underlying type has
same signedness and will not lose precision.
Part of rdar://
11438360
llvm-svn: 156844
Argyrios Kyrtzidis [Tue, 15 May 2012 19:17:44 +0000 (19:17 +0000)]
Allow objc @() syntax for enum types.
Previously we would reject it as illegal using a value of
enum type and on ObjC++ it was illegal to use an enumerator
as well.
rdar://
11454917
llvm-svn: 156843
Andrew Trick [Tue, 15 May 2012 18:59:41 +0000 (18:59 +0000)]
Add -enable-aa-sched-mi, off by default, for AliasAnalysis inside MachineScheduler.
This feature avoids creating edges in the scheduler's dependence graph
for non-aliasing memory operations according to whichever alias
analysis is available. It has been fully tested in Hexagon. Before
making this default, it needs to be extended to handle multiple
MachineMemOperands, compile time needs more evaluation, and
benchmarking on X86 and ARM is needed.
Patch by Sergei Larin!
llvm-svn: 156842
Bob Wilson [Tue, 15 May 2012 18:57:39 +0000 (18:57 +0000)]
Do not link with Objective-C libraries with -nostdlib or -nodefaultlibs.
<rdar://problem/
11433499>
llvm-svn: 156841
Kevin Enderby [Tue, 15 May 2012 18:57:14 +0000 (18:57 +0000)]
Fixed a bug in llvm-objdump when disassembling using -macho option for a binary
that has more than one symbol. The last symbol was not being disassembled to
the end of the section.
llvm-svn: 156840
Daniel Dunbar [Tue, 15 May 2012 18:44:17 +0000 (18:44 +0000)]
llvm-build: Add support for non-installed libraries (e.g., gtest).
- These libraries are only reported by llvm-config when run from a development
tree.
llvm-svn: 156838
Daniel Dunbar [Tue, 15 May 2012 18:44:12 +0000 (18:44 +0000)]
llvm-build: Don't emit library information for disabled targets.
llvm-svn: 156837
Daniel Dunbar [Tue, 15 May 2012 18:44:09 +0000 (18:44 +0000)]
[utils] Fix Get{RepositoryPath,SourceVersion} to have a more robust is-git-svn
check.
llvm-svn: 156836
Greg Clayton [Tue, 15 May 2012 18:43:44 +0000 (18:43 +0000)]
<rdar://problem/
11455398>
Add "--name" option to "image lookup" that will search both functions and symbols.
Also made all of the output from any of the "image lookup" commands be the same regardless of the lookup type (function name, symbol name, func or symbol, file and line, address, etc). The --verbose or -v option also will expand the results as needed and display things so they look the same.
llvm-svn: 156835
Douglas Gregor [Tue, 15 May 2012 18:41:55 +0000 (18:41 +0000)]
Add the output of "clang --version" to scan-build results, from Gerald Combs!
llvm-svn: 156834
Fariborz Jahanian [Tue, 15 May 2012 18:12:51 +0000 (18:12 +0000)]
objc: avoid duplicate diagnostics on certain type mismatches
between property and its backing ivar.
llvm-svn: 156832
Fariborz Jahanian [Tue, 15 May 2012 17:43:16 +0000 (17:43 +0000)]
Remove word 'block' from option and diagnostic I added
in r156825.
llvm-svn: 156831
Jim Grosbach [Tue, 15 May 2012 17:36:07 +0000 (17:36 +0000)]
Allow MCCodeEmitter access to the target MCRegisterInfo.
Add MRI to the createMCCodeEmitter() call.
llvm-svn: 156830
Jim Grosbach [Tue, 15 May 2012 17:35:57 +0000 (17:35 +0000)]
TableGen'erate mapping physical registers to encoding values.
Many targets always use the same bitwise encoding value for physical
registers in all (or most) instructions. Add this mapping to the
.td files and TableGen'erate the information and expose an accessor
in MCRegisterInfo.
patch by Tom Stellard.
llvm-svn: 156829
Jim Grosbach [Tue, 15 May 2012 17:35:52 +0000 (17:35 +0000)]
Allow MCCodeEmitter access to the target MCRegisterInfo.
Add the MCRegisterInfo to the factories and constructors.
Patch by Tom Stellard <Tom.Stellard@amd.com>.
llvm-svn: 156828
David Blaikie [Tue, 15 May 2012 17:18:27 +0000 (17:18 +0000)]
Changing std::string to SmallString for r156826.
Based on code review feedback by Jordan Rose.
llvm-svn: 156827
David Blaikie [Tue, 15 May 2012 16:56:36 +0000 (16:56 +0000)]
Improve some of the conversion warnings to fire on conversion to bool.
Moves the bool bail-out down a little in SemaChecking - so now
-Wnull-conversion and -Wliteral-conversion can fire when the target type is
bool.
Also improve the wording/details in the -Wliteral-conversion warning to match
the -Wconstant-conversion.
llvm-svn: 156826
Fariborz Jahanian [Tue, 15 May 2012 16:33:04 +0000 (16:33 +0000)]
objective-c nonfragile abi: discourage ivar declarations
in @interface by issuing warning (off by default) under
opt'ed in flag -Winterface-block-ivar. // rdar://
10763173
llvm-svn: 156825
Sirish Pande [Tue, 15 May 2012 16:13:12 +0000 (16:13 +0000)]
Enable all Hexagon tests.
llvm-svn: 156824
Nuno Lopes [Tue, 15 May 2012 15:44:38 +0000 (15:44 +0000)]
minor simplification to code: Ty is already a SCEV type; don't need to run getEffectiveSCEVType() twice
llvm-svn: 156823
Kostya Serebryany [Tue, 15 May 2012 15:17:35 +0000 (15:17 +0000)]
[tsan] makefile machinery to build tsan-rt (linux-x86_64 only)
llvm-svn: 156822
Rafael Espindola [Tue, 15 May 2012 14:09:55 +0000 (14:09 +0000)]
Fix our handling of visibility in explicit template instantiations.
* Don't copy the visibility attribute during instantiations. We have to be able
to distinguish
struct HIDDEN foo {};
template<class T>
DEFAULT void bar() {}
template DEFAULT void bar<foo>();
from
struct HIDDEN foo {};
template<class T>
DEFAULT void bar() {}
template void bar<foo>();
* If an instantiation has an attribute, it takes precedence over an attribute
in the template.
* With instantiation attributes handled with the above logic, we can now
select the minimum visibility when looking at template arguments.
llvm-svn: 156821
David Chisnall [Tue, 15 May 2012 13:18:03 +0000 (13:18 +0000)]
Add a note about atomic builtins to c11 section of release notes.
llvm-svn: 156820
David Chisnall [Tue, 15 May 2012 13:06:46 +0000 (13:06 +0000)]
Add some release notes about compiler-rt and libc++
llvm-svn: 156819
Kostya Serebryany [Tue, 15 May 2012 12:41:14 +0000 (12:41 +0000)]
[asan] fix the old-style Makefile, which we still need to run asan tests
llvm-svn: 156818
David Chisnall [Tue, 15 May 2012 12:36:14 +0000 (12:36 +0000)]
Update atomic.c to work with the new clang builtins.
llvm-svn: 156817
Kostya Serebryany [Tue, 15 May 2012 12:21:33 +0000 (12:21 +0000)]
[asan] move lib/asan/interception to lib/interception so that other tools (e.g. tsan) can use it
llvm-svn: 156816
David Majnemer [Tue, 15 May 2012 11:46:21 +0000 (11:46 +0000)]
Teach SimplifyLibCalls about stpcpy.
llvm-svn: 156815
Manuel Klimek [Tue, 15 May 2012 11:46:07 +0000 (11:46 +0000)]
Fixes crasher bug in JSONCompilationDatabase for invalid input.
llvm-svn: 156814
Gabor Greif [Tue, 15 May 2012 11:21:03 +0000 (11:21 +0000)]
add embedded linux variants that occur in the field
llvm-svn: 156813
Bill Wendling [Tue, 15 May 2012 09:59:13 +0000 (09:59 +0000)]
Remove warning about testing unsigned int with int.
llvm-svn: 156812
Stepan Dyatkovskiy [Tue, 15 May 2012 09:21:39 +0000 (09:21 +0000)]
Fixed one small stupid, but critical bug.
llvm-svn: 156810
Manuel Klimek [Tue, 15 May 2012 08:58:48 +0000 (08:58 +0000)]
This patch fixes the cmake build to create libclang.so/libclang.a on linux
instead of liblibclang.so/liblibclang.a.
Patch by Arnaud de Grandmaison.
llvm-svn: 156809
Stepan Dyatkovskiy [Tue, 15 May 2012 06:50:18 +0000 (06:50 +0000)]
Rejected r156804 due to buildbots failures.
llvm-svn: 156808
Richard Smith [Tue, 15 May 2012 06:21:54 +0000 (06:21 +0000)]
Further improvement to wording of overload resolution diagnostics, and including
the sole parameter name in the diagnostic in more cases. Patch by Terry Long!
llvm-svn: 156807
Richard Smith [Tue, 15 May 2012 06:15:11 +0000 (06:15 +0000)]
PR12798: Don't drop part of the nested name specifier when instantiating a
pseudo-destructor expression. This can affect whether virtual dispatch for
the destructor call is bypassed.
llvm-svn: 156806
Richard Smith [Tue, 15 May 2012 05:39:53 +0000 (05:39 +0000)]
Test file I forgot to 'svn add' in r156802.
llvm-svn: 156805
Stepan Dyatkovskiy [Tue, 15 May 2012 05:09:41 +0000 (05:09 +0000)]
SelectionDAGBuilder::Clusterify : main functinality was replaced with CRSBuilder::optimize, so big part of Clusterify's code was reduced.
llvm-svn: 156804
Richard Smith [Tue, 15 May 2012 05:04:02 +0000 (05:04 +0000)]
PR12826: Converting an lvalue to an xvalue is a no-op conversion, not an lvalue-to-rvalue conversion.
llvm-svn: 156803
Richard Smith [Tue, 15 May 2012 04:39:51 +0000 (04:39 +0000)]
Fold the six functions checking explicitly-defaulted special member functions
into one. These were all performing almost identical checks, with different bugs
in each of them.
This fixes PR12806 (we weren't setting the exception specification for an
explicitly-defaulted, non-user-provided default constructor) and enforces
8.4.2/2's rule that an in-class defaulted member must exactly match the implicit
parameter type.
llvm-svn: 156802
Akira Hatanaka [Tue, 15 May 2012 03:14:52 +0000 (03:14 +0000)]
Temporarily disable anti-dependence breaking for Mips until bug 12829 is
resolved.
llvm-svn: 156801
Greg Clayton [Tue, 15 May 2012 02:50:49 +0000 (02:50 +0000)]
Fixed a typo: "aync" => "async"
llvm-svn: 156797
Greg Clayton [Tue, 15 May 2012 02:44:13 +0000 (02:44 +0000)]
<rdar://problem/
11451919>
Fixed the test suite not working on i386 due to recent default arch detection changes.
llvm-svn: 156796
Greg Clayton [Tue, 15 May 2012 02:33:01 +0000 (02:33 +0000)]
<rdar://problem/
11240464>
Correctly unique a class' methods when we detect that a class has been uniqued to another.
llvm-svn: 156795
John McCall [Tue, 15 May 2012 02:01:59 +0000 (02:01 +0000)]
Change the mangling of a ref-qualifier on a function type so that
it is placed in a position which is never ambiguous with a
reference-to-function type. This follows some recent discussion
and ensuing proposal on cxx-abi-dev. It is not necessary to
change the mangling of CV-qualifiers because you cannot
apply CV-qualification in the normal sense to a function type.
It is not necessary to change the mangling of ref-qualifiers on
method declarations because they appear in an unambiguous
location.
In addition, mangle CV-qualifiers and ref-qualifiers on function
types when they occur in positions other than member pointers
(that is, when they appear as template arguments).
This is a minor ABI break with previous releases of clang. It
is not considered critical because (1) ref-qualifiers are
relatively rare, since AFAIK we're the only implementing compiler,
and (2) they're particularly likely to come up in contexts that
do not rely on the ODR for correctness. We apologize for any
inconvenience; this is the right thing to do.
llvm-svn: 156794
Enrico Granata [Tue, 15 May 2012 01:22:45 +0000 (01:22 +0000)]
Fixing a bug where the summary for certain NSStrings was being returned as empty in spite of the string actually having a content
llvm-svn: 156793
Jakob Stoklund Olesen [Tue, 15 May 2012 00:50:23 +0000 (00:50 +0000)]
Create a struct representing register units in TableGen.
Besides the weight, we also want to store up to two root registers per
unit. Most units will have a single root, the leaf register they
represent. Units created for ad hoc aliasing get two roots: The two
aliasing registers.
The root registers can be used to compute the set of overlapping
registers.
llvm-svn: 156792
Bill Wendling [Tue, 15 May 2012 00:41:56 +0000 (00:41 +0000)]
Remove extraneous ';'.
llvm-svn: 156791
Akira Hatanaka [Mon, 14 May 2012 23:59:17 +0000 (23:59 +0000)]
Add a command line option to skip the delay slot filler pass entirely for Mips.
The purpose of this option is to silence error messages issued by machine
verifier passes and enable them to run to the end. If this option is not
provided, -verify-machineinstrs complains when it discovers there is a
non-terminator instruction (an instruction that is in a delay slot) after the
first terminator in a basic block.
llvm-svn: 156790
Argyrios Kyrtzidis [Mon, 14 May 2012 23:33:49 +0000 (23:33 +0000)]
[objcmt] When rewriting to subscripting syntax, make sure we put
the receiver in parentheses when necessary.
Part of rdar://
11438360
llvm-svn: 156789