]> granicus.if.org Git - clang/log
clang
10 years agoclang-format: [Java] Fix class declaration formatting.
Daniel Jasper [Mon, 3 Nov 2014 02:27:28 +0000 (02:27 +0000)]
clang-format: [Java] Fix class declaration formatting.

Before:
  @SomeAnnotation()
  abstract
      class aaaaaaaaaaaa extends bbbbbbbbbbbbbbb implements cccccccccccc {
  }

After:
  @SomeAnnotation()
  abstract class aaaaaaaaaaaa extends bbbbbbbbbbbbbbb
      implements cccccccccccc {
  }

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221121 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: Fix false positive in lambda detection.
Daniel Jasper [Sun, 2 Nov 2014 22:46:42 +0000 (22:46 +0000)]
clang-format: Fix false positive in lambda detection.

Before:
  delete [] a -> b;

After:
  delete[] a->b;

This fixes part of llvm.org/PR21419.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221114 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: [Java] Support enums without trailing semicolon.
Daniel Jasper [Sun, 2 Nov 2014 22:31:39 +0000 (22:31 +0000)]
clang-format: [Java] Support enums without trailing semicolon.

Before:
  class SomeClass {
    enum SomeThing { ABC, CDE } void f() {
    }
  }

After:
  class SomeClass {
    enum SomeThing { ABC, CDE }
    void f() {
    }
  }

This fixed llvm.org/PR21458.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221113 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: [Java] Don't break imports.
Daniel Jasper [Sun, 2 Nov 2014 22:13:03 +0000 (22:13 +0000)]
clang-format: [Java] Don't break imports.

This fixes llvm.org/PR21453.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221112 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: [Java] Add space between "synchronized" and "(".
Daniel Jasper [Sun, 2 Nov 2014 22:00:57 +0000 (22:00 +0000)]
clang-format: [Java] Add space between "synchronized" and "(".

Before:
  synchronized(mData) {
    // ...
  }

After:
  synchronized (mData) {
    // ...
  }

This fixes llvm.org/PR21455.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221110 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: [Java] Support generics with "?".
Daniel Jasper [Sun, 2 Nov 2014 21:52:57 +0000 (21:52 +0000)]
clang-format: [Java] Support generics with "?".

Before:
  @Override
  public Map < String,
          ? > getAll() {
    // ...
  }

After:
  @Override
  public Map<String, ?> getAll() {
    // ...
  }

This fixes llvm.org/PR21454.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221109 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: permit setting the path to clang in vimrc
Saleem Abdulrasool [Sun, 2 Nov 2014 21:27:59 +0000 (21:27 +0000)]
clang-format: permit setting the path to clang in vimrc

If g:clang_format_path is set in the vimrc, that path will take precedence over
the hard coded path (which is reliant on the PATH environment variable).  This
provides an easy mechanism for switching the selected clang-format binary during
development.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221108 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agodocs: remove double carriage-return
Saleem Abdulrasool [Sun, 2 Nov 2014 21:27:52 +0000 (21:27 +0000)]
docs: remove double carriage-return

The double carriage return would silence a warning due to a missing
.clang-format.  Permit the error to bubble through.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221107 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: [Java] Support try/catch/finally blocks.
Daniel Jasper [Sun, 2 Nov 2014 19:21:48 +0000 (19:21 +0000)]
clang-format: [Java] Support try/catch/finally blocks.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221104 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: [Java] Don't break after extends/implements.
Daniel Jasper [Sun, 2 Nov 2014 19:16:41 +0000 (19:16 +0000)]
clang-format: [Java] Don't break after extends/implements.

Before:
  abstract class SomeClass extends SomeOtherClass implements
      SomeInterface {}

After:
  abstract class SomeClass extends SomeOtherClass
      implements SomeInterface {}

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221103 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[PowerPC] Change PPCTargetInfo::hasFeature() to use StringSwitch
Bill Schmidt [Sun, 2 Nov 2014 14:56:41 +0000 (14:56 +0000)]
[PowerPC] Change PPCTargetInfo::hasFeature() to use StringSwitch

Implement post-commit comment on r220989 from Eric Christopher.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221099 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoAdd _lzcnt_u32 and _lzcnt_u64 to lzcntintrin.h to match Intel documentation names...
Craig Topper [Sat, 1 Nov 2014 22:50:57 +0000 (22:50 +0000)]
Add _lzcnt_u32 and _lzcnt_u64 to lzcntintrin.h to match Intel documentation names for these intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221066 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoAvoid undefined behavior in the x86 bmi header file by explicitly checking for 0...
Craig Topper [Sat, 1 Nov 2014 22:50:54 +0000 (22:50 +0000)]
Avoid undefined behavior in the x86 bmi header file by explicitly checking for 0 before calling __builtin_ctz. Without this the optimizers may take advantage of the undefined behavior and produce incorrect results. LLVM itself still needs to be taught to merge the zero check into the llvm.cttz with defined zero behavior.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221065 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoAvoid undefined behavior in the x86 lzcnt header file by explicitly checking for...
Craig Topper [Sat, 1 Nov 2014 22:25:23 +0000 (22:25 +0000)]
Avoid undefined behavior in the x86 lzcnt header file by explicitly checking for 0 before calling __builtin_clz. Without this the optimizers may take advantage of the undefined behavior and produce incorrect results. LLVM itself still needs to be taught to merge the zero check into the llvm.ctlz with defined zero behavior.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221064 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoCodeGen: Declutter the emitVirtualObjectDelete interface
David Majnemer [Sat, 1 Nov 2014 07:37:17 +0000 (07:37 +0000)]
CodeGen: Declutter the emitVirtualObjectDelete interface

No functionality change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221043 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoCodeGen: Virtual dtor thunks shouldn't have this marked as 'returned'
David Majnemer [Sat, 1 Nov 2014 05:42:23 +0000 (05:42 +0000)]
CodeGen: Virtual dtor thunks shouldn't have this marked as 'returned'

The ARM ABI virtual destructor thunks cannot be marked as 'returned'
because they return undef.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221042 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang/lib/CodeGen/TargetInfo.cpp: Fix a couple of warnings. [-Winconsistent-missing...
NAKAMURA Takumi [Sat, 1 Nov 2014 01:32:27 +0000 (01:32 +0000)]
clang/lib/CodeGen/TargetInfo.cpp: Fix a couple of warnings. [-Winconsistent-missing-override]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221039 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFix a bug where -Wuninitialized would skip arguments to a function call.
Richard Trieu [Sat, 1 Nov 2014 00:46:54 +0000 (00:46 +0000)]
Fix a bug where -Wuninitialized would skip arguments to a function call.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221030 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoSilence a warning from MSVC "14" by making an enum unsigned
Reid Kleckner [Fri, 31 Oct 2014 23:33:56 +0000 (23:33 +0000)]
Silence a warning from MSVC "14" by making an enum unsigned

It says there is a narrowing conversion when we assign it to an unsigned
3 bit bitfield.

Also, use unsigned instead of size_t for the Size field of the struct in
question. Otherwise they won't run together in MSVC or clang-cl.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221019 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFix an accidental self-assignment using std::move in r220723.
Kaelyn Takata [Fri, 31 Oct 2014 22:25:09 +0000 (22:25 +0000)]
Fix an accidental self-assignment using std::move in r220723.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221008 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoImplement IRGen for the x86 vectorcall convention
Reid Kleckner [Fri, 31 Oct 2014 22:00:51 +0000 (22:00 +0000)]
Implement IRGen for the x86 vectorcall convention

The most complex aspect of the convention is the handling of homogeneous
vector and floating point aggregates.  Reuse the homogeneous aggregate
classification code that we use on PPC64 and ARM for this.

This convention also has a C mangling, and we apparently implement that
in both Clang and LLVM.

Reviewed By: majnemer

Differential Revision: http://reviews.llvm.org/D6063

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221006 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoObjective-C SDK modernization tool. Use its own option
Fariborz Jahanian [Fri, 31 Oct 2014 21:19:45 +0000 (21:19 +0000)]
Objective-C SDK modernization tool. Use its own option
,-objcmt-migrate-property-dot-syntax, when migarting to use
property-dot syntax in place of messaging expression.
rdar://18839124

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221001 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoHave -Wuninitialized catch uninitalized use in overloaded operator arguments.
Richard Trieu [Fri, 31 Oct 2014 21:10:22 +0000 (21:10 +0000)]
Have -Wuninitialized catch uninitalized use in overloaded operator arguments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221000 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[analyzer] Helpful hints for Windows users of scan-build.
Anton Yartsev [Fri, 31 Oct 2014 20:57:57 +0000 (20:57 +0000)]
[analyzer] Helpful hints for Windows users of scan-build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220999 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoMS ABI: Properly call global delete when invoking virtual destructors
David Majnemer [Fri, 31 Oct 2014 20:09:12 +0000 (20:09 +0000)]
MS ABI: Properly call global delete when invoking virtual destructors

Summary:
The Itanium ABI approach of using offset-to-top isn't possible with the
MS ABI, it doesn't have that kind of information lying around.

Instead, we do the following:
- Call the virtual deleting destructor with the "don't delete the object
  flag" set.  The virtual deleting destructor will return a pointer to
  'this' adjusted to the most derived class.
- Call the global delete using the adjusted 'this' pointer.

Reviewers: rnk

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D5996

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220993 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoC++-11 [qoi]. Do not warn on missing 'verride' on use of
Fariborz Jahanian [Fri, 31 Oct 2014 19:56:27 +0000 (19:56 +0000)]
C++-11 [qoi]. Do not warn on missing 'verride' on use of
macros in user code when macros themselves are defined
in a system header. rdar://18295240

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220992 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[PowerPC] Initial VSX intrinsic support, with min/max for vector double
Bill Schmidt [Fri, 31 Oct 2014 19:19:24 +0000 (19:19 +0000)]
[PowerPC] Initial VSX intrinsic support, with min/max for vector double

Now that we have initial support for VSX, we can begin adding
intrinsics for programmer access to VSX instructions.  This patch
performs the necessary enablement in the front end, and tests it by
implementing intrinsics for minimum and maximum using the vector
double data type.

The main change in the front end is to no longer disallow "vector" and
"double" in the same declaration (lib/Sema/DeclSpec.cpp), but "vector"
and "long double" must still be disallowed.  The new intrinsics are
accessed via vec_max and vec_min with changes in
lib/Headers/altivec.h.  Note that for v4f32, we already access
corresponding VMX builtins, but with VSX enabled we should use the
forms that allow all 64 vector registers.

The new built-ins are defined in include/clang/Basic/BuiltinsPPC.def.

I've added a new test in test/CodeGen/builtins-ppc-vsx.c that is
similar to, but much smaller than, builtins-ppc-altivec.c.  This
allows us to test VSX IR generation without duplicating CHECK lines
for the existing bazillion Altivec tests.

Since vector double is now legal when VSX is available, I've modified
the error message, and changed where we test for it and for vector
long double, since the target machine isn't visible in the old place.
This serendipitously removed a not-pertinent warning about 'long'
being deprecated when used with 'vector', when "vector long double" is
encountered and we just want to issue an error.  The existing tests
test/Parser/altivec.c and test/Parser/cxx-altivec.cpp have been
updated accordingly, and I've added test/Parser/vsx.c to verify that
"vector double" is now legitimate with VSX enabled.

There is a companion patch for LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220989 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoignore -mconstructor-aliases when adding field paddings for asan
Kostya Serebryany [Fri, 31 Oct 2014 19:01:02 +0000 (19:01 +0000)]
ignore -mconstructor-aliases when adding field paddings for asan

Summary:
When we are adding field paddings for asan even an empty dtor has to remain in the code,
so we ignore -mconstructor-aliases if the paddings are going to be added.

Test Plan: added a test

Reviewers: rsmith, rnk, rafael

Reviewed By: rafael

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D6038

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220986 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: [Java] Improve line breaks around annotations.
Daniel Jasper [Fri, 31 Oct 2014 18:23:49 +0000 (18:23 +0000)]
clang-format: [Java] Improve line breaks around annotations.

Before:
  @SomeAnnotation("With some really looooooooooooooong text") private static final
      long something = 0L;

  void SomeFunction(@Nullable
                    String something) {}

After:
  @SomeAnnotation("With some really looooooooooooooong text")
  private static final long something = 0L;

  void SomeFunction(@Nullable String something) {}

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220984 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: [js] Updates to Google's JavaScript style.
Daniel Jasper [Fri, 31 Oct 2014 17:50:40 +0000 (17:50 +0000)]
clang-format: [js] Updates to Google's JavaScript style.

The style guide is changing..

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220977 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[analyzer] Rename NewDeleteLeaks checker in the test script.
Anna Zaks [Fri, 31 Oct 2014 17:40:14 +0000 (17:40 +0000)]
[analyzer] Rename NewDeleteLeaks checker in the test script.

Fixup to r220289.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220976 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFix the build
David Blaikie [Fri, 31 Oct 2014 17:18:09 +0000 (17:18 +0000)]
Fix the build

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220974 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFix ARM HVA classification of classes with non-virtual bases
Reid Kleckner [Fri, 31 Oct 2014 17:10:41 +0000 (17:10 +0000)]
Fix ARM HVA classification of classes with non-virtual bases

Reuse the PPC64 HVA detection algorithm for ARM and AArch64. This is a
nice code deduplication, since they are roughly identical. A few virtual
method extension points are needed to understand how big an HVA can be
and what element types it can have for a given architecture.

Also make the record expansion code work in the presence of non-virtual
bases.

Reviewed By: uweigand, asl

Differential Revision: http://reviews.llvm.org/D6045

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220972 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFix unused-function warning differently from r220853
David Blaikie [Fri, 31 Oct 2014 17:08:11 +0000 (17:08 +0000)]
Fix unused-function warning differently from r220853

Rather than executing this code only needed for an assertion even in a
non-asserts build, just roll the function into the assert. The assertion
text literally describes the two cases so it doesn't seem like this
benefits much from having a separate function (& have to hassle about
ifndef NDEBUG it out, etc)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220970 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[libclang] Disable spell-checking and warnings during code-completion since they...
Argyrios Kyrtzidis [Fri, 31 Oct 2014 16:44:32 +0000 (16:44 +0000)]
[libclang] Disable spell-checking and warnings during code-completion since they are not needed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220966 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[Makefile] If ENABLE_CLANG_ARCMT=0 it seems we don't build libclang, so the unittests...
Argyrios Kyrtzidis [Fri, 31 Oct 2014 16:44:30 +0000 (16:44 +0000)]
[Makefile] If ENABLE_CLANG_ARCMT=0 it seems we don't build libclang, so the unittests for libclang should be disabled too.

This is a modified patch provided by Vassil Vassilev.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220965 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRemove StorageClass typedefs from VarDecl and FunctionDecl since StorageClass is...
Craig Topper [Fri, 31 Oct 2014 06:57:13 +0000 (06:57 +0000)]
Remove StorageClass typedefs from VarDecl and FunctionDecl since StorageClass is in the clang namespace.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220956 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRemove CastKind typedef from CastExpr since CastKind is in the clang namespace.
Craig Topper [Fri, 31 Oct 2014 06:57:10 +0000 (06:57 +0000)]
Remove CastKind typedef from CastExpr since CastKind is in the clang namespace.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220955 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRemove a couple typedefs for things in the clang namespace with the same name. Remove...
Craig Topper [Fri, 31 Oct 2014 06:57:07 +0000 (06:57 +0000)]
Remove a couple typedefs for things in the clang namespace with the same name. Remove a typedef that matches an identical one in the clang namespace.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220954 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[AArch64]Add 2 intrinsics vmov_n_p64/vmovq_n_p64, the alias for vdup_n_p64/vdup_n_p64.
Hao Liu [Fri, 31 Oct 2014 02:41:37 +0000 (02:41 +0000)]
[AArch64]Add 2 intrinsics vmov_n_p64/vmovq_n_p64, the alias for vdup_n_p64/vdup_n_p64.
As this change is too small, commit it directly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220946 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[modules] When a .pcm file is explicitly built separately from the translation
Richard Smith [Fri, 31 Oct 2014 02:28:58 +0000 (02:28 +0000)]
[modules] When a .pcm file is explicitly built separately from the translation
unit, allow the -O settings of the two compilations to differ.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220943 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoMake QualType::dump() produce a useful dump of the structure of the type,
Richard Smith [Fri, 31 Oct 2014 01:17:45 +0000 (01:17 +0000)]
Make QualType::dump() produce a useful dump of the structure of the type,
rather than simply pretty-printing it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220942 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoASTDumper.cpp: Appease g++, for now.
NAKAMURA Takumi [Fri, 31 Oct 2014 00:30:37 +0000 (00:30 +0000)]
ASTDumper.cpp: Appease g++, for now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220940 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRename 'DarwinStaticLib' to 'DarwinLibName'
Kuba Brecka [Fri, 31 Oct 2014 00:08:57 +0000 (00:08 +0000)]
Rename 'DarwinStaticLib' to 'DarwinLibName'

The former name doesn't make sense, we are using this parameter for both .a and .dylib libraries.

No functional change.

http://reviews.llvm.org/D6040

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220939 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRefactor tree printing in AST dumping.
Richard Smith [Thu, 30 Oct 2014 21:02:37 +0000 (21:02 +0000)]
Refactor tree printing in AST dumping.

Instead of manually maintaining a flag indicating whether we're about to print
out the last child of the parent node (to determine whether we print "`" or
"|"), capture a callable to print that child and defer printing it until we
either see a next child or finish the parent.

No functionality change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220930 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoGet rid of SanitizerOptions::Disabled global. NFC.
Alexey Samsonov [Thu, 30 Oct 2014 19:33:44 +0000 (19:33 +0000)]
Get rid of SanitizerOptions::Disabled global. NFC.

SanitizerOptions is not even a POD now, so having global variable of
this type, is not nice. Instead, provide a regular constructor and clear()
method, and let each CodeGenFunction has its own copy of SanitizerOptions
it uses.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220920 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[analyzer] Updated tests for ZeroAllocDereference checker.
Anton Yartsev [Thu, 30 Oct 2014 15:16:26 +0000 (15:16 +0000)]
[analyzer] Updated tests for ZeroAllocDereference checker.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220911 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoUpdate contact person in Open Projects webpage for copy-paste detection. From Per...
Daniel Marjamaki [Thu, 30 Oct 2014 12:44:33 +0000 (12:44 +0000)]
Update contact person in Open Projects webpage for copy-paste detection. From Per Viberg to Daniel Marjamäki.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220905 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[autoconf] Add clangToolingCore.a to Makefile(s) for static build w/o libclang.dll.
NAKAMURA Takumi [Thu, 30 Oct 2014 10:31:29 +0000 (10:31 +0000)]
[autoconf] Add clangToolingCore.a to Makefile(s) for static build w/o libclang.dll.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220904 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRemove the last couple uses of the ExprArg(just Expr*) typedef in Parser.
Craig Topper [Thu, 30 Oct 2014 05:30:05 +0000 (05:30 +0000)]
Remove the last couple uses of the ExprArg(just Expr*) typedef in Parser.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220897 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRemove some duplicate functions from the Parser class. Identical functions already...
Craig Topper [Thu, 30 Oct 2014 05:17:10 +0000 (05:17 +0000)]
Remove some duplicate functions from the Parser class. Identical functions already exist in the clang namespace from Sema/Ownership.h.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220896 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[CMake] Prune redundant libdeps.
NAKAMURA Takumi [Thu, 30 Oct 2014 01:37:44 +0000 (01:37 +0000)]
[CMake] Prune redundant libdeps.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220893 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[CMake] Add dependencies on clangToolingCore.
NAKAMURA Takumi [Thu, 30 Oct 2014 00:44:01 +0000 (00:44 +0000)]
[CMake] Add dependencies on clangToolingCore.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220890 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[CMake] clangToolingCore requires clangLex.
NAKAMURA Takumi [Thu, 30 Oct 2014 00:43:44 +0000 (00:43 +0000)]
[CMake] clangToolingCore requires clangLex.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220889 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: Format line if invoked on the trailing newline.
Daniel Jasper [Wed, 29 Oct 2014 23:40:50 +0000 (23:40 +0000)]
clang-format: Format line if invoked on the trailing newline.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220883 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoSink a #include while we're here. NFC.
Hans Wennborg [Wed, 29 Oct 2014 22:49:58 +0000 (22:49 +0000)]
Sink a #include while we're here. NFC.

Format.h doesn't use stack.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220879 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: Cut more clangAST dependencies.
Daniel Jasper [Wed, 29 Oct 2014 22:42:53 +0000 (22:42 +0000)]
clang-format: Cut more clangAST dependencies.

Hopefully fixing windows builds.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220878 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoTrim some includes. NFC.
Hans Wennborg [Wed, 29 Oct 2014 22:13:46 +0000 (22:13 +0000)]
Trim some includes. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220877 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFollow-up to r216619: use isCXXCLassMember() instead of trying to
Hans Wennborg [Wed, 29 Oct 2014 21:20:57 +0000 (21:20 +0000)]
Follow-up to r216619: use isCXXCLassMember() instead of trying to
check the context ourselves when selectively allowing late-added
dll attributes on unused free functions and variables (PR20746)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220874 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRefactor libTooling to reduce required dependencies.
Daniel Jasper [Wed, 29 Oct 2014 18:55:09 +0000 (18:55 +0000)]
Refactor libTooling to reduce required dependencies.

This moves classes for storing and applying replacements to separate
files. These classes specifically are used by clang-format which doesn't
have any other dependencies on clangAST. Thereby, the size of
clang-format's binary can be cut roughly in half and its build time sped
up.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220867 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoEnable display of compiler diagnostics in clang-tidy.
Alexander Kornienko [Wed, 29 Oct 2014 17:28:51 +0000 (17:28 +0000)]
Enable display of compiler diagnostics in clang-tidy.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220862 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agotest: generalise the test matching
Saleem Abdulrasool [Wed, 29 Oct 2014 16:53:16 +0000 (16:53 +0000)]
test: generalise the test matching

The value names may change in different builds, use pattern based tests.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220861 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: [JS] Support more regex literals.
Daniel Jasper [Wed, 29 Oct 2014 16:51:38 +0000 (16:51 +0000)]
clang-format: [JS] Support more regex literals.

Previously a regex-literal containing "/*" would through clang-format
off, e.g.:
  var regex = /\/*$/;

Would lead to none of the following code to be formatted.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220860 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoCodeGen: add __readfsdword builtin
Saleem Abdulrasool [Wed, 29 Oct 2014 16:35:41 +0000 (16:35 +0000)]
CodeGen: add __readfsdword builtin

The Windows NT SDK uses __readfsdword and declares it as a compiler provided
builtin (#pragma intrinsic(__readfsword).  Because intrin.h is not referenced
by winnt.h, it is not possible to provide an out-of-line definition for the
intrinsic.  Provide a proper compiler builtin definition.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220859 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFix warning in Altivec code when building with GCC 4.8.2 on Ubuntu 14.04.
Jay Foad [Wed, 29 Oct 2014 14:42:12 +0000 (14:42 +0000)]
Fix warning in Altivec code when building with GCC 4.8.2 on Ubuntu 14.04.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220855 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoPass aggregates on the stack without splitting in NVPTX.
Eli Bendersky [Wed, 29 Oct 2014 13:43:21 +0000 (13:43 +0000)]
Pass aggregates on the stack without splitting in NVPTX.

Following the NVVM IR specifications, arguments of aggregate type should be
passed on the stack without splitting (byval).

http://reviews.llvm.org/D6020

Patch by Jacques Pienaar.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220854 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang/lib/AST/Decl.cpp: Tweak isVLATypeCapturingAllowed() for -Asserts. [-Wunused...
NAKAMURA Takumi [Wed, 29 Oct 2014 13:27:44 +0000 (13:27 +0000)]
clang/lib/AST/Decl.cpp: Tweak isVLATypeCapturingAllowed() for -Asserts. [-Wunused-function]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220853 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[PowerPC ABI] Bug 21398 - Consider C++ base classes in HA classification
Ulrich Weigand [Wed, 29 Oct 2014 13:23:20 +0000 (13:23 +0000)]
[PowerPC ABI] Bug 21398 - Consider C++ base classes in HA classification

As discussed in bug 21398, PowerPC ABI code needs to consider C++ base
classes when classifying a class as homogeneous aggregate (or not) for
ABI purposes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220852 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang/test/CodeGen/captured-statements-nested.c: Tweak for -Asserts.
NAKAMURA Takumi [Wed, 29 Oct 2014 13:21:52 +0000 (13:21 +0000)]
clang/test/CodeGen/captured-statements-nested.c: Tweak for -Asserts.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220851 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoImproved capturing variable-length array types in CapturedStmt.
Alexey Bataev [Wed, 29 Oct 2014 12:21:55 +0000 (12:21 +0000)]
Improved capturing variable-length array types in CapturedStmt.
An updated implemnentation of VLA types capturing based on previously committed solution for Lambdas.
This version captures the whole VLA type instead of particular variables which are part of VLA size expression and allows to use previusly calculated size of VLA type in captured regions. Required for OpenMP.
Differential Revision: http://reviews.llvm.org/D5099

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220850 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoUse enumerators instead of hardcoded integers when we decide if keyword is enabled.
Serge Pavlov [Wed, 29 Oct 2014 10:59:18 +0000 (10:59 +0000)]
Use enumerators instead of hardcoded integers when we decide if keyword is enabled.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220849 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoDon't capture DeclRefExpr::getNameInfo().getInfo(). It returns reference in temporary...
NAKAMURA Takumi [Wed, 29 Oct 2014 08:11:47 +0000 (08:11 +0000)]
Don't capture DeclRefExpr::getNameInfo().getInfo(). It returns reference in temporary object.

DeclarationNameInfo::getInfo() returns reference, but DeclRefExpr::getNameInfo() returns temporary DeclarationNameInfo().

It triggered a local crash for me.

  Failing Tests (1):
      Clang :: SemaTemplate/instantiate-overload-candidates.cpp

  Assertion failed!
  Program: bin\clang.EXE
  File: clang/lib/Basic/SourceManager.cpp, Line 822
  Expression: 0 && "Invalid SLocOffset or bad function choice"

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220841 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoObjective-C modern rewriter. Patch to fix a rewriting bug
Fariborz Jahanian [Tue, 28 Oct 2014 23:46:58 +0000 (23:46 +0000)]
Objective-C modern rewriter. Patch to fix a rewriting bug
rewriting an Objective-C block. Patch by Ryan Govostes.
rdar://18799145

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220834 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoThe dllimport.cpp test was gating some checks on #ifndef MSABI,
Hans Wennborg [Tue, 28 Oct 2014 22:15:55 +0000 (22:15 +0000)]
The dllimport.cpp test was gating some checks on #ifndef MSABI,
but MSABI was never defined in the test. It seems we are erroring
on code that we should be accepting when compiling for MSVC compatibility.

This should make the test less confusing until PR21406 is fixed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220825 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoObjective-C remove an unused enumerator which causes
Fariborz Jahanian [Tue, 28 Oct 2014 20:21:33 +0000 (20:21 +0000)]
Objective-C remove an unused enumerator which causes
warning in a switch statement.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220819 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: Improve && detection as binary operator.
Daniel Jasper [Tue, 28 Oct 2014 18:28:22 +0000 (18:28 +0000)]
clang-format: Improve && detection as binary operator.

Before:
  template <class T,
            class = typename ::std::enable_if<
                ::std::is_array<T>{}&& ::std::is_array<T>{}>::type>
  void F();

After:
  template <class T,
            class = typename ::std::enable_if<
                ::std::is_array<T>{} && ::std::is_array<T>{}>::type>
  void F();

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220813 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoObjective-C. revert patch for rdar://17554063.
Fariborz Jahanian [Tue, 28 Oct 2014 18:28:16 +0000 (18:28 +0000)]
Objective-C. revert patch for rdar://17554063.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220812 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: Fix test.
Daniel Jasper [Tue, 28 Oct 2014 18:18:02 +0000 (18:18 +0000)]
clang-format: Fix test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220807 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: Improve && detection as binary operators.
Daniel Jasper [Tue, 28 Oct 2014 18:11:52 +0000 (18:11 +0000)]
clang-format: Improve && detection as binary operators.

Before:
  template <class T, class = typename std::enable_if<std::is_integral<
                         T>::value &&(sizeof(T) > 1 || sizeof(T) < 8)>::type>
  void F();

After:
  template <class T, class = typename std::enable_if<
                         std::is_integral<T>::value &&
                         (sizeof(T) > 1 || sizeof(T) < 8)>::type>
  void F();

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220805 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoActually remove this test entirely.
Fariborz Jahanian [Tue, 28 Oct 2014 17:32:36 +0000 (17:32 +0000)]
Actually remove this test entirely.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220803 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[Objective-C]. revert r220740,r220727
Fariborz Jahanian [Tue, 28 Oct 2014 17:26:21 +0000 (17:26 +0000)]
[Objective-C]. revert r220740,r220727

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220802 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: Improve function declaration detection.
Daniel Jasper [Tue, 28 Oct 2014 17:06:04 +0000 (17:06 +0000)]
clang-format: Improve function declaration detection.

Before:
  ReturnType MACRO
      FunctionName() {}

After:
  ReturnType MACRO
  FunctionName() {}

This fixes llvm.org/PR21404.

I wonder what the motivation for that if-condition was. But as no test
breaks, ...

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220801 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoPR17730: Add test that we don't crash on this testcase. (The bug is already fixed.)
Richard Smith [Tue, 28 Oct 2014 17:00:19 +0000 (17:00 +0000)]
PR17730: Add test that we don't crash on this testcase. (The bug is already fixed.)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220787 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: Update generated documentation with new flag.
Daniel Jasper [Tue, 28 Oct 2014 16:56:37 +0000 (16:56 +0000)]
clang-format: Update generated documentation with new flag.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220786 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoPR21367: Don't accept rvalue references as an extension in C++98 mode if we're in...
Richard Smith [Tue, 28 Oct 2014 16:55:02 +0000 (16:55 +0000)]
PR21367: Don't accept rvalue references as an extension in C++98 mode if we're in a new-type-id or conversion-type-id, since those things can legitimately be followed by a binary && operator.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220785 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: [ObjC] Add separate flag to control indentation in blocks
Daniel Jasper [Tue, 28 Oct 2014 16:53:38 +0000 (16:53 +0000)]
clang-format: [ObjC] Add separate flag to control indentation in blocks

Apparently, people are very much divided on what the "correct"
indentation is. So, best to give them a choice.

The new flag is called ObjCBlockIndentWidth and the default is now set
to the same value as IndentWidth for the pre-defined styles.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220784 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoExtend test to check that -D flags do not leak across module boundaries.
Richard Smith [Tue, 28 Oct 2014 16:30:57 +0000 (16:30 +0000)]
Extend test to check that -D flags do not leak across module boundaries.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220782 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: Fix test after recent flag change.
Daniel Jasper [Tue, 28 Oct 2014 16:29:56 +0000 (16:29 +0000)]
clang-format: Fix test after recent flag change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220781 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[modules] Allow -I, -D, -W flags to change between building a module and
Richard Smith [Tue, 28 Oct 2014 16:24:08 +0000 (16:24 +0000)]
[modules] Allow -I, -D, -W flags to change between building a module and
explicitly using the resulting .pcm file. Unlike for an implicit module build,
we don't need nor want to require these flags to match between the module
and its users.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220780 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang-format: Don't put functions on a single line in Google's Java
Daniel Jasper [Tue, 28 Oct 2014 16:15:52 +0000 (16:15 +0000)]
clang-format: Don't put functions on a single line in Google's Java
style.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220778 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoAdd valueDecl() matcher.
Samuel Benzaquen [Tue, 28 Oct 2014 13:33:58 +0000 (13:33 +0000)]
Add valueDecl() matcher.

Summary: Add valueDecl() matcher.

Reviewers: klimek

Subscribers: klimek, cfe-commits

Differential Revision: http://reviews.llvm.org/D6005

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220776 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoclang/test/Modules/explicit-build.cpp: Tweak to meet win32's backslash.
NAKAMURA Takumi [Tue, 28 Oct 2014 11:34:29 +0000 (11:34 +0000)]
clang/test/Modules/explicit-build.cpp: Tweak to meet win32's backslash.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220770 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoFix warning text: lower -> higher
Richard Trieu [Tue, 28 Oct 2014 04:37:34 +0000 (04:37 +0000)]
Fix warning text: lower -> higher

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220763 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoDriver: remove a stray s that propagated in cross-windows
Saleem Abdulrasool [Tue, 28 Oct 2014 03:15:02 +0000 (03:15 +0000)]
Driver: remove a stray s that propagated in cross-windows

The option is '--allow-multiple-definition' not '--allow-multiple-definitions'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220760 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoUpdate for LLVM API change.
Rafael Espindola [Tue, 28 Oct 2014 00:29:51 +0000 (00:29 +0000)]
Update for LLVM API change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220742 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoImprove on the diagnostic in my last patch and change warning
Fariborz Jahanian [Mon, 27 Oct 2014 23:41:04 +0000 (23:41 +0000)]
Improve on the diagnostic in my last patch and change warning
to error. rdar://18768214.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220740 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoRemove unused variable.
Richard Smith [Mon, 27 Oct 2014 23:25:15 +0000 (23:25 +0000)]
Remove unused variable.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220738 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoUse the newer/simple API for passing a diagnostic handler to the IR linker.
Rafael Espindola [Mon, 27 Oct 2014 23:02:34 +0000 (23:02 +0000)]
Use the newer/simple API for passing a diagnostic handler to the IR linker.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220733 91177308-0d34-0410-b5e6-96231b3b80d8

10 years ago[modules] Load .pcm files specified by -fmodule-file lazily.
Richard Smith [Mon, 27 Oct 2014 23:01:16 +0000 (23:01 +0000)]
[modules] Load .pcm files specified by -fmodule-file lazily.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220731 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoObjective-C ARC [qoi]. Issue diagnostic if __bridge casting
Fariborz Jahanian [Mon, 27 Oct 2014 22:33:06 +0000 (22:33 +0000)]
Objective-C ARC [qoi]. Issue diagnostic if __bridge casting
to C type a collection literal. rdar://18768214

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220727 91177308-0d34-0410-b5e6-96231b3b80d8