]> granicus.if.org Git - clang/log
clang
10 years agoFix 3 test-only leaks found by LSan.
Nico Weber [Thu, 24 Apr 2014 03:30:22 +0000 (03:30 +0000)]
Fix 3 test-only leaks found by LSan.

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

10 years agoMore spellchecking for Index.h
Nico Weber [Thu, 24 Apr 2014 03:17:47 +0000 (03:17 +0000)]
More spellchecking for Index.h

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

10 years agocompeltions are never appropriate.
Nico Weber [Thu, 24 Apr 2014 03:06:18 +0000 (03:06 +0000)]
compeltions are never appropriate.

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

10 years agoDon't leak objects in load-from-ast path unless DisableFree is set.
Nico Weber [Thu, 24 Apr 2014 02:42:04 +0000 (02:42 +0000)]
Don't leak objects in load-from-ast path unless DisableFree is set.

Also update a comment to match a code change that was done in r110978.

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

10 years agoWhen two templates get merged together, also merge their pattern declarations
Richard Smith [Thu, 24 Apr 2014 02:25:27 +0000 (02:25 +0000)]
When two templates get merged together, also merge their pattern declarations
together. This is extremely hairy, because in general we need to have loaded
both the template and the pattern before we can determine whether either should
be merged, so we temporarily violate the rule that all merging happens before
reading a decl ends, but *only* in the case where a template's pattern is being
loaded while loading the template itself.

In order to accomodate this for class templates, delay loading the injected
class name type for the pattern of the template until after we've loaded the
template itself, if we happen to load the template first.

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

10 years agoFix test to not depend on llvm optimizations.
Michael J. Spencer [Thu, 24 Apr 2014 02:16:29 +0000 (02:16 +0000)]
Fix test to not depend on llvm optimizations.

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

10 years agoBury leaked sema pointer when reading from AST files.
Nico Weber [Thu, 24 Apr 2014 00:51:03 +0000 (00:51 +0000)]
Bury leaked sema pointer when reading from AST files.

Should suppress several LSan reports.

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

10 years agoFix another leak in ParseMicrosoftAsmStatement(), found by LSan.
Nico Weber [Wed, 23 Apr 2014 22:07:21 +0000 (22:07 +0000)]
Fix another leak in ParseMicrosoftAsmStatement(), found by LSan.

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

10 years agoSuppress unused variable warning
Reid Kleckner [Wed, 23 Apr 2014 22:03:04 +0000 (22:03 +0000)]
Suppress unused variable warning

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

10 years agoChange -Wfloating-point-conversion to -Wfloat-conversion.
Richard Trieu [Wed, 23 Apr 2014 21:53:59 +0000 (21:53 +0000)]
Change -Wfloating-point-conversion to -Wfloat-conversion.

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

10 years agoFixed comments (thanks to Richard Smith).
Abramo Bagnara [Wed, 23 Apr 2014 21:49:00 +0000 (21:49 +0000)]
Fixed comments (thanks to Richard Smith).

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

10 years agoMake RewriteRope less confusing for me. No intended behavior change.
Nico Weber [Wed, 23 Apr 2014 21:42:27 +0000 (21:42 +0000)]
Make RewriteRope less confusing for me. No intended behavior change.

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

10 years agoFix leak introduced in r194610, found by LSan.
Nico Weber [Wed, 23 Apr 2014 21:41:51 +0000 (21:41 +0000)]
Fix leak introduced in r194610, found by LSan.

LSan folks: LSan pointed to
    #0 0x4953e0 in operator new[](unsigned long) llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:64
    #1 0x7fb82af5372f in clang::RewriteRope::MakeRopeString(char const*, char const*) llvm/tools/clang/lib/Rewrite/Core/RewriteRope.cpp:796
instead of to the actual leak, which made tracking this down slower than
it could have been.

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

10 years agoMoved operator delete to public area to appease gcc and conform to C++ standard.
Abramo Bagnara [Wed, 23 Apr 2014 21:28:18 +0000 (21:28 +0000)]
Moved operator delete to public area to appease gcc and conform to C++ standard.

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

10 years agoDo not print inferred submodules explicitly in __inferred_module.map
Ben Langmuir [Wed, 23 Apr 2014 21:10:46 +0000 (21:10 +0000)]
Do not print inferred submodules explicitly in __inferred_module.map

Otherwise including a header in your source file that is not included by
framework's umbrella header will silently add an empty submodule with that
name.

is automatically translated to
@import Foo.NotInModule;

which then would have succeeded because the inferred module map
contained an empty submodule called NotInModule.

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

10 years agoFix a memory leak found by LSan.
Nico Weber [Wed, 23 Apr 2014 19:19:20 +0000 (19:19 +0000)]
Fix a memory leak found by LSan.

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

10 years agoQuick fix for layering that broke shared library build.
John Thompson [Wed, 23 Apr 2014 19:04:32 +0000 (19:04 +0000)]
Quick fix for layering that broke shared library build.

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

10 years agoMS ABI: Use a different guard variable for each weak global
Reid Kleckner [Wed, 23 Apr 2014 18:22:11 +0000 (18:22 +0000)]
MS ABI: Use a different guard variable for each weak global

We were using the same guard variable and failing to initialize the
second global.

Clang is still not MS ABI compatible in this area.  Fixing that is
PR16959, which will require LLVM changes to @llvm.global_ctors.

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

10 years agoMake TypeDecl much less friendly.
Richard Smith [Wed, 23 Apr 2014 18:20:42 +0000 (18:20 +0000)]
Make TypeDecl much less friendly.

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

10 years agoObjective-C [IRGen]. Fixes a crash in IRGen involving use of
Fariborz Jahanian [Wed, 23 Apr 2014 17:44:58 +0000 (17:44 +0000)]
Objective-C [IRGen]. Fixes a crash in IRGen involving use of
'typeof' to extract type of an @encode expression used
in an initializer. // rdar://16655340

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

10 years ago[analyzer] Fix a leak found by LSan.
Jordan Rose [Wed, 23 Apr 2014 16:54:52 +0000 (16:54 +0000)]
[analyzer] Fix a leak found by LSan.

PR19524

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

10 years agoDon't pass llvm::DenseSet<> by value.
Alexander Kornienko [Wed, 23 Apr 2014 16:39:41 +0000 (16:39 +0000)]
Don't pass llvm::DenseSet<> by value.

Summary: Fixes massive performance problems on large translation units.

Reviewers: jordan_rose

Reviewed By: jordan_rose

Subscribers: cfe-commits

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

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

10 years agoReview feedback.
Diego Novillo [Wed, 23 Apr 2014 15:21:23 +0000 (15:21 +0000)]
Review feedback.

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

10 years agoReview feedback.
Diego Novillo [Wed, 23 Apr 2014 15:21:21 +0000 (15:21 +0000)]
Review feedback.

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

10 years agoReview feedback
Diego Novillo [Wed, 23 Apr 2014 15:21:20 +0000 (15:21 +0000)]
Review feedback

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

10 years agoAdd documentation for sample profiling support.
Diego Novillo [Wed, 23 Apr 2014 15:21:07 +0000 (15:21 +0000)]
Add documentation for sample profiling support.

Summary:
This documents the usage of sample profilers with Clang and the
profile format expected by LLVM's optimizers. It also documents the
profile conversion tool used by Linux Perf.

Reviewers: doug.gregor

CC: cfe-commits
Differential Revision: http://reviews.llvm.org/D3402

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

10 years agoPrune \param introduced in r206977, possibly committed ahead. [-Wdocumentation]
NAKAMURA Takumi [Wed, 23 Apr 2014 15:13:39 +0000 (15:13 +0000)]
Prune \param introduced in r206977, possibly committed ahead. [-Wdocumentation]

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

10 years agoAdd missing test input for r206979.
Logan Chien [Wed, 23 Apr 2014 15:00:03 +0000 (15:00 +0000)]
Add missing test input for r206979.

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

10 years agoThe rewrite constructor should actually rewrite.
Aaron Ballman [Wed, 23 Apr 2014 14:40:19 +0000 (14:40 +0000)]
The rewrite constructor should actually rewrite.

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

10 years agoReplacing a naked pointer with a unique_ptr. No functional changes intended.
Aaron Ballman [Wed, 23 Apr 2014 14:26:59 +0000 (14:26 +0000)]
Replacing a naked pointer with a unique_ptr. No functional changes intended.

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

10 years agoMinor formatting and simplification cleanup -- no functional changes intended.
Aaron Ballman [Wed, 23 Apr 2014 14:22:06 +0000 (14:22 +0000)]
Minor formatting and simplification cleanup -- no functional changes intended.

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

10 years agoUpdated to be a bit more const friendly. Also switched the linkage to be static since...
Aaron Ballman [Wed, 23 Apr 2014 13:58:21 +0000 (13:58 +0000)]
Updated to be a bit more const friendly. Also switched the linkage to be static since this function is file-local. No functional changes intended.

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

10 years agoFix unused variable.
John Thompson [Wed, 23 Apr 2014 13:45:44 +0000 (13:45 +0000)]
Fix unused variable.

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

10 years agoAdd aarch64-linux-android triple for Android.
Logan Chien [Wed, 23 Apr 2014 13:36:23 +0000 (13:36 +0000)]
Add aarch64-linux-android triple for Android.

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

10 years agoInitial implementation of -modules-earch-all option, for searching for symbols in...
John Thompson [Wed, 23 Apr 2014 12:57:01 +0000 (12:57 +0000)]
Initial implementation of -modules-earch-all option, for searching for symbols in non-imported modules.

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

10 years agoAdd yet another vtordisp test
Timur Iskhodzhanov [Wed, 23 Apr 2014 12:46:26 +0000 (12:46 +0000)]
Add yet another vtordisp test

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

10 years agoThis reverts commit r206934 and r206935.
Rafael Espindola [Wed, 23 Apr 2014 12:38:13 +0000 (12:38 +0000)]
This reverts commit r206934 and r206935.

The original messages were:
  "Driver: Honor %INCLUDE% when built with MinGW"
  "Add missing test triples"

The test was still failing on OS X.

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

10 years agoUpdate Target::createMCAsmParser calls for the LLVM interface change.
Evgeniy Stepanov [Wed, 23 Apr 2014 11:15:49 +0000 (11:15 +0000)]
Update Target::createMCAsmParser calls for the LLVM interface change.

Patch by Yuri Gorshenin.

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

10 years ago[ARM64] Enable more CodeGen tests for ARM64. The crypto and neon intrinsics tests...
James Molloy [Wed, 23 Apr 2014 10:26:23 +0000 (10:26 +0000)]
[ARM64] Enable more CodeGen tests for ARM64. The crypto and neon intrinsics tests needed changing slightly due to the naming differences between AArch64 and ARM64.

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

10 years ago[ARM64] Change inline assembly constraints to be more lax, to match the behaviour...
James Molloy [Wed, 23 Apr 2014 10:26:19 +0000 (10:26 +0000)]
[ARM64] Change inline assembly constraints to be more lax, to match the behaviour of Clang/AArch64 and GCC.

GCC allows sub-64bit values to use the 'r' register constraint.

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

10 years ago[ARM64] Enable the test aarch64-type-sizes.c for ARM64 BE.
James Molloy [Wed, 23 Apr 2014 10:26:12 +0000 (10:26 +0000)]
[ARM64] Enable the test aarch64-type-sizes.c for ARM64 BE.

This completes the port of r203918 (cpirker "AArch64_be specific clang target settings") to ARM64.

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

10 years ago[ARM64] Add a missed case label for arm64_be, and enable the aarch64-varargs test...
James Molloy [Wed, 23 Apr 2014 10:26:08 +0000 (10:26 +0000)]
[ARM64] Add a missed case label for arm64_be, and enable the aarch64-varargs test for arm64_be.

This ensures that r203917 (cpirker "AArch64_be varargs processing for ARM ABI") is ported to ARM64.

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

10 years agoMS ABI: Implement mangling for ref-qualifiers on methods
David Majnemer [Wed, 23 Apr 2014 05:16:56 +0000 (05:16 +0000)]
MS ABI: Implement mangling for ref-qualifiers on methods

Mangle ref-qualifiers like the Nov 2013 CTP.

This fixes PR19361.

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

10 years agoMS ABI: Use range-based for loops in the mangler
David Majnemer [Wed, 23 Apr 2014 05:16:53 +0000 (05:16 +0000)]
MS ABI: Use range-based for loops in the mangler

No functional change.

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

10 years agoMS ABI: Cleanup some egregious style violations
David Majnemer [Wed, 23 Apr 2014 05:16:51 +0000 (05:16 +0000)]
MS ABI: Cleanup some egregious style violations

No functional change.

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

10 years agoAST: Cleanup/simplify some LV calculation code
David Majnemer [Wed, 23 Apr 2014 05:16:48 +0000 (05:16 +0000)]
AST: Cleanup/simplify some LV calculation code

No functional change.

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

10 years agoCodeGen: Unify handling guard variables in the Itanium C++ ABI
Justin Bogner [Wed, 23 Apr 2014 01:50:10 +0000 (01:50 +0000)]
CodeGen: Unify handling guard variables in the Itanium C++ ABI

We previously treated ARM separately from the generic Itanium ABI for
initializing guard variables. This code duplication led to things like
the ARM path missing the memory barrier for threadsafe handling, and a
highly misleading comment about how we were (mis)using the generic ABI
for ARM64 when really it went through the ARM codepath.

This unifies the two code paths. Functionally, this changes the ARM
and ARM64 codepath to use one byte loads instead of 4 and 8,
respectively, and adds the missing atomic acquire to these loads.
Other architectures are unchanged.

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

10 years agoAdd missing test triples
Reid Kleckner [Wed, 23 Apr 2014 00:57:34 +0000 (00:57 +0000)]
Add missing test triples

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

10 years agoDriver: Honor %INCLUDE% when built with MinGW
Reid Kleckner [Wed, 23 Apr 2014 00:15:12 +0000 (00:15 +0000)]
Driver: Honor %INCLUDE% when built with MinGW

Users are expected to pass system includes through the INCLUDE
environment variable on Windows.  There's no reason to change behavior
based on the toolchain used to build Clang.

I didn't change the registry searching code because I'm not sure it
builds with mingw and I'm not set up to test it.

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

10 years agoDriver: Avoid a duplicate path separator and clean up code
Reid Kleckner [Wed, 23 Apr 2014 00:15:01 +0000 (00:15 +0000)]
Driver: Avoid a duplicate path separator and clean up code

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

10 years agoAdd some missing checks for C++1y digit separators that don't in fact separate
Richard Smith [Tue, 22 Apr 2014 23:50:25 +0000 (23:50 +0000)]
Add some missing checks for C++1y digit separators that don't in fact separate
digits. Turns out we have completely separate lexing codepaths for floating
point numbers depending on whether or not they start with a zero. Who knew...
=)

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

10 years agoPR18746: If a constexpr function has a dependent return type and no return
Richard Smith [Tue, 22 Apr 2014 23:14:23 +0000 (23:14 +0000)]
PR18746: If a constexpr function has a dependent return type and no return
statements, don't diagnose; the return type might end up being 'void'.

Patch by Rahul Jain! Tiny tweaks by me.

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

10 years agoDriver: Skip the -fmodules-cache-path argument in driver crash diags
Justin Bogner [Tue, 22 Apr 2014 21:30:17 +0000 (21:30 +0000)]
Driver: Skip the -fmodules-cache-path argument in driver crash diags

The modules cache path shouldn't be included in crash reports, as it's
a system (or run) specific directory.

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

10 years agoUse a manipulator to add a value to the current diagnostic flag.
Diego Novillo [Tue, 22 Apr 2014 19:56:49 +0000 (19:56 +0000)]
Use a manipulator to add a value to the current diagnostic flag.

Summary:
This addresses the feedback to
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20140421/103598.html

Reviewers: rsmith

Subscribers: cfe-commits

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

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

10 years ago[Driver][ARM64] Add a testcase for r206227.
Quentin Colombet [Tue, 22 Apr 2014 18:29:43 +0000 (18:29 +0000)]
[Driver][ARM64] Add a testcase for r206227.

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

10 years agoObjective-C ARC. Under ARC, addition of 'bridge' attribute
Fariborz Jahanian [Tue, 22 Apr 2014 17:42:01 +0000 (17:42 +0000)]
Objective-C ARC. Under ARC, addition of 'bridge' attribute
on CF type is not sufficient and bridge casting is
still required for proper ownership semantics.
// rdar://16650445

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

10 years agoAttempt to fix null ASTContext in ASTUnit error path
Ben Langmuir [Tue, 22 Apr 2014 17:40:12 +0000 (17:40 +0000)]
Attempt to fix null ASTContext in ASTUnit error path

We don't need the ASTContext for the diagnostics, only the language
options, which we can get from the compiler invocation. It worries me
how many categorically different states the ASTUnit class can be in
depending on how it is being constructed/used.

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

10 years agoFix PR19487, PR19505 and PR19506 -- redundant vtordisp thunks when the final override...
Timur Iskhodzhanov [Tue, 22 Apr 2014 17:32:02 +0000 (17:32 +0000)]
Fix PR19487, PR19505 and PR19506 -- redundant vtordisp thunks when the final overrider is present in both a vbase and nvbase

Reviewed at http://reviews.llvm.org/D3449

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

10 years agoThread safety analysis: add array operations to SExpr.
DeLesley Hutchins [Tue, 22 Apr 2014 17:31:23 +0000 (17:31 +0000)]
Thread safety analysis: add array operations to SExpr.

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

10 years agoThread safety analysis: fix warning.
DeLesley Hutchins [Tue, 22 Apr 2014 14:51:04 +0000 (14:51 +0000)]
Thread safety analysis: fix warning.

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

10 years agoTry to fix warnings to escape '@' as '\@'. [-Wdocumentation-html]
NAKAMURA Takumi [Tue, 22 Apr 2014 13:28:08 +0000 (13:28 +0000)]
Try to fix warnings to escape '@' as '\@'. [-Wdocumentation-html]

  clang/include/clang/Format/Format.h:185:8: error: HTML tag 'tt' requires an end tag [-Werror,-Wdocumentation-html]
    /// <tt>@property (readonly)</tt> instead of <tt>@property(readonly)</tt>.
        ~^~~

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

10 years ago[OPENMP] parsing 'linear' clause (for directive 'omp simd')
Alexander Musman [Tue, 22 Apr 2014 13:09:42 +0000 (13:09 +0000)]
[OPENMP] parsing 'linear' clause (for directive 'omp simd')

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

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

10 years agoARM64: update NEON test to improved backend codegen
Tim Northover [Tue, 22 Apr 2014 12:45:55 +0000 (12:45 +0000)]
ARM64: update NEON test to improved backend codegen

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

10 years agoComment parsing: close a hole in CDATA escaping in XML output
Dmitri Gribenko [Tue, 22 Apr 2014 12:34:52 +0000 (12:34 +0000)]
Comment parsing: close a hole in CDATA escaping in XML output

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

10 years agoComment parsing: in the generated XML file, mark HTML that is safe to pass
Dmitri Gribenko [Tue, 22 Apr 2014 10:59:13 +0000 (10:59 +0000)]
Comment parsing: in the generated XML file, mark HTML that is safe to pass
through to the output even if the input comment comes from an untrusted source

Attribute filtering is currently based on a blacklist, which right now includes
all event handler attributes (they contain JavaScipt code).  It should be
switched to a whitelist, but going over all of the HTML5 spec requires a
significant amount of time.

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

10 years agoDiagnosticsEngine::Report(): Fix a warning. [-Wdocumentation]
NAKAMURA Takumi [Tue, 22 Apr 2014 08:32:01 +0000 (08:32 +0000)]
DiagnosticsEngine::Report(): Fix a warning. [-Wdocumentation]

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

10 years agoUpdate clang/test/PCH/single-token-macro.c corresponding to r206791.
NAKAMURA Takumi [Tue, 22 Apr 2014 08:16:58 +0000 (08:16 +0000)]
Update clang/test/PCH/single-token-macro.c corresponding to r206791.

__stdcall is defined as __attribute__((__stdcall__)) for targeting mingw32.

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

10 years ago[Modules] Fix potential ODR violations by sinking the DEBUG_TYPE
Chandler Carruth [Tue, 22 Apr 2014 03:17:02 +0000 (03:17 +0000)]
[Modules] Fix potential ODR violations by sinking the DEBUG_TYPE
definition below all of the header #include lines, clang edition.

If you want more details about this, you can see some of the commits to
Debug.h in LLVM recently. This is just the clang section of a cleanup
I've done for all uses of DEBUG_TYPE in LLVM.

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

10 years agoMove the C++11 ExtWarn for converting a string literal to 'char*' out of
Richard Smith [Tue, 22 Apr 2014 01:11:06 +0000 (01:11 +0000)]
Move the C++11 ExtWarn for converting a string literal to 'char*' out of
-Wc++11-compat-deprecated-writable-strings. It's neither a C++11 compatibility
warning nor a deprecated feature, it's just ill-formed.

In passing, add that warning to -Wdeprecated, where it belongs.

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

10 years agoMove the warning of implicit cast of a floating point to an integer out of
Richard Trieu [Tue, 22 Apr 2014 01:01:05 +0000 (01:01 +0000)]
Move the warning of implicit cast of a floating point to an integer out of
-Wconversion and into it's own group, -Wfloating-point-conversion.

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

10 years agoThread safety analysis: misc updates to SExpr handling. Fix to minimal SSA,
DeLesley Hutchins [Mon, 21 Apr 2014 23:18:18 +0000 (23:18 +0000)]
Thread safety analysis:  misc updates to SExpr handling.  Fix to minimal SSA,
function parameters, and compound assignment.

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

10 years agoAllow adding a value to a flag in diagnostics.
Diego Novillo [Mon, 21 Apr 2014 23:16:03 +0000 (23:16 +0000)]
Allow adding a value to a flag in diagnostics.

Summary:
This allows callers of Diags.Report() to append a value to the name of
the flag associated with the diagnostic. This is useful in cases like
the -Rpass flag, where we want the diagnostic to show the name of the
pass that matched the pattern. Instead of showing "... [-Rpass]", this
allows us to show "... [-Rpass=passname]".

Reviewers: rsmith

CC: cfe-commits
Differential Revision: http://reviews.llvm.org/D3441

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

10 years ago[Modules] Update Clang's two files that use DEBUG(...) without defining
Chandler Carruth [Mon, 21 Apr 2014 22:55:36 +0000 (22:55 +0000)]
[Modules] Update Clang's two files that use DEBUG(...) without defining
DEBUG_TYPE to do so. LLVM's Debug.h requires this as of r206822.

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

10 years ago[Modules] Remove the only use of the DEBUG(...) macro in the compiler
Chandler Carruth [Mon, 21 Apr 2014 22:32:54 +0000 (22:32 +0000)]
[Modules] Remove the only use of the DEBUG(...) macro in the compiler
parts of Clang. I don't really have any opinion about whether using that
macro is good or bad, but its odd that this is the only one, and Eric
seemed happy with just nuking it for now.

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

10 years agoTry to fix bad Twine usage in r206791 with std::string
Reid Kleckner [Mon, 21 Apr 2014 22:29:45 +0000 (22:29 +0000)]
Try to fix bad Twine usage in r206791 with std::string

I'm pretty sure I was referencing destroyed temporaries here.  I'm open
to suggestions on how to write this better.

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

10 years agoMinGW: Define __stdcall&co when -fms-extensions is disabled
Reid Kleckner [Mon, 21 Apr 2014 20:58:00 +0000 (20:58 +0000)]
MinGW: Define __stdcall&co when -fms-extensions is disabled

This is for compatibility with GCC.

Reviewers: asl

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

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

10 years agoSplit out the rest of MS ABI multiple inheritance tests
Timur Iskhodzhanov [Mon, 21 Apr 2014 20:23:34 +0000 (20:23 +0000)]
Split out the rest of MS ABI multiple inheritance tests

Intentionally duplicate base class definitions per test, so it's easier to copy tests while debugging failures.

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

10 years agoObjective-C. Patch to allow use of dot syntax on class
Fariborz Jahanian [Mon, 21 Apr 2014 20:22:17 +0000 (20:22 +0000)]
Objective-C. Patch to allow use of dot syntax on class
objects to fund root class's instance methods.
// rdar://16650575

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

10 years agoAllow submodule inferrences with a missing umbrella when the module is unavailable
Ben Langmuir [Mon, 21 Apr 2014 19:49:57 +0000 (19:49 +0000)]
Allow submodule inferrences with a missing umbrella when the module is unavailable

If the module is unavailable because of a missing header, don't diagnose
a "module * {}" declaration for having a missing umbrella.

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

10 years agoHandle possible trailing '/' in xcode-select output. Patch by Jeff Olson.
Ted Kremenek [Mon, 21 Apr 2014 14:13:22 +0000 (14:13 +0000)]
Handle possible trailing '/' in xcode-select output.  Patch by Jeff Olson.

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

10 years agoInitialize clang::Module::IsMissingRequirement. Fix msan issue and hopefully some...
Richard Smith [Mon, 21 Apr 2014 07:28:16 +0000 (07:28 +0000)]
Initialize clang::Module::IsMissingRequirement. Fix msan issue and hopefully some builder failures.

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

10 years agoARM64: Do not expand variadic HFA/HVA arguments with the Darwin ABI.
Bob Wilson [Mon, 21 Apr 2014 01:23:39 +0000 (01:23 +0000)]
ARM64: Do not expand variadic HFA/HVA arguments with the Darwin ABI.

Unlike the standard AAPCS64 ABI, variadic arguments are always passed on the
stack with the Darwin ABI, and this was not being considered when deciding
whether to expand HFA/HVA arguments in a call. An HFA argument with a "float"
base type was being expanded into separate "float" arguments, each of which
was then extended to a double, resulting in a serious mismatch from what is
expected by the va_arg implementation. <rdar://problem/15777067>

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

10 years agoFix a comment typo.
Bob Wilson [Mon, 21 Apr 2014 01:23:36 +0000 (01:23 +0000)]
Fix a comment typo.

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

10 years agocindex.py: Avoid deprecated function
Alp Toker [Sun, 20 Apr 2014 01:07:03 +0000 (01:07 +0000)]
cindex.py: Avoid deprecated function

Implement Diagnostic::category_name() using clang_getDiagnosticCategoryText()
instead of the deprected clang_getDiagnosticCategoryName().

Preserves existing behaviour and API covered by existing tests.

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

10 years agoRemove some empty statements
Alp Toker [Sat, 19 Apr 2014 23:55:49 +0000 (23:55 +0000)]
Remove some empty statements

Cleanup only.

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

10 years agoFix and restore the macro-multiline.c test
Alp Toker [Sat, 19 Apr 2014 21:40:58 +0000 (21:40 +0000)]
Fix and restore the macro-multiline.c test

This test didn't work as intended and was ultimately disabled some years ago in
r169458.

Indeed it's not clear if the '\n' was ever passed through to the driver
correctly given that lit would insert '&& {' at the newline.

Test rewritten to use printf/xargs to insert '\n' in a more reliable manner and
to use FileCheck for verification.

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

10 years agoDisallow driver use in more Sema tests
Alp Toker [Sat, 19 Apr 2014 19:07:31 +0000 (19:07 +0000)]
Disallow driver use in more Sema tests

There are now only a handful of Sema tests remaining that use %clang in
SemaCXX, SemaObjC and SemaTemplate.

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

10 years agoMove ObjC Cocoa.h header test to Headers
Alp Toker [Sat, 19 Apr 2014 19:07:24 +0000 (19:07 +0000)]
Move ObjC Cocoa.h header test to Headers

This tests for broad compatibility with platform SDK headers using the clang
driver and so belongs alongside the other header ingtegration tests.

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

10 years agoRe-enable the C++11 modules integration test on OS X
Alp Toker [Sat, 19 Apr 2014 19:07:19 +0000 (19:07 +0000)]
Re-enable the C++11 modules integration test on OS X

XCode 5.1.1 has shipped with fixed SDK headers.

This reverts commit r200256.

Fixes PR18322.

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

10 years agoclang/test/Index/pch-with-errors.c: Remove XFAIL added in r206294. It has been fixed...
NAKAMURA Takumi [Sat, 19 Apr 2014 16:49:22 +0000 (16:49 +0000)]
clang/test/Index/pch-with-errors.c: Remove XFAIL added in r206294. It has been fixed since r206644.

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

10 years agoSpeculative fix for buildbot failure. Apparently Clang 3.1 got move semantics wrong.
Richard Smith [Sat, 19 Apr 2014 04:28:00 +0000 (04:28 +0000)]
Speculative fix for buildbot failure. Apparently Clang 3.1 got move semantics wrong.

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

10 years agoThread Safety Analysis: Convert to minimal SSA.
DeLesley Hutchins [Sat, 19 Apr 2014 03:54:41 +0000 (03:54 +0000)]
Thread Safety Analysis:  Convert to minimal SSA.

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

10 years agoWhen a module completes the definition of a class template specialization imported...
Richard Smith [Sat, 19 Apr 2014 03:48:30 +0000 (03:48 +0000)]
When a module completes the definition of a class template specialization imported from another module, emit an update record, rather than using the broken decl rewriting mechanism. If multiple modules do this, merge the definitions together, much as we would if they were separate declarations.

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

10 years agoThread Safety Analysis: Update SSA pass to handle loops.
DeLesley Hutchins [Sat, 19 Apr 2014 00:35:54 +0000 (00:35 +0000)]
Thread Safety Analysis:  Update SSA pass to handle loops.

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

10 years agoFix a hole with nested unavailable submodules from r206664
Ben Langmuir [Fri, 18 Apr 2014 23:51:00 +0000 (23:51 +0000)]
Fix a hole with nested unavailable submodules from r206664

If a module doesn't meet a requirement, neither do its submodules. If we
don't propogate that, we might think it's an error to be missing a
header in one of those submodules.

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

10 years agoCodeGen: Remove an unused include
Justin Bogner [Fri, 18 Apr 2014 22:31:07 +0000 (22:31 +0000)]
CodeGen: Remove an unused include

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

10 years agoDon't build modules with (submodules with) missing headers
Ben Langmuir [Fri, 18 Apr 2014 22:07:31 +0000 (22:07 +0000)]
Don't build modules with (submodules with) missing headers

Unless they are in submodules that aren't available anyway, due to
requirements not being met.  Also, mark children as unavailable when the
parent is.

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

10 years agoFix sphinx-build warnings in clang docs.
Reid Kleckner [Fri, 18 Apr 2014 21:55:49 +0000 (21:55 +0000)]
Fix sphinx-build warnings in clang docs.

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

10 years agoAdd support for building Sphinx documentation when being inside LLVM source tree...
Reid Kleckner [Fri, 18 Apr 2014 21:55:46 +0000 (21:55 +0000)]
Add support for building Sphinx documentation when being inside LLVM source tree and using CMake

Patch by Daniel Liew <daniel.liew@imperial.ac.uk>!

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

10 years agoCodeGen: Use LLVM's InstrProfReader in -fprofile-instr-use=
Justin Bogner [Fri, 18 Apr 2014 21:52:00 +0000 (21:52 +0000)]
CodeGen: Use LLVM's InstrProfReader in -fprofile-instr-use=

Update clang to use the InstrProfReader from LLVM to read
instrumentation based profile data. This also switches us from the
naive text format to the binary format, since that's what's
implemented in the reader.

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