Commit Graph

152395 Commits

Author SHA1 Message Date
Rafael Espindola 503b726b43 Use the new PathV2 instead of implementing the logic in clang.
llvm-svn: 184803
2013-06-25 00:55:28 +00:00
Rafael Espindola 7c4d2da8e8 Cleanup in unique_file when we only want the name.
This is really ugly, but it is no worse than what we have in clang right now and
it is better to get it working first and clean/optimize it afterwards.

Will be tested from clang in the next patch.

llvm-svn: 184802
2013-06-25 00:49:40 +00:00
Eli Friedman 96dbf6f082 Delete a couple dead checks.
Use castAs<> where appropriate. Don't check conditionals which are
always true. Delete a bit of dead code. Reindent a bunch of code which
is no longer guarded by an if statement.

llvm-svn: 184801
2013-06-25 00:46:32 +00:00
Eric Christopher 1f1578b7d3 As far as I know no linker needs or wants the -g flag.
llvm-svn: 184800
2013-06-25 00:40:03 +00:00
Chandler Carruth a26c814953 Address a few of the issues in GCDAProfiling I noted when looking
through Bill's patch:

1) Correctly test the file descriptor after the sceond attempt at
   creating the file.
2) Make the filename a global so that we can issue error messages from
   other routines.
3) Check errno in several places and print it out so that errors are
   easier to track down.

I don't really expect any of these to fix the current failures I'm
seeing, but I'm hopeful they'll at least let me debug them.

llvm-svn: 184799
2013-06-25 00:37:32 +00:00
Chandler Carruth 9fcb41d0fa Remove the sysroot restriction from building GCDAProfiling.c.
We really need the C standard library to be available to implement the
profiling runtime library reasonably, and replicating everything in the
SDKs tree really isn't addressing any problems we have. Notably, all of
the sanitizer runtimes take the same approach, and this isn't a library
which could end up in a bootstrapping problem where the system headers
aren't even available.

This will hopefully prevent subsequent changes which start using various
other bits of C standard library to make things more debuggable.

llvm-svn: 184798
2013-06-25 00:37:28 +00:00
Sean Callanan 70c86e1781 Fixed the instruction emulation so that it doesn't
print to standard output as part of normal
operation.

<rdar://problem/14247606>

llvm-svn: 184797
2013-06-25 00:32:45 +00:00
Nico Weber e8d78249ad Formatter/Objc: Add a test that checks that @import is formatted correctly.
llvm-svn: 184796
2013-06-25 00:25:40 +00:00
Eli Friedman f6e1fd7567 Delete dead code.
llvm-svn: 184795
2013-06-25 00:25:19 +00:00
Eric Christopher 89d2b74245 Reorder builds based by ordering.
llvm-svn: 184794
2013-06-25 00:21:29 +00:00
Eric Christopher 97e784a588 Remove all non-linker oriented compile options from the linker
command line. Change the darwin universal binary options to
be TargetCommonOpts so that they'll be passed to the linker since
-arch at least is still needed.

Someone on darwin with a buildit based build should probably verify
that this doesn't break anything there.

llvm-svn: 184793
2013-06-24 23:20:04 +00:00
Eric Christopher 5fdd68e596 80-column and tab character fixes.
llvm-svn: 184792
2013-06-24 23:20:02 +00:00
Richard Smith bf78e646e1 Check for matching template-parameter-lists when merging template declarations.
llvm-svn: 184791
2013-06-24 22:51:00 +00:00
Rafael Espindola 49ddb8675b Accept both / and \\ to fix the windows bots.
llvm-svn: 184790
2013-06-24 22:07:15 +00:00
Ted Kremenek 009d61dd16 Tweak -Wdeprecated-objc-pointer-introspection to have a subgroup for results of using -performSelectorXXX.
-performSelector: and friends return a value that is boxed as an Objective-C
pointer.  Sometimes it is an Objective-C pointer, sometimes it isn't.
Some clients may wish to silence this warning based on calling
this method.

Fixes <rdar://problem/14147304>

llvm-svn: 184789
2013-06-24 21:35:39 +00:00
Eric Christopher 40b6bf6f46 Formatting.
llvm-svn: 184788
2013-06-24 21:34:55 +00:00
Michael Gottesman a35103a8cf Added arm_neon intrinsic tests.
This is a large test and thus it will only run if you pass in --param
run_long_tests=trueto LIT. This is intended so that this test can run on
buildbots and not when one runs make check.

llvm-svn: 184787
2013-06-24 21:25:42 +00:00
Michael Gottesman 1169a52c83 [NeonIntrinsicTestEmitter] vld1/vst1 do not require the :64 hint.
llvm-svn: 184786
2013-06-24 21:25:39 +00:00
Michael Gottesman c6b5e56c19 [NeonIntrinsicTestEmitter] Fix incorrect FileCheck pattern where we were expecting a ',' prefix to alignment hints.
llvm-svn: 184785
2013-06-24 21:25:37 +00:00
Michael Gottesman d95c49a91c [NeonIntrinsicTestEmitter] Add requirement to arm neon intrinsic tests for the feature long_tests.
This will prevent the tests from running on normal make check. You will need to
actually pass in --param run_long_tests=true to LIT in order to run these.

llvm-svn: 184784
2013-06-24 21:25:34 +00:00
Adrian Prantl 21e8d4a6a1 typo.
llvm-svn: 184783
2013-06-24 21:19:43 +00:00
Argyrios Kyrtzidis 48d88de2af [libclang/codecompletion] Make sure the top-level decl hash takes into account ImportDecls.
The top-level hash is used to determine if we need to update the global code-completion results.
ImportDecls did not affect the hash so a newly introduced ImportDecl would not trigger an update of the global results.

rdar://14202797

llvm-svn: 184782
2013-06-24 21:19:12 +00:00
Eric Christopher bf2d23c0d7 Use const references instead of pointers to references that are
never modified. No functional change.

llvm-svn: 184781
2013-06-24 21:07:27 +00:00
Eli Friedman d0ee1294c1 Change mangling of objects inside block literals.
This changes the mangling of local static variables/etc. inside blocks
to do something simple and sane.  This avoids depending on the way we mangle
blocks, which isn't really appropriate here.

John, please take a look at this to make sure the mangling I chose is sane.

Fixes <rdar://problem/14074423>.

llvm-svn: 184780
2013-06-24 20:24:19 +00:00
Reid Kleckner 91960de0fe Fix "funciton" typo from r184763
llvm-svn: 184779
2013-06-24 20:08:40 +00:00
Jim Ingham 34e1edf2bf Direct dir to target.source-map.
llvm-svn: 184778
2013-06-24 19:37:49 +00:00
Reid Kleckner 18da98ef99 [ms-cxxabi] Use sugared types in the mangler instead of canonical types
At this point, it's clear that the MSVC mangler uses the type-as-written
instead of the canonical type, so this should bring us closer to MSVC.
The main thrust of this change is to fix the way we mangle decayed array
parameters of function pointer parameters.  With a DecayedType sugar
node, this code can now be much simpler.

Fixes PR16096.

This also fixes a separate issue that Richard spotted in review.
Because separate declarations of the same entity can be spelled and
mangled differently, MSVC always mangles the earliest declaration in an
attempt to avoid link errors.  Clang now does the same.

Reviewers: rsmith

Differential Revision: http://llvm-reviews.chandlerc.com/D844

llvm-svn: 184777
2013-06-24 19:21:52 +00:00
Argyrios Kyrtzidis b11a192dfc [arcmt/driver] For the -ccc-arcmt-* flags, claim them when -fno-objc-arc is passed to avoid the
"argument unused during compilation" warning.

rdar://14240566

llvm-svn: 184776
2013-06-24 19:01:18 +00:00
Eli Friedman 57d1f1c8a5 Use getAs<> where appropriate on QualTypes instead of using dyn_cast.
llvm-svn: 184775
2013-06-24 18:47:11 +00:00
Rafael Espindola 609a664427 Convert some uses of llvm::sys::Path.
llvm-svn: 184774
2013-06-24 18:33:43 +00:00
Rafael Espindola 0294075f9b Use the simpler version of llvm::sys::fs::exists.
llvm-svn: 184770
2013-06-24 18:19:15 +00:00
Han Ming Ong 91ed6b878f <rdar://problem/14182286>
Made sure that temporary object created from HarmonizeThreadIdsForProfileData() doesn’t get passed around without creating an object first.

Reviewed by Greg

llvm-svn: 184769
2013-06-24 18:15:05 +00:00
Anna Zaks 7925e3db63 [analyzer] Add a debug checker that prints Exploded Graph
Add a debug checker that is useful to understand how the ExplodedGraph is
built; it can be triggered using the following command:

 clang -cc1 -analyze -analyzer-checker=debug.ViewExplodedGraph my_program.c

A patch by Béatrice Creusillet!

llvm-svn: 184768
2013-06-24 18:12:12 +00:00
Ulrich Weigand 6ca71579db [PowerPC] Support some miscellaneous mnemonics in the asm parser
This adds support for the following extended mnemonics:
  xnop
  mr.
  not
  not.
  la

llvm-svn: 184767
2013-06-24 18:08:03 +00:00
Rafael Espindola 03bc68268f Convert last use of PathV1.h in Compilation.cpp
The way we decide which file to remove is fairly odd. I took a quick look at
maybe changing that, but it would be a more work than I want to put at this
right now, so I left pair of FIXMEs.

llvm-svn: 184766
2013-06-24 17:59:44 +00:00
Sean Callanan 879425fadd We set the error when a breakpoint condition
doesn't return anything; that's great.

We should probably also return rather than
trying to access the nonexistent return value.

<rdar://problem/14009519>

llvm-svn: 184765
2013-06-24 17:58:46 +00:00
Rafael Espindola eb23add2ad Add a simpler version of is_regular_file.
llvm-svn: 184764
2013-06-24 17:54:24 +00:00
Reid Kleckner 8a36502a60 [AST] Introduce a new DecayedType sugar node
The goal of this sugar node is to be able to look at an arbitrary
FunctionType and tell if any of the parameters were decayed from an
array or function type.  Ultimately this is necessary to implement
Microsoft's C++ name mangling scheme, which mangles decayed arrays
differently from normal pointers.

Reviewers: rsmith

Differential Revision: http://llvm-reviews.chandlerc.com/D1014

llvm-svn: 184763
2013-06-24 17:51:48 +00:00
Kaelyn Uhrain 52dd02d8ef Add the global namespace (the "::" namespace specifier) to the list of
namespaces to try for potential typo corrections.

llvm-svn: 184762
2013-06-24 17:49:03 +00:00
David Blaikie b761900a12 DebugInfo: DIBuilder changes to match DIEnumerator changes in r184694
Representing enumerators by int64 instead of uint64 for now. At some
point we need to address the underlying issue of representation
depending on the specific enumeration.

llvm-svn: 184761
2013-06-24 17:34:33 +00:00
Chad Rosier ae9ce8b688 Improve diagnostics when getSizeInBits is called on the Other type.
llvm-svn: 184760
2013-06-24 17:29:51 +00:00
Howard Hinnant 8a27ba8051 Implement full support for non-pointer pointers in custom allocators for forward_list.
llvm-svn: 184759
2013-06-24 17:17:28 +00:00
Benjamin Kramer 3912d785e3 PPC: Remove default case from fully covered switch.
llvm-svn: 184758
2013-06-24 17:03:25 +00:00
Ulrich Weigand ba19f79655 [PowerPC] Add some FIXMEs
A bunch of extendend mnemomics ought to support '.' forms.
Add FIXMEs to the test case for those.

llvm-svn: 184757
2013-06-24 17:00:22 +00:00
Aaron Watry 52a72c926c R600: Fix spelling error in comment
our -> or

llvm-svn: 184756
2013-06-24 16:57:57 +00:00
Reid Kleckner 7f62b95480 Check the canonical parameter type with getAs<>() in a static checker
This will prevent breakage when I introduce the DecayedType sugar node.

llvm-svn: 184755
2013-06-24 16:56:16 +00:00
Ulrich Weigand 86247b6e27 [PowerPC] Add predicted forms of branches
This adds support for the predicted forms of branches (+/-).
There are three cases to consider:
- Branches using a PPC::Predicate code
  For these, I've added new PPC::Predicate codes corresponding
  to the BO values for predicted branch forms, and updated insn
  printing to print them correctly.  I've also added new aliases
  for the asm parser matching the new forms.
- bt/bf
  I've added new aliases matching to gBC etc.
- bd(n)z variants
  I've added new instruction patterns for the predicted forms.

In all cases, the new patterns are used for the asm parser only.
(The new infrastructure ought to be sufficient to allow use by
the compiler too at some point.)

llvm-svn: 184754
2013-06-24 16:52:04 +00:00
Rafael Espindola a466b9aeb9 Convert a use of PathV1.h
llvm-svn: 184753
2013-06-24 16:46:15 +00:00
Dmitry Vyukov 5001d43dcb tsan: make the test more robust
currently it episodically fails
the hypothesis it is due to racy race detection algorithm
the sleep should make it more robust

llvm-svn: 184752
2013-06-24 16:28:02 +00:00
Matt Beaumont-Gay 4cd3c9adf9 Add some invalid-decl checks to clang_Type_getOffsetOf.
print-size-type.cpp was checking for specific record layout output for invalid
decls; I've removed the checks but left the records as tests for not crashing.

llvm-svn: 184751
2013-06-24 16:12:35 +00:00