]> granicus.if.org Git - clang/log
clang
10 years agoRemove the FormatSecurity diagnostic group from the FormatNonLiteral warning group.
Ted Kremenek [Tue, 25 Feb 2014 05:42:31 +0000 (05:42 +0000)]
Remove the FormatSecurity diagnostic group from the FormatNonLiteral warning group.

The FormatSecurity warning group does not need to be a sub-group
of the FormatNonLiteral group.

Patch by Zach Davis!

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

10 years agoAttributeReference: Fix a typo
David Majnemer [Tue, 25 Feb 2014 05:33:01 +0000 (05:33 +0000)]
AttributeReference: Fix a typo

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

10 years agoAllow multi-component paths in VFS file nodes
Ben Langmuir [Tue, 25 Feb 2014 04:34:14 +0000 (04:34 +0000)]
Allow multi-component paths in VFS file nodes

This allows the 'name' field to contain a path, like

{ 'type': 'directory',
  'name': '/path/to/dir',
  'contents': [ ... ] }

which not only simplifies reading and writing these files (for humans),
but makes it possible to easily modify locations via textual
replacement, which would not have worked in the old scheme.

E.g. sed s:<ROOT>:<NEW ROOT>

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

10 years agoFix typos
Alp Toker [Tue, 25 Feb 2014 04:21:44 +0000 (04:21 +0000)]
Fix typos

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

10 years ago[libclang] Introduce libclang APIs for creating a buffer with a JSON virtual file...
Argyrios Kyrtzidis [Tue, 25 Feb 2014 03:59:23 +0000 (03:59 +0000)]
[libclang] Introduce libclang APIs for creating a buffer with a JSON virtual file overlay description.

The current API only supports adding 'virtual file path' -> 'real file path' mappings.

rdar://15986708

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

10 years ago[libclang] Include "BuildSystem.h" along with "Index.h"
Argyrios Kyrtzidis [Tue, 25 Feb 2014 03:59:16 +0000 (03:59 +0000)]
[libclang] Include "BuildSystem.h" along with "Index.h"

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

10 years agoAST: Simplify CharUnits::alignmentAtOffset
David Majnemer [Tue, 25 Feb 2014 01:47:33 +0000 (01:47 +0000)]
AST: Simplify CharUnits::alignmentAtOffset

CharUnits::alignmentAtOffset is equivalent to llvm::MinAlign but
slightly less efficient.  Use it's implementation instead.

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

10 years agoIRGen: Simplify alignment calculation in setBitFieldInfo
David Majnemer [Tue, 25 Feb 2014 01:20:15 +0000 (01:20 +0000)]
IRGen: Simplify alignment calculation in setBitFieldInfo

Take advantage of CharUnits::alignmentAtOffset instead of calculating it
by hand.

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

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

10 years agoMS ABI: Return sret parameters when using inalloca
Reid Kleckner [Tue, 25 Feb 2014 00:59:14 +0000 (00:59 +0000)]
MS ABI: Return sret parameters when using inalloca

Previously the X86 backend would look for the sret attribute and handle
this for us.  inalloca takes that all away, so we have to do the return
ourselves now.

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

10 years agoclang/test/Preprocessor/init.c: Split conditions to win32 and non-win32.
NAKAMURA Takumi [Tue, 25 Feb 2014 00:30:14 +0000 (00:30 +0000)]
clang/test/Preprocessor/init.c: Split conditions to win32 and non-win32.

FIXME: Implement and check x86_64-cygwin.

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

10 years agoSuppress clang/test/Driver/clang_f_opts.c for targeting cygming since r202058 is...
NAKAMURA Takumi [Tue, 25 Feb 2014 00:30:04 +0000 (00:30 +0000)]
Suppress clang/test/Driver/clang_f_opts.c for targeting cygming since r202058 is incompatible to gcc driver.

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

10 years agoImprove some gtest assertions
Ben Langmuir [Mon, 24 Feb 2014 23:44:17 +0000 (23:44 +0000)]
Improve some gtest assertions

As requested during review, compare pointers to NULL explicitly to make what's
going on more clear.

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

10 years agoAST: Small code cleanup
David Majnemer [Mon, 24 Feb 2014 23:43:27 +0000 (23:43 +0000)]
AST: Small code cleanup

Move the pointer to be adjacent to the variable instead of the type.

No functional change.

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

10 years agoSema: Make getPreferredTypeAlign respect alignments specified with an aligned attribu...
David Majnemer [Mon, 24 Feb 2014 23:34:17 +0000 (23:34 +0000)]
Sema: Make getPreferredTypeAlign respect alignments specified with an aligned attribute on a typedef

When calculating the preferred alignment of a type, consider if a alignment
attribute came from a typedef declaration.  If one did, do not naturally align
the type.

Patch by Stephan Tolksdorf, with a little tweaking and an additional testcase by me.

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

10 years agoPass through context for DiagHandler in VFS
Ben Langmuir [Mon, 24 Feb 2014 20:56:37 +0000 (20:56 +0000)]
Pass through context for DiagHandler in VFS

This allows the unit tests to not use global state when checking
diagnostics.

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

10 years agoIf preprocessing results in a token with leading whitespace that was expanded
Richard Smith [Mon, 24 Feb 2014 20:50:36 +0000 (20:50 +0000)]
If preprocessing results in a token with leading whitespace that was expanded
from a macro in column 0, ensure that we print whitespace before it in the -E
output. Patch by Harald van Dijk!

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

10 years agoFollow up to r201927: remove the Sema::InFunctionDeclarator field.
Peter Collingbourne [Mon, 24 Feb 2014 20:45:14 +0000 (20:45 +0000)]
Follow up to r201927: remove the Sema::InFunctionDeclarator field.

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

10 years agoIf the first token in a macro that appears at the start of a line expands to
Richard Smith [Mon, 24 Feb 2014 20:45:00 +0000 (20:45 +0000)]
If the first token in a macro that appears at the start of a line expands to
nothing, be sure to inform the *next* token expanded from the macro that it is
now at the start of a line. Patch by Harald van Dijk!

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

10 years agoAdd a test for r202059.
Roman Divacky [Mon, 24 Feb 2014 19:24:15 +0000 (19:24 +0000)]
Add a test for r202059.

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

10 years agoObjective-C. Remove an assertion which asserts
Fariborz Jahanian [Mon, 24 Feb 2014 19:10:37 +0000 (19:10 +0000)]
Objective-C. Remove an assertion which asserts
on correctly handled block layout IRGen.
// rdar://16111839

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

10 years agoImplement getDwarfEHStackPointer() and initDwarfEHRegSizeTable() for sparcv9.
Roman Divacky [Mon, 24 Feb 2014 18:46:27 +0000 (18:46 +0000)]
Implement getDwarfEHStackPointer() and initDwarfEHRegSizeTable() for sparcv9.

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

10 years agoImplement -fno-short-wchar
Richard Barton [Mon, 24 Feb 2014 18:43:28 +0000 (18:43 +0000)]
Implement -fno-short-wchar

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

10 years agoUpdate for llvm api change.
Rafael Espindola [Mon, 24 Feb 2014 18:20:21 +0000 (18:20 +0000)]
Update for llvm api change.

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

10 years ago[Win32 ABI] Defer operator delete checks until vtable is marked used
Hans Wennborg [Mon, 24 Feb 2014 15:58:24 +0000 (15:58 +0000)]
[Win32 ABI] Defer operator delete checks until vtable is marked used

We were previously checking at every destructor declaration, but that was a bit
excessive. Since the deleting destructor is emitted with the vtable, do the
check when the vtable is marked used.

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

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

10 years agoDon't assume that F_None is the default. It is about to change.
Rafael Espindola [Mon, 24 Feb 2014 15:06:52 +0000 (15:06 +0000)]
Don't assume that F_None is the default. It is about to change.

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

10 years agoClarifying the wording for the noduplicate attribute.
Aaron Ballman [Mon, 24 Feb 2014 13:46:15 +0000 (13:46 +0000)]
Clarifying the wording for the noduplicate attribute.

Patch by Marcello Maggioni!

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

10 years agoFix AST matcher documentation for overloaded matchers.
Manuel Klimek [Mon, 24 Feb 2014 10:40:22 +0000 (10:40 +0000)]
Fix AST matcher documentation for overloaded matchers.

Before this patch we would only use the fist occurance of a matcher
function in the documentation, for example leaving out
hasType(Matcher<QualType>).

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

10 years agoFix docs generation for the AST matchers:
Manuel Klimek [Mon, 24 Feb 2014 10:28:36 +0000 (10:28 +0000)]
Fix docs generation for the AST matchers:

1. Move internal functions into ASTMatchersInternal.
2. Adapt dump_ast_matchers.py to the new VariadicOperatorMatcherFunc
   signature.
3. Update the actual docs with the updated tool / code.

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

10 years agoASTMatchers: added CXXMethodDecl matcher isPure()
Dmitri Gribenko [Mon, 24 Feb 2014 09:27:46 +0000 (09:27 +0000)]
ASTMatchers: added CXXMethodDecl matcher isPure()

The isPure() CXXMethodDecl matcher matches pure method declaration like "A::x"
in this example:

class A {
  virtual void x() = 0;
}

Patch by Konrad Kleine.

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

10 years agoAdd driver test for multiple preprocessor inputs
Alp Toker [Mon, 24 Feb 2014 08:17:02 +0000 (08:17 +0000)]
Add driver test for multiple preprocessor inputs

Fix an unintentional stdin read in the darwin-asan-nofortify.c test and replace
it with an explicit test for multiple -E inputs passed to the driver.

Noticed while working on the in-process driver patch.

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

10 years agoUse a more conventional logical op instead of bitwise and
Alp Toker [Mon, 24 Feb 2014 04:35:58 +0000 (04:35 +0000)]
Use a more conventional logical op instead of bitwise and

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

10 years ago[AArch64] Change int64_t from 'long long int' to 'long int' for AArch64 target.
Kevin Qin [Mon, 24 Feb 2014 02:45:03 +0000 (02:45 +0000)]
[AArch64] Change int64_t from 'long long int' to 'long int' for AArch64 target.

Most 64-bit targets define int64_t as long int, and AArch64 should
make same definition to follow LP64 model. In GNU tool chain, int64_t
is defined as long int for 64-bit target. So to get consistent with GNU,
it's better Changing int64_t from 'long long int' to 'long int',
otherwise clang will get different name mangling suffix compared with g++.

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

10 years agoUpdate __cplusplus to match the value in the C++14 DIS preview (D3937).
Richard Smith [Mon, 24 Feb 2014 01:35:45 +0000 (01:35 +0000)]
Update __cplusplus to match the value in the C++14 DIS preview (D3937).

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

10 years agoDo not put instrumentation counters before phis in ObjC for-in loops.
Bob Wilson [Mon, 24 Feb 2014 01:13:09 +0000 (01:13 +0000)]
Do not put instrumentation counters before phis in ObjC for-in loops.

We still don't use the PGO to set branch weights for these loops, but at
least this keeps the compiler from crashing. <rdar://problem/16137778>

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

10 years ago[Index] Make the USRs more stable.
Argyrios Kyrtzidis [Sun, 23 Feb 2014 18:23:29 +0000 (18:23 +0000)]
[Index] Make the USRs more stable.

- Only include offsets with local (in function scope) symbols, where we don't encode scoping
- Only include the filename with non-system symbols. Presumably the system headers will not provide conflicting definitions.

rdar://15976823

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

10 years agoFixing the indentation of the RST content in the release notes. Fixes two warnings...
Aaron Ballman [Sun, 23 Feb 2014 16:27:21 +0000 (16:27 +0000)]
Fixing the indentation of the RST content in the release notes. Fixes two warnings when building the HTML content and improves the format of the resulting content.

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

10 years agoSema: Simplify away one-iteration loops.
Benjamin Kramer [Sun, 23 Feb 2014 14:34:50 +0000 (14:34 +0000)]
Sema: Simplify away one-iteration loops.

No functionality change.

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

10 years ago[CMake] Resurrect mis-dropped dependency to ClangDriverOptions since r201842.
NAKAMURA Takumi [Sun, 23 Feb 2014 13:44:09 +0000 (13:44 +0000)]
[CMake] Resurrect mis-dropped dependency to ClangDriverOptions since r201842.

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

10 years ago[CMake] clang_tblgen: Use add_public_tablegen_target.
NAKAMURA Takumi [Sun, 23 Feb 2014 13:08:07 +0000 (13:08 +0000)]
[CMake] clang_tblgen: Use add_public_tablegen_target.

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

10 years ago[CMake] Deprecate clang_tablegen(DEPENDS).
NAKAMURA Takumi [Sun, 23 Feb 2014 12:53:45 +0000 (12:53 +0000)]
[CMake] Deprecate clang_tablegen(DEPENDS).

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

10 years agoFix crash when both ExpectAndConsume and ConsumeAnyToken emit diagnostics
Alp Toker [Sun, 23 Feb 2014 03:45:03 +0000 (03:45 +0000)]
Fix crash when both ExpectAndConsume and ConsumeAnyToken emit diagnostics

The DiagnosticBuilder's lifetime in parser typo recovery was overlapping with
the subsequent consume which can itself emit PP diagnostics.

Patch by Olivier Goffart!

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

10 years agoRelease Notes: document -f{,no-}integrate-as
Saleem Abdulrasool [Sun, 23 Feb 2014 02:08:45 +0000 (02:08 +0000)]
Release Notes: document -f{,no-}integrate-as

Now that the integrated assembler is considered a first class feature of the
compiler and has a proper feature flag, document the change in the compiler
flags.  Ensure that we indicate that the legacy flags are still available, but,
encourage users to switch to the feature flags.

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

10 years agoclang: add -f{no-,}integrate-as as consistent parameters
Saleem Abdulrasool [Sun, 23 Feb 2014 00:40:30 +0000 (00:40 +0000)]
clang: add -f{no-,}integrate-as as consistent parameters

The integrated assembler is a feature.  This makes the new flags the default
option, and the previous versions aliases.  Ideally, at some point the aliases
would be entirely removed.

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

10 years agoRemove support for the QA_OVERRIDE_GCC3_OPTIONS environment variable.
Bob Wilson [Sun, 23 Feb 2014 00:11:56 +0000 (00:11 +0000)]
Remove support for the QA_OVERRIDE_GCC3_OPTIONS environment variable.

In r199283 I switched the name of this variable to CCC_OVERRIDE_OPTIONS, but
I kept some code to continue recognizing the old name temporarily. As far as
I know, the only use of this was for some internal testing at Apple, and we've
now switched to use the new name. If anyone else is still using this and needs
more time to switch names, I guess we'll find out! <rdar://problem/15821425>

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

10 years agoclang: forward -no-integrated-as from the driver
Saleem Abdulrasool [Sat, 22 Feb 2014 23:37:58 +0000 (23:37 +0000)]
clang: forward -no-integrated-as from the driver

Forward the -no-integrated-as option to -cc1 rather than simply invoking the
appropriate tool.  This is useful since this option has been overloaded to
permit disabling of parsing inline assembly at the MC layer.

This re-applies the previous version of the patch with a renaming of the driver
option to the public name rather than the internal name (-target vs -triple).
The actual failure is fixed separately of an overly aggressive negative pattern
match in the MIPS driver tests.  It also fixes the incorrect test for targets
that have the integrated assembler disabled by default.

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

10 years agotest: fix MIPS driver tests
Saleem Abdulrasool [Sat, 22 Feb 2014 23:37:54 +0000 (23:37 +0000)]
test: fix MIPS driver tests

The tests attempt to validate the invocation of the assembler program with the
integrated assembler disabled.  However, the match pattern for the negative
tests are lax and will match both the driver invocation as well as the assembler
invocation.  Make the tests more strict by ensuring that we only match the
assembler invocation.

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

10 years agoRevert "clang: forward -no-integrated-as from the driver"
Saleem Abdulrasool [Sat, 22 Feb 2014 22:24:00 +0000 (22:24 +0000)]
Revert "clang: forward -no-integrated-as from the driver"

This seems to break a MIPS test.  Revert until I figure out the root cause.

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

10 years agoclang: forward -no-integrated-as from the driver
Saleem Abdulrasool [Sat, 22 Feb 2014 21:50:09 +0000 (21:50 +0000)]
clang: forward -no-integrated-as from the driver

Forward the -no-integrated-as option to -cc1 rather than simply invoking the
appropriate tool.  This is useful since this option has been overloaded to
permit disabling of parsing inline assembly at the MC layer.

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

10 years agoReorganize and improve semantic tests for dllexport/import
Nico Rieck [Sat, 22 Feb 2014 19:47:30 +0000 (19:47 +0000)]
Reorganize and improve semantic tests for dllexport/import

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

10 years agoAdding manual headings to the new capability attributes' documentation.
Aaron Ballman [Sat, 22 Feb 2014 19:04:55 +0000 (19:04 +0000)]
Adding manual headings to the new capability attributes' documentation.

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

10 years agoExposing the noduplicate attribute within Clang, which marks functions so that the...
Aaron Ballman [Sat, 22 Feb 2014 16:59:24 +0000 (16:59 +0000)]
Exposing the noduplicate attribute within Clang, which marks functions so that the optimizer does not duplicate code.

Patch thanks to Marcello Maggioni!

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

10 years agoDo not add enums to prototype scope in C++ modes.
Peter Collingbourne [Sat, 22 Feb 2014 03:05:49 +0000 (03:05 +0000)]
Do not add enums to prototype scope in C++ modes.

The language forbids defining enums in prototypes, so this check is normally
redundant, but if an enum is defined during template instantiation it should
not be added to the prototype scope.

While at it, clean up the code that deals with tag definitions in prototype
scope and expand the visibility warning to cover the case where an anonymous
enum is defined.

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

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

10 years agoCorrectly set brace range for CXXConstructExprs formed by list initialization.
Peter Collingbourne [Sat, 22 Feb 2014 02:59:41 +0000 (02:59 +0000)]
Correctly set brace range for CXXConstructExprs formed by list initialization.

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

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

10 years agoPer feedback from Aaron Ballman, push cast-to-ObjCProtocolDecl inside handleObjCSuppr...
Ted Kremenek [Sat, 22 Feb 2014 01:06:05 +0000 (01:06 +0000)]
Per feedback from Aaron Ballman, push cast-to-ObjCProtocolDecl inside handleObjCSuppresProtocolAttr().

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

10 years ago[_mm_prefetch] Returning previously deleted comment.
Warren Hunt [Sat, 22 Feb 2014 00:47:24 +0000 (00:47 +0000)]
[_mm_prefetch] Returning previously deleted comment.
No functional change.  It's unclear if the word FIXME is relevant given
that the macro behaves as intended.

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

10 years agoSilence a warning from r201905
Ben Langmuir [Sat, 22 Feb 2014 00:44:02 +0000 (00:44 +0000)]
Silence a warning from r201905

Avoid a warning about reaching the end of a non-void function after a
covered switch.

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

10 years agoIRGen: Fix build breakage
David Majnemer [Sat, 22 Feb 2014 00:41:07 +0000 (00:41 +0000)]
IRGen: Fix build breakage

MSVC allows extra-qualification on member functions, it lets you repeat
the class name on the method.

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

10 years ago[MS-ABI] Fix MSRecordLayout to handel MultiDimensionalArrays
Warren Hunt [Sat, 22 Feb 2014 00:40:37 +0000 (00:40 +0000)]
[MS-ABI] Fix MSRecordLayout to handel MultiDimensionalArrays
A recent change caused multi-dimensional arrays not to be handled
correctly, this patch fixes that.  Also, it adds a lit test for
multi-dimensional arrays.

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

10 years agoFix two warnings introduced r201907
Warren Hunt [Sat, 22 Feb 2014 00:22:15 +0000 (00:22 +0000)]
Fix two warnings introduced r201907

Unused variable is removed.  Construction order is changed to match
declaration order.

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

10 years agoSema: Don't crash when trying to instantiate a local class with an invalid base specifier
David Majnemer [Sat, 22 Feb 2014 00:17:46 +0000 (00:17 +0000)]
Sema: Don't crash when trying to instantiate a local class with an invalid base specifier

It was previously thought that Sema::InstantiateClass could not fail
from within this point in instantiate.

However, it can happen if the class is invalid some way (i.e. invalid
base specifier).

This fixes PR18907.

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

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

10 years ago[ObjC] Make attribute 'objc_protocol_requires_explicit_implementation' behave correct...
Ted Kremenek [Sat, 22 Feb 2014 00:02:03 +0000 (00:02 +0000)]
[ObjC] Make attribute 'objc_protocol_requires_explicit_implementation' behave correctly with default property synthesis.

In particular, if we see an @property within the @interface of a class
conforming to a protocol with this attribute, we treat that as
if the implementation were available, per the rules of default
property synthesis.

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

10 years agoComplete Rewrite of CGRecordLayoutBuilder
Warren Hunt [Fri, 21 Feb 2014 23:49:50 +0000 (23:49 +0000)]
Complete Rewrite of CGRecordLayoutBuilder

CGRecordLayoutBuilder was aging, complex, multi-pass, and shows signs of
existing before ASTRecordLayoutBuilder.  It redundantly performed many
layout operations that are now performed by ASTRecordLayoutBuilder and
asserted that the results were the same.  With the addition of support
for the MS-ABI, such as placement of vbptrs, vtordisps, different
bitfield layout and a variety of other features, CGRecordLayoutBuilder
was growing unwieldy in its redundancy.

This patch re-architects CGRecordLayoutBuilder to not perform any
redundant layout but rather, as directly as possible, lower an
ASTRecordLayout to an llvm::type.  The new architecture is significantly
smaller and simpler than the CGRecordLayoutBuilder and contains fewer
ABI-specific code paths.  It's also one pass.

The architecture of the new system is described in the comments. For the
most part, the new system simply takes all of the fields and bases from
an ASTRecordLayout, sorts them, inserts padding and dumps a record.
Bitfields, unions and primary virtual bases make this process a bit more
complicated.  See the inline comments.

In addition, this patch updates a few lit tests due to the fact that the
new system computes more accurate llvm types than CGRecordLayoutBuilder.
Each change is commented individually in the review.

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

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

10 years agoAdd a VFSFromYAML class and a parser to create it
Ben Langmuir [Fri, 21 Feb 2014 23:39:37 +0000 (23:39 +0000)]
Add a VFSFromYAML class and a parser to create it

Provides a way to create a virtual file system using a YAML file that
supports mapping a file to a path on an 'external' file system. The
external file system will typically be the 'real' file system, but for
testing it can be changed.

A future patch will add a clang option to allow the user to specify such
a file and overlay it, but for now this code is only exercised by the
unit tests.

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

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

10 years agoReapply 201734 but with appropriate gcc compatibility
Warren Hunt [Fri, 21 Feb 2014 23:08:53 +0000 (23:08 +0000)]
Reapply 201734 but with appropriate gcc compatibility
Because GCC incorrectly defines _mm_prefetch to take anything that casts
to void*, people have started using that behavior.  The previous patch
that made _mm_prefetch actually take a const char * broke compatibility
with existing code.  This update to the patch leaves the macro that
defines _mm_prefetch with the (void*) cast when _MSC_VER is not defined.

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

10 years agoAdd requirement that attribute 'objc_protocol_requires_explicit_implementation' can...
Ted Kremenek [Fri, 21 Feb 2014 22:49:04 +0000 (22:49 +0000)]
Add requirement that attribute 'objc_protocol_requires_explicit_implementation' can only be applied to protocol definitions.

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

10 years agoDefault to ARMv5e for NetBSD/EABI, ARMv4 for APCS.
Joerg Sonnenberger [Fri, 21 Feb 2014 21:53:33 +0000 (21:53 +0000)]
Default to ARMv5e for NetBSD/EABI, ARMv4 for APCS.

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

10 years agoAdd test that -Wunreachable-code warnings are suppressed in headers.
Ted Kremenek [Fri, 21 Feb 2014 21:41:23 +0000 (21:41 +0000)]
Add test that -Wunreachable-code warnings are suppressed in headers.

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

10 years agoAdding role-based capability attributes that allow you to express role management...
Aaron Ballman [Fri, 21 Feb 2014 21:05:14 +0000 (21:05 +0000)]
Adding role-based capability attributes that allow you to express role management: asserting a capability is held, acquiring a capability and releasing a capability. Also includes some skeleton documentation for these new attributes.

This functionality should be considered a WIP.

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

10 years ago[ObjC] add support for properties in attribute 'objc_protocol_requires_explicit_imple...
Ted Kremenek [Fri, 21 Feb 2014 19:41:39 +0000 (19:41 +0000)]
[ObjC] add support for properties in attribute 'objc_protocol_requires_explicit_implementation'.

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

10 years agoRemove 'followsSuper' argument from lookupPropertyAccessor. Turns out I didn't need it.
Ted Kremenek [Fri, 21 Feb 2014 19:41:37 +0000 (19:41 +0000)]
Remove 'followsSuper' argument from lookupPropertyAccessor.  Turns out I didn't need it.

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

10 years ago[ObjC] Change default property synthesis logic to not completely skip DiagnoseUnimple...
Ted Kremenek [Fri, 21 Feb 2014 19:41:34 +0000 (19:41 +0000)]
[ObjC] Change default property synthesis logic to not completely skip DiagnoseUnimplementedProperties.

We're going to extend DiagnoseUnimplementedProperties shortly to look for more cases
that aren't handled by default property synthesis.

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

10 years ago[ObjC] Condense logic for diagnosing unimplemented setter/getters into help method.
Ted Kremenek [Fri, 21 Feb 2014 19:41:30 +0000 (19:41 +0000)]
[ObjC] Condense logic for diagnosing unimplemented setter/getters into help method.

No functionality change.

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

10 years agoRemove accidentally-committed debugging statement. Thanks to Faisal Vali for
Richard Smith [Fri, 21 Feb 2014 18:46:01 +0000 (18:46 +0000)]
Remove accidentally-committed debugging statement. Thanks to Faisal Vali for
spotting this!

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

10 years ago[CMake] libclang: Use llvm_add_library(SHARED STATIC).
NAKAMURA Takumi [Fri, 21 Feb 2014 15:34:01 +0000 (15:34 +0000)]
[CMake] libclang: Use llvm_add_library(SHARED STATIC).

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

10 years agoInternal naming convention consistency change.
Aaron Ballman [Fri, 21 Feb 2014 14:37:41 +0000 (14:37 +0000)]
Internal naming convention consistency change.

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

10 years agoMoving the documentation for the format attribute into AttrDocs.
Aaron Ballman [Fri, 21 Feb 2014 14:36:13 +0000 (14:36 +0000)]
Moving the documentation for the format attribute into AttrDocs.

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

10 years agoMoving the documentation for the type safety checking attributes into AttrDocs. If...
Aaron Ballman [Fri, 21 Feb 2014 14:14:04 +0000 (14:14 +0000)]
Moving the documentation for the type safety checking attributes into AttrDocs. If a custom heading is provided, do not automatically generate the alternate spelling list. This is necessary because some attributes have distinct semantic spellings and meanings, but use the same semantic attribute internally. Such attributes should have multiple elements in their documentation list, but not show all spellings. At some point, it would be nice to have a way to attach the documentation element to a specific spelling for these cases.

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

10 years agoMoving the documentation for the sanitizer negation attributes into AttrDocs.
Aaron Ballman [Fri, 21 Feb 2014 13:44:43 +0000 (13:44 +0000)]
Moving the documentation for the sanitizer negation attributes into AttrDocs.

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

10 years agoRemove commas at the end of lists (C++11 again)
Tim Northover [Fri, 21 Feb 2014 12:16:59 +0000 (12:16 +0000)]
Remove commas at the end of lists (C++11 again)

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

10 years agoARM & AArch64: use table for EmitCommonNeonBuiltinExpr
Tim Northover [Fri, 21 Feb 2014 11:57:24 +0000 (11:57 +0000)]
ARM & AArch64: use table for EmitCommonNeonBuiltinExpr

This extends the intrinsic lookup table format slightly, and adds
entries for use the shared ARM/AArch64 definitions. The benefit is
currently smaller than for the SISD intrinsics (there's more custom
code implementing this set), but a few lines are saved and there's
scope for future expansion.

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

10 years agoAArch64: refactor table-driven NEON lookup.
Tim Northover [Fri, 21 Feb 2014 11:57:20 +0000 (11:57 +0000)]
AArch64: refactor table-driven NEON lookup.

This extracts the table-driven intrinsic lookup phase into a separate
function, to be used by EmitCommonNeonBuiltinExpr soon.

It also simplifies the logic used in that lookup, since VectorCastArgN
and ScalarArgN were actually identical.

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

10 years agoAdd support for FPv4-SP to the clang driver
Oliver Stannard [Fri, 21 Feb 2014 10:39:15 +0000 (10:39 +0000)]
Add support for FPv4-SP to the clang driver

Added two new options for -mfpu when targetting ARM:
* fpv4-sp-d16
* fp4-sp-d16

The first is the same spelling as gcc.

The lack of a leading `v' is correct, this is consistent with ARM's
documentation and gcc's spelling of the option.

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

10 years ago[CMake] Get rid of explicit dependencies to include/clang/*.inc and introduce CLANG_T...
NAKAMURA Takumi [Fri, 21 Feb 2014 07:59:59 +0000 (07:59 +0000)]
[CMake] Get rid of explicit dependencies to include/clang/*.inc and introduce CLANG_TABLEGEN_TARGETS.

This does;
  - clang_tablegen() adds each tblgen'd target to global property CLANG_TABLEGEN_TARGETS as list.
  - List of targets is added to LLVM_COMMON_DEPENDS.
  - all clang libraries and targets depend on generated headers.

You might wonder this would be regression, but in fact, this is little loss.
  - Almost all of clang libraries depend on tblgen'd files and clang-tblgen.
  - clang-tblgen may cause short stall-out but doesn't cause unconditional rebuild.
  - Each library's dependencies to tblgen'd files might vary along headers' structure.
    It made hard to track and update *really optimal* dependencies.

Each dependency to intrinsics_gen and ClangSACheckers is left as DEPENDS.

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

10 years agoFix gcc -Wparentheses warning.
Patrik Hagglund [Fri, 21 Feb 2014 07:23:53 +0000 (07:23 +0000)]
Fix gcc -Wparentheses warning.

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

10 years agoAccept -no-integrated-as in -cc1 and forward it to llvm.
Rafael Espindola [Fri, 21 Feb 2014 03:14:07 +0000 (03:14 +0000)]
Accept -no-integrated-as in -cc1 and forward it to llvm.

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

10 years agoMS ABI: Include the vfptr offset in memptrs to virtual methods
Reid Kleckner [Fri, 21 Feb 2014 02:27:32 +0000 (02:27 +0000)]
MS ABI: Include the vfptr offset in memptrs to virtual methods

Virtual methods expect 'this' to point to the vfptr containing the
virtual method, and this extends to virtual member pointer thunks.  The
relevant vfptr is always at offset zero on entry to the thunk, and no
this adjustment is needed.

Previously we would not include the vfptr adjustment in the member
pointer, and we'd look at the vfptr offset when loading from the vftable
in the thunk.

Fixes PR18917.

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

10 years ago[MS-ABI] Update to zero-sized padding algorithm
Warren Hunt [Fri, 21 Feb 2014 01:40:35 +0000 (01:40 +0000)]
[MS-ABI] Update to zero-sized padding algorithm
Slight change to the way zero-sized sub-objects are tracked in the
presence of virtual bases.
In addition we correctly distinguish between dsize and nvsize.
addresses http://llvm.org/bugs/show_bug.cgi?id=18826
Unit tests are included.

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

10 years agoFix an assertion failure when invoking dsymutil.
Bob Wilson [Fri, 21 Feb 2014 00:20:07 +0000 (00:20 +0000)]
Fix an assertion failure when invoking dsymutil.

There is no bound architecture for the dsymutil action in the driver. Trying
to check various properties of the target will cause an assertion failure
because the target doesn't get initialized without a bound architecture.
<rdar://problem/16111555>

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

10 years ago[analyzer] Fix a bug in IdenticalExprChecker concerning while loops.
Jordan Rose [Fri, 21 Feb 2014 00:18:31 +0000 (00:18 +0000)]
[analyzer] Fix a bug in IdenticalExprChecker concerning while loops.

Somehow both Daniel and I missed the fact that while loops are only identical
if they have identical bodies.

Patch by Daniel Fahlgren!

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

10 years agoRevert the removal of PPCallbacks::PragmaComment() in r201821
Reid Kleckner [Thu, 20 Feb 2014 23:37:45 +0000 (23:37 +0000)]
Revert the removal of PPCallbacks::PragmaComment() in r201821

The pp-trace clang tool was using it successfully.  We can still delete
the callbacks in Frontend/PrintPreprocessedOutput.cpp because they were
effectively dead.

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

10 years agoSema: Do not assert when dereferencing member pointer using virtual inheritance with...
David Majnemer [Thu, 20 Feb 2014 23:22:07 +0000 (23:22 +0000)]
Sema: Do not assert when dereferencing member pointer using virtual inheritance with an incomplete class type

The MS ABI requires that we determine the vbptr offset if have a
virtual inheritance model.  Instead, raise an error pointing to the
diagnostic when this happens.

This fixes PR18583.

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

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

10 years agoRevert "Enable MSRecordLayout in the presence of external sources."
Reid Kleckner [Thu, 20 Feb 2014 23:07:29 +0000 (23:07 +0000)]
Revert "Enable MSRecordLayout in the presence of external sources."

This reverts commit r201810.

It was failing these tests on my workstation:
    Clang :: CodeGen/override-layout.c
    Clang :: CodeGenCXX/override-layout.cpp
    Clang :: PCH/check-deserializations.cpp

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

10 years agoExpand macros in pragmas with -fms-extensions and -E
Reid Kleckner [Thu, 20 Feb 2014 22:59:51 +0000 (22:59 +0000)]
Expand macros in pragmas with -fms-extensions and -E

gcc never expands macros in pragmas and MSVC always expands macros
before processing pragmas.  Clang usually allows macro expansion, except
in a handful of pragmas, most of which are handled by the lexer.

Also remove PPCallbacks for pragmas that are currently handled in the
parser.  Without a Parser, such as with clang -E, these callbacks would
never be called.

Fixes PR18576.

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

10 years agoHide pragma handler classes in ParsePragma.cpp
Reid Kleckner [Thu, 20 Feb 2014 22:52:09 +0000 (22:52 +0000)]
Hide pragma handler classes in ParsePragma.cpp

This reduces the number of files we need to touch to add a new pragma,
and reduces the number of externally visible symbols in clang.

Make the handlers structs instead of classes because the vast majority
have no private members.

Reviewers: rsmith

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

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

10 years agoRecommit virtual file system
Ben Langmuir [Thu, 20 Feb 2014 21:59:23 +0000 (21:59 +0000)]
Recommit virtual file system

Previously reverted in r201755 due to causing an assertion failure.

I've removed the offending assertion, and taught the CompilerInstance to
create a default virtual file system inside createFileManager. In the
future, we should be able to reach into the CompilerInvocation to
customize this behaviour without breaking clients that don't care.

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

10 years agoEnable MSRecordLayout in the presence of external sources.
Warren Hunt [Thu, 20 Feb 2014 20:14:29 +0000 (20:14 +0000)]
Enable MSRecordLayout in the presence of external sources.

External sources shouldn't prevent the layout engine from using
MSLayout.  If lldb were to support debugging in microsoft mode, some
code will need to be added to MSRecordLayoutBuilder to handel external
layouts.

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

10 years agoClarify comment.
Adrian Prantl [Thu, 20 Feb 2014 19:51:46 +0000 (19:51 +0000)]
Clarify comment.

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

10 years agoAdd TemplateSpecializationType polymorphism for hasTemplateArgument and
Peter Collingbourne [Thu, 20 Feb 2014 19:18:03 +0000 (19:18 +0000)]
Add TemplateSpecializationType polymorphism for hasTemplateArgument and
hasAnyTemplateArgument, and (out of necessity) an isExpr matcher.

Also updates the TemplateArgument doxygen to reflect reality for
non-canonical template arguments.

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

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

10 years agoadd a comment.
Adrian Prantl [Thu, 20 Feb 2014 17:57:37 +0000 (17:57 +0000)]
add a comment.

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

10 years agoRevert "Remove dead option."
Adrian Prantl [Thu, 20 Feb 2014 17:53:17 +0000 (17:53 +0000)]
Revert "Remove dead option."
Some tests in debuginfo-tests require the system-darwin feature.

This reverts commit 179670.

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