Eric Christopher [Wed, 16 Jan 2013 20:31:35 +0000 (20:31 +0000)]
Make this test X86 only.
llvm-svn: 172652
Eric Christopher [Wed, 16 Jan 2013 20:31:32 +0000 (20:31 +0000)]
Move this to X86.
llvm-svn: 172651
Tim Northover [Wed, 16 Jan 2013 20:13:15 +0000 (20:13 +0000)]
Correct order of operands forwarding NEON vfma to LLVM fma
llvm-svn: 172650
Eric Christopher [Wed, 16 Jan 2013 20:09:36 +0000 (20:09 +0000)]
Move initialization of ParsingIfOrElifDirective down next to the macro
initializations to fix Wreorder warning.
llvm-svn: 172649
Eric Christopher [Wed, 16 Jan 2013 19:54:35 +0000 (19:54 +0000)]
Add testcase missed yesterday. Patch from Paul Robinson.
llvm-svn: 172648
Greg Clayton [Wed, 16 Jan 2013 19:53:55 +0000 (19:53 +0000)]
Remove std::string input arguments and replace with "const char *".
llvm-svn: 172647
Eric Christopher [Wed, 16 Jan 2013 19:53:47 +0000 (19:53 +0000)]
Add testcase missed yesterday from Paul Robinson.
llvm-svn: 172646
Michael J. Spencer [Wed, 16 Jan 2013 19:52:12 +0000 (19:52 +0000)]
[Support] Add MSVC intrinsic for CountPopulation.
Patch by Jakub Staszak.
llvm-svn: 172645
Michael J. Spencer [Wed, 16 Jan 2013 19:51:59 +0000 (19:51 +0000)]
[Support] Update MSVC compiler support in Compiler.h.
llvm-svn: 172644
Aaron Ballman [Wed, 16 Jan 2013 19:51:19 +0000 (19:51 +0000)]
Adding verbiage to the Language Extensions document about __has_include and __has_include_next only being allowed within preprocessor directives.
llvm-svn: 172643
Eli Bendersky [Wed, 16 Jan 2013 19:42:16 +0000 (19:42 +0000)]
Remove unneeded include and empty line
llvm-svn: 172642
Enrico Granata [Wed, 16 Jan 2013 19:41:57 +0000 (19:41 +0000)]
Replacing reference to radar number with svn revision
llvm-svn: 172641
Eli Bendersky [Wed, 16 Jan 2013 19:32:36 +0000 (19:32 +0000)]
Some small (and mostly cosmetic) fixes.
llvm-svn: 172640
Aaron Ballman [Wed, 16 Jan 2013 19:32:21 +0000 (19:32 +0000)]
No longer crashing with an assert when __has_include or __has_include_next is used outside of a preprocessor directive. This fixes PR14837.
llvm-svn: 172639
Eli Bendersky [Wed, 16 Jan 2013 19:00:21 +0000 (19:00 +0000)]
Clean up some unnecessary headers and forward declarations
llvm-svn: 172638
Eli Bendersky [Wed, 16 Jan 2013 18:56:50 +0000 (18:56 +0000)]
Now that GenericAsmParser was folded into AsmParser, some methods and types can
return into the safe harbor of AsmParser's private areas.
llvm-svn: 172637
Enrico Granata [Wed, 16 Jan 2013 18:53:52 +0000 (18:53 +0000)]
<rdar://problem/
13021266>
Adding FindFirstGlobalVariable to SBModule and SBTarget
These calls work like FindGlobalVariables but they only return the first match found and so they can return an SBValue instead of an SBValueList for added convenience of use
llvm-svn: 172636
Douglas Gregor [Wed, 16 Jan 2013 18:47:38 +0000 (18:47 +0000)]
Teach global selector lookup to ignore hidden methods, which occur
when the methods are declared in a submodule that has not yet been
imported. Part of <rdar://problem/
10634711>.
llvm-svn: 172635
Daniel Dunbar [Wed, 16 Jan 2013 18:39:23 +0000 (18:39 +0000)]
[Linker] Change module flag linking to be more extensible.
- Instead of computing a bunch of buckets of different flag types, just do an
incremental link resolving conflicts as they arise.
- This also has the advantage of making the link result deterministic and not
dependent on map iteration order.
llvm-svn: 172634
Enrico Granata [Wed, 16 Jan 2013 18:34:23 +0000 (18:34 +0000)]
Greg created a new API on SBProcess to get an ID that is guaranteed to be unique even in situations where underlying platforms would actually duplicate or hardcode PIDs
The Python data formatters use a per-process cache that was previously keying off the PID. Moving that to be based on this new notion of unique ID.
llvm-svn: 172633
Argyrios Kyrtzidis [Wed, 16 Jan 2013 18:13:00 +0000 (18:13 +0000)]
[libclang] In clang_reparseTranslationUnit_Impl, move the check whether TU is
null before using it.
llvm-svn: 172632
Howard Hinnant [Wed, 16 Jan 2013 17:56:06 +0000 (17:56 +0000)]
Make a few tests optimization-proof. These tests were failing under -O3 because the optimizer was eliminating the call to new.
llvm-svn: 172631
Kevin Enderby [Wed, 16 Jan 2013 17:46:23 +0000 (17:46 +0000)]
We want the dwarf AT_producer for assembly source files to match clang's
AT_producer. Which includes clang's version information so we can tell
which version of the compiler was used.
This is the first of two steps to allow us to do that. This is the llvm-mc
change to provide a method to set the AT_producer string. The second step,
coming soon to a clang near you, will have the clang driver pass the value
of getClangFullVersion() via an flag when invoking the integrated assembler
on assembly source files.
rdar://
12955296
llvm-svn: 172630
Argyrios Kyrtzidis [Wed, 16 Jan 2013 17:42:07 +0000 (17:42 +0000)]
[PCH/Modules] The iterator may become invalidated because a new macro can be added
while deserializing a macro, make sure to copy/move what we need from it.
Fixes clang-x86_64-debian-fast bot.
llvm-svn: 172629
Greg Clayton [Wed, 16 Jan 2013 17:29:04 +0000 (17:29 +0000)]
<rdar://problem/
13009943>
Added a unique integer identifier to processes. Some systems, like JTAG or other simulators, might always assign the same process ID (pid) to the processes that are being debugged. In order for scripts and the APIs to uniquely identify the processes, there needs to be another ID. Now the SBProcess class has:
uint32_t SBProcess::GetUniqueID();
This integer ID will help to truly uniquely identify a process and help with appropriate caching that can be associated with a SBProcess object.
llvm-svn: 172628
Peter Collingbourne [Wed, 16 Jan 2013 17:27:22 +0000 (17:27 +0000)]
Introduce llvm::sys::getProcessTriple() function.
In r143502, we renamed getHostTriple() to getDefaultTargetTriple()
as part of work to allow the user to supply a different default
target triple at configure time. This change also affected the JIT.
However, it is inappropriate to use the default target triple in the
JIT in most circumstances because this will not necessarily match
the current architecture used by the process, leading to illegal
instruction and other such errors at run time.
Introduce the getProcessTriple() function for use in the JIT and
its clients, and cause the JIT to use it. On architectures with a
single bitness, the host and process triples are identical. On other
architectures, the host triple represents the architecture of the
host CPU, while the process triple represents the architecture used
by the host CPU to interpret machine code within the current process.
For example, when executing 32-bit code on a 64-bit Linux machine,
the host triple may be 'x86_64-unknown-linux-gnu', while the process
triple may be 'i386-unknown-linux-gnu'.
This fixes JIT for the 32-on-64-bit (and vice versa) build on non-Apple
platforms.
Differential Revision: http://llvm-reviews.chandlerc.com/D254
llvm-svn: 172627
Reed Kotler [Wed, 16 Jan 2013 17:10:28 +0000 (17:10 +0000)]
First step in implementation of mips16 and nomips16 attributes.
Waiting for new llvm attribute code for the next step.
llvm-svn: 172626
Argyrios Kyrtzidis [Wed, 16 Jan 2013 17:04:31 +0000 (17:04 +0000)]
[libclang] In clang_getCursorType, don't crash if the translation unit is not
set on the cursor; return a null type in such a case.
llvm-svn: 172625
Daniel Jasper [Wed, 16 Jan 2013 17:00:50 +0000 (17:00 +0000)]
Fix a bug where we would move a following line into a comment.
Before: Constructor() : a(a), // comment a(a) {}
After: Constructor() : a(a), // comment
a(a) {}
Needed this as a quick fix. Will add more tests for this in a future
commit.
llvm-svn: 172624
Argyrios Kyrtzidis [Wed, 16 Jan 2013 16:52:44 +0000 (16:52 +0000)]
[preprocessor] Call the MacroUndefined callback even when the macro was not defined.
Patch by Enea Zaffanella!
llvm-svn: 172623
Eli Bendersky [Wed, 16 Jan 2013 16:52:08 +0000 (16:52 +0000)]
Replace virtual hasFixups with explicit fragment type checks
llvm-svn: 172622
Daniel Jasper [Wed, 16 Jan 2013 16:23:19 +0000 (16:23 +0000)]
Fix parsing error in conditional expressions.
We used to incorrectly parse
aaaaaa ? aaaaaa(aaaaaa) :
aaaaaaaa;
Due to an l_paren being followed by a colon, we assumed it to be part of
a constructor initializer. Thus, we never found the colon belonging to
the conditional expression, marked the line as bing incorrect and did
not format it.
llvm-svn: 172621
Argyrios Kyrtzidis [Wed, 16 Jan 2013 16:19:38 +0000 (16:19 +0000)]
[PCH/Modules] Change how macro [re]definitions are de/serialized.
Previously we would serialize the macro redefinitions as a list, part of
the identifier, and try to chain them together across modules individually
without having the info that they were already chained at definition time.
Change this by serializing the macro redefinition chain and then try
to synthesize the chain parts across modules. This allows us to correctly
pinpoint when 2 different definitions are ambiguous because they came from
unrelated modules.
Fixes bogus "ambiguous expansion of macro" warning when a macro in a PCH
is redefined without undef'ing it first.
rdar://
13016031
llvm-svn: 172620
Daniel Jasper [Wed, 16 Jan 2013 16:04:06 +0000 (16:04 +0000)]
Improve understanding of unary operators.
Before: int x = ** a;
After: int x = **a;
llvm-svn: 172619
Daniel Jasper [Wed, 16 Jan 2013 15:44:34 +0000 (15:44 +0000)]
Disable inlining of short ifs in Google style.
Various reasons seem to speak against it, so I am disabling this for
now.
Changed tests to still test this option.
llvm-svn: 172618
Daniel Jasper [Wed, 16 Jan 2013 14:59:02 +0000 (14:59 +0000)]
Add option to avoid "bin-packing" of parameters.
"Bin-packing" here means allowing multiple parameters on one line, if a
function call/declaration is spread over multiple lines.
This is required by the Chromium style guide and probably desired for
the Google style guide. Not making changes to LLVM style as I don't have
enough data.
With this enabled, we format stuff like:
aaaaaaaaaaaaaaa(
aaaaaaaaaa,
aaaaaaaaaa,
aaaaaaaaaaaaaaaaaaaaaaa).
aaaaaaaaaaaaaaaaaa();
llvm-svn: 172617
Manuel Klimek [Wed, 16 Jan 2013 14:55:28 +0000 (14:55 +0000)]
Add debugging support for split penalties.
llvm-svn: 172616
Evgeniy Stepanov [Wed, 16 Jan 2013 14:41:46 +0000 (14:41 +0000)]
Allow vectors in CreatePointerCast of constants.
llvm-svn: 172615
Evgeniy Stepanov [Wed, 16 Jan 2013 14:38:50 +0000 (14:38 +0000)]
A test for r172535.
llvm-svn: 172614
Dmitry Vyukov [Wed, 16 Jan 2013 14:35:13 +0000 (14:35 +0000)]
asan: fix ARM build
llvm-svn: 172613
Benjamin Kramer [Wed, 16 Jan 2013 13:43:56 +0000 (13:43 +0000)]
Remove unused leftover header (it moved to llvm/IR).
llvm-svn: 172612
Benjamin Kramer [Wed, 16 Jan 2013 13:25:56 +0000 (13:25 +0000)]
Move test that depends on the x86 target into a target-specific directory.
Should fix the arm buildbot (which only builds the arm target).
llvm-svn: 172611
Alexey Samsonov [Wed, 16 Jan 2013 13:23:28 +0000 (13:23 +0000)]
ASan: wrap mapping scale and offset in a struct and make it a member of ASan passes. Add test for non-default mapping scale and offset. No functionality change
llvm-svn: 172610
Benjamin Kramer [Wed, 16 Jan 2013 13:19:59 +0000 (13:19 +0000)]
Remove triple from this test, it makes it fail when X86 TTI is missing.
Without a triple opt falls back to NoTTI which comes closer to LSR's pre-TTI behavior.
llvm-svn: 172609
Manuel Klimek [Wed, 16 Jan 2013 12:31:12 +0000 (12:31 +0000)]
Use standard llvm Debug.h support for debugging output.
Leave a quick "// Uncomment this." hint to enable the debug output in
tests. FIXME: figure out whether we want to enable debug command line
handling for all tests.
llvm-svn: 172608
Alexander Kornienko [Wed, 16 Jan 2013 11:45:16 +0000 (11:45 +0000)]
Clang Format: A couple of tests for the trailing stuff case
llvm-svn: 172607
Alexander Kornienko [Wed, 16 Jan 2013 11:43:46 +0000 (11:43 +0000)]
Clang Format: Handle missing semicolon
llvm-svn: 172606
Alexey Samsonov [Wed, 16 Jan 2013 11:34:36 +0000 (11:34 +0000)]
Fix uninitialized bool flag access in SanitizerArgs parser
llvm-svn: 172605
Daniel Jasper [Wed, 16 Jan 2013 10:41:46 +0000 (10:41 +0000)]
Calculate the total length of a line up to each token up front.
This makes the tedious fitsIntoLimit() method unnecessary and I can
replace one hack (constructor initializers) by a slightly better hack.
Furthermore, this will enable calculating whether a certain part of a
line fits into the limit for future modifications.
llvm-svn: 172604
Kostya Serebryany [Wed, 16 Jan 2013 09:12:14 +0000 (09:12 +0000)]
[asan] asan_allocator2: fix the memalign handling (clear the first word of allocated chunk in case there is an old memalign magic)
llvm-svn: 172603
Daniel Jasper [Wed, 16 Jan 2013 09:10:19 +0000 (09:10 +0000)]
Change the datastructure for UnwrappedLines.
It was quite convoluted leading to us accidentally introducing O(N^2)
complexity while copying from UnwrappedLine to AnnotatedLine. We might
still want to improve the datastructure in AnnotatedLine (most
importantly not put them in a vector where they need to be copied on
vector resizing but that will be done as a follow-up.
This fixes most of the regression in llvm.org/PR14959.
No formatting changes intended.
llvm-svn: 172602
Daniel Jasper [Wed, 16 Jan 2013 07:19:28 +0000 (07:19 +0000)]
Never merge < and ::, as it produces different tokens.
Before: vector<::Type> t;
After: vector< ::Type> t;
llvm-svn: 172601
Daniel Jasper [Wed, 16 Jan 2013 07:02:34 +0000 (07:02 +0000)]
Remove errors were if statements were incorrectly put on a single line.
Before: if (a) // This comment confused clang-format f();
After: if (a) // No more confusion
f();
llvm-svn: 172600
Michael Gottesman [Wed, 16 Jan 2013 06:32:39 +0000 (06:32 +0000)]
[ObjCARC] Turn off ignoring unwind edges in ObjCARC when -fno-objc-arc-exception is enabled due to it's affect on correctness.
Specifically according to the semantics of ARC -fno-objc-arc-exception simply
states that it is expected that the unwind path out of a call *MAY* not release
objects. Thus we can have the situation where a release gets moved into a catch
block which we ignore when we remove a retain/release pair resulting in (even
though we assume the program is exiting anyways) the cleanup code path
potentially blowing up before program exit.
llvm-svn: 172599
NAKAMURA Takumi [Wed, 16 Jan 2013 06:10:16 +0000 (06:10 +0000)]
clang/test/Driver/darwin-sdkroot.c: Suppress this on msys bash, to introduce the feature "shell-preserves-root".
MSYS transforms '/' to 'X:/mingwroot/'.
llvm-svn: 172598
Anna Zaks [Wed, 16 Jan 2013 01:36:00 +0000 (01:36 +0000)]
[analyzer] Add an annotation to allow suppression of direct ivar
assignment
llvm-svn: 172597
Anna Zaks [Wed, 16 Jan 2013 01:35:57 +0000 (01:35 +0000)]
[analyzer] Fix warning typo.
llvm-svn: 172596
Anna Zaks [Wed, 16 Jan 2013 01:35:54 +0000 (01:35 +0000)]
[analyzer] Refactor: parameter rename.
llvm-svn: 172595
Jack Carter [Wed, 16 Jan 2013 01:29:10 +0000 (01:29 +0000)]
reverting 172579
llvm-svn: 172594
Greg Clayton [Wed, 16 Jan 2013 01:27:32 +0000 (01:27 +0000)]
SDKROOT should only be unset/cleared for ARM builds. The first fix by Bob Wilson removed it for ARM for both configure and make, but only unset it for desktop configure, not for the make. My next fix unset/cleared it all the time. This fix only unset/clears it for ARM builds.
llvm-svn: 172593
Douglas Gregor [Wed, 16 Jan 2013 01:23:41 +0000 (01:23 +0000)]
Add -fmodules-autolink/-fno-modules-autolink (defaults to on) so that
users can explicitly enable/disable modules autolinking.
llvm-svn: 172592
Eric Christopher [Wed, 16 Jan 2013 01:22:32 +0000 (01:22 +0000)]
Collect both normal and static data members of a class in source
order. Describe static data members to metadata using new interfaces.
Part of PR14471.
Patch by Paul Robinson!
llvm-svn: 172591
Eric Christopher [Wed, 16 Jan 2013 01:22:23 +0000 (01:22 +0000)]
Define metadata interfaces for describing a static data member
of a class. Emit static data member declarations and definitions
through correctly.
Part of PR14471.
Patch by Paul Robinson!
llvm-svn: 172590
Eric Christopher [Wed, 16 Jan 2013 01:22:09 +0000 (01:22 +0000)]
Add a test for static member debug information.
Part of PR14471.
Patch by Paul Robinson.
llvm-svn: 172589
Dmitri Gribenko [Wed, 16 Jan 2013 01:17:05 +0000 (01:17 +0000)]
Documentation: fix typo
llvm-svn: 172588
Douglas Gregor [Wed, 16 Jan 2013 01:12:31 +0000 (01:12 +0000)]
Document the redeclaration and overriding restrictions on the
availability attribute.
llvm-svn: 172587
Douglas Gregor [Wed, 16 Jan 2013 00:54:48 +0000 (00:54 +0000)]
One can have an unavailable method overridden by an available method,
but not vice-versa. Fix bug introduced in r172567 and noticed by
Jordan, thanks!
llvm-svn: 172586
Douglas Gregor [Wed, 16 Jan 2013 00:52:15 +0000 (00:52 +0000)]
Apply adjustment to function- and array-typed non-type template
parameters (per C++ [temp.param]p8) when computing the type of a
reference to a non-type template parameter. Fixes <rdar://problem/
13000548>.
llvm-svn: 172585
Eli Bendersky [Wed, 16 Jan 2013 00:50:52 +0000 (00:50 +0000)]
Use the ExtensionDirectiveHandler type in other places where it makes sense.
Since we already have this type it's a shame to keep dragging a pair of object
and method around explicitly.
llvm-svn: 172584
Han Ming Ong [Wed, 16 Jan 2013 00:46:39 +0000 (00:46 +0000)]
<rdar://problem/
13019628>
Prevent profiling from working on older debugserver. Just a simple renaming since the caller is prepared to handle the ‘unimplemented’ answer.
llvm-svn: 172583
Greg Clayton [Wed, 16 Jan 2013 00:41:14 +0000 (00:41 +0000)]
Fix clang builds that were broken due to SDKROOT changes of you have an internal OS build.
llvm-svn: 172582
David Greene [Wed, 16 Jan 2013 00:17:38 +0000 (00:17 +0000)]
Use --enable-werror
Use --enable-werror during configure time rather than
--with-extra-options. This is cleaner and easier to read.
llvm-svn: 172581
Dmitri Gribenko [Wed, 16 Jan 2013 00:14:15 +0000 (00:14 +0000)]
Improve r172577 by using the correct type when declaring constants
llvm-svn: 172580
Jack Carter [Wed, 16 Jan 2013 00:07:45 +0000 (00:07 +0000)]
Akira,
Hope you are feeling better.
The Mips RDHWR (Read Hardware Register) instruction was not
tested for assembler or dissassembler consumption. This patch
adds that functionality.
Contributer: Vladimir Medic
llvm-svn: 172579
Eric Christopher [Tue, 15 Jan 2013 23:56:56 +0000 (23:56 +0000)]
Split address information for DWARF5 split dwarf proposal. This involves
using the DW_FORM_GNU_addr_index and a separate .debug_addr section which
stays in the executable and is fully linked.
Sneak in two other small changes:
a) Print out the debug_str_offsets.dwo section.
b) Change form we're expecting the entries in the debug_str_offsets.dwo
section to take from ULEB128 to U32.
Add tests for all of this in the fission-cu.ll test.
llvm-svn: 172578
David Greene [Tue, 15 Jan 2013 23:46:58 +0000 (23:46 +0000)]
Avoid Enum Compare Warnings
Avoid a compiler warning about comparing disjoint enums but casting
them to int first.
llvm-svn: 172577
Nadav Rotem [Tue, 15 Jan 2013 23:43:14 +0000 (23:43 +0000)]
Teach InstCombine to optimize extract of a value from a vector add operation with a constant zero.
llvm-svn: 172576
Sean Callanan [Tue, 15 Jan 2013 23:38:09 +0000 (23:38 +0000)]
Fixes to the code I just committed to reflect
that we now also have to ignore breakpoints
when running the expression to collect isas.
llvm-svn: 172575
Sean Callanan [Tue, 15 Jan 2013 23:33:42 +0000 (23:33 +0000)]
Modified the Objective-C runtime to fetch Objective-C
isas and corresponding names from the underlying process
in a manner much quicker than the current approach.
The current approach accesses memory in the underlying
process with a random-access pattern as it walks across
the data structures associated with each isa. This
involves a great deal of back-and-forth with debugserver,
resulting in performance problems, especially with iOS
targets.
The new approach attempts to run an expression in the
target that collects the isas and names into two large
buffers, which LLDB then collects in one shot.
<rdar://problem/
12914539>
llvm-svn: 172574
Sean Callanan [Tue, 15 Jan 2013 23:29:36 +0000 (23:29 +0000)]
ClangExpressionVariable previously was not capable of
handling multiple clients. However, occasionally an
expression must be run in the service of another
expression, and in this case two parsers need to access
the same list of persistent variables.
To allow this, persistent variables now provide state
for multiple parsers, and parsers must allocate, access,
and deallocate this state by providing their own ID
(at the moment, simply the value of the "this" pointer).
<rdar://problem/
12914539>
llvm-svn: 172573
Eli Bendersky [Tue, 15 Jan 2013 23:22:09 +0000 (23:22 +0000)]
Optimize the memory usage of MC bundling, by creating a new type of fragment
into which we can emit single instructions without fixups (which is most
instructions). This is an optimization required because MCDataFragment
is prety large (240 bytes on x64), with no change in functionality.
For large programs, this reduces memory usage overhead required for bundling
by 40%.
To make the code as palatable as possible, the MCEncodedFragment interface was
further fragmented (no pun intended) and MCEncodedFragmentWithFixups is used
as the interface to work against when the user expects fixups. MCDataFragment
and MCRelaxableFragment implement this interface, while the new
MCCompactEncodedInstFragment implements MCEncodeFragment.
llvm-svn: 172572
David Greene [Tue, 15 Jan 2013 23:13:49 +0000 (23:13 +0000)]
Fix signed/unsigned Compare
Do some casting to avoid a signed/unsigned compare.
llvm-svn: 172571
David Greene [Tue, 15 Jan 2013 23:13:47 +0000 (23:13 +0000)]
Avoid unsigned Compare to int
Cast arithmetic results to avoid comparison of an unsigned to an int.
llvm-svn: 172570
Chad Rosier [Tue, 15 Jan 2013 23:07:53 +0000 (23:07 +0000)]
[ms-inline asm] Address the FIXME in AsmParser.cpp.
// FIXME: Constraints are hard coded to 'm', but we need an 'r'
// constraint for addressof. This needs to be cleaned up!
Test cases are already in place. Specifically,
clang/test/CodeGen/ms-inline-asm.c t15(), t16(), and t24().
llvm-svn: 172569
Eli Bendersky [Tue, 15 Jan 2013 22:59:42 +0000 (22:59 +0000)]
Refactor generic Asm directive parsing.
After discussing the refactoring with Jim and Daniel, the following changes were
made:
* All generic directive parsing is now done by AsmParser itself. The previous
division between it and GenericAsmParser did not have clear boundaries and
just produced unnatural code of GenericAsmParser juggling the internals of
AsmParser through an interface.
The division of responsibilities is now clear: target-specific directives,
other extensions (used by platform-specific parseres), and generic directives.
* Priority for directive parsing was reshuffled to ask extensions first and
check the generic directives later.
No change in functionality.
llvm-svn: 172568
Douglas Gregor [Tue, 15 Jan 2013 22:43:08 +0000 (22:43 +0000)]
When checking availability attributes for consistency between an
overriding and overridden method, allow the overridden method to have
a narrower contract (introduced earlier, deprecated/obsoleted later)
than the overriding method. Fixes <rdar://problem/
12992023>.
llvm-svn: 172567
Greg Clayton [Tue, 15 Jan 2013 22:13:13 +0000 (22:13 +0000)]
<rdar://problem/
13011717>
Fixed a compilation error where NULL was being assigned to a uint.
llvm-svn: 172566
David Greene [Tue, 15 Jan 2013 22:09:51 +0000 (22:09 +0000)]
Fix Casting
Use const_cast<> to avoid a cast-away-const error.
llvm-svn: 172565
David Greene [Tue, 15 Jan 2013 22:09:49 +0000 (22:09 +0000)]
Fix Casting
Use const_cast<> to avoid a cast-away-const error.
llvm-svn: 172564
David Greene [Tue, 15 Jan 2013 22:09:48 +0000 (22:09 +0000)]
Fix Casting
Use const_cast<> to avoid a cast-away-const error.
llvm-svn: 172563
David Greene [Tue, 15 Jan 2013 22:09:46 +0000 (22:09 +0000)]
Fix Casting
Use const_cast<> to avoid a cast-away-const error.
llvm-svn: 172562
David Greene [Tue, 15 Jan 2013 22:09:45 +0000 (22:09 +0000)]
Fix Cast
Properly use const_cast to fix a cast-away-const error.
llvm-svn: 172561
David Greene [Tue, 15 Jan 2013 22:09:43 +0000 (22:09 +0000)]
Fix Casting
Make the const_cast explicit to silence a compiler warning.
llvm-svn: 172560
David Greene [Tue, 15 Jan 2013 22:09:41 +0000 (22:09 +0000)]
Fix Const Cast
Do proper casting to avoid a cast-away-const error.
llvm-svn: 172559
David Greene [Tue, 15 Jan 2013 22:09:40 +0000 (22:09 +0000)]
Fix Cast
Avoid a cast-away-const error by properly using const_cast<>.
llvm-svn: 172558
David Greene [Tue, 15 Jan 2013 22:09:39 +0000 (22:09 +0000)]
Fix Cast Code
Eliminate a cast and resulting cast-qual warning by using a temporary
as the target of memcpy.
llvm-svn: 172557
Michael J. Spencer [Tue, 15 Jan 2013 22:00:16 +0000 (22:00 +0000)]
[Object][ELF] Fix -Wenum-compare.
llvm-svn: 172556
Aaron Ballman [Tue, 15 Jan 2013 21:59:46 +0000 (21:59 +0000)]
Typo correction; no functional change.
llvm-svn: 172555
Michael J. Spencer [Tue, 15 Jan 2013 21:13:14 +0000 (21:13 +0000)]
Trailing whitespace.
llvm-svn: 172554
Michael J. Spencer [Tue, 15 Jan 2013 21:13:02 +0000 (21:13 +0000)]
[ELF] Never allocate content to weak symbols as they may be merged away.
This is done by creating a new non-weak anonymous symbol and creating
an atom with content for that symbol. This is added after the weak symbol
so that they have the same address.
llvm-svn: 172553