Commit Graph

2788 Commits

Author SHA1 Message Date
Manuel Klimek f54dcbc4e6 Preserve carriage return when using clang-format's XML interface.
Patch by James Park.

llvm-svn: 196265
2013-12-03 09:46:06 +00:00
Alp Toker 8c8a875079 Fix method/variable name typos
llvm-svn: 196214
2013-12-03 06:53:35 +00:00
Hans Wennborg b17af647f0 ClangFormatPackage.cs: fix inconsistent line endings
llvm-svn: 196131
2013-12-02 18:57:12 +00:00
Hans Wennborg c16006fb81 clang-format vs plugin: use Alp's suggestion for getting the path
llvm-svn: 196124
2013-12-02 17:40:46 +00:00
Hans Wennborg 86560363fd clang-format vs plugin: bake clang-format.exe into the vsix
This makes the clang-format plugin self-contained. Instead of
requiring clang-format.exe to be available on the PATH, this
includes it in the plugin's installer (.vsix file) and runs it
from the install directory.

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

llvm-svn: 196122
2013-12-02 17:31:52 +00:00
Alexander Kornienko bc4ae44928 Added an option to specify fallback style.
Summary:
Added -fallback-style option. Changed clang-format to stop searching
for .clang-format when an invalid file is found.

Reviewers: djasper, klimek

Reviewed By: djasper

CC: cfe-commits, klimek

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

llvm-svn: 196108
2013-12-02 15:21:38 +00:00
Alp Toker 54ee53a0c4 Fix typo: s/Occurence/Occurrence/
This is a private class member so the fix shouldn't impact external projects.

llvm-svn: 195985
2013-11-30 23:33:14 +00:00
Argyrios Kyrtzidis 3701f5465c [libclang] Check for LIBCLANG_DISABLE_CRASH_RECOVERY before enabling crash recovery.
Suggested by Alp Toker.

llvm-svn: 195829
2013-11-27 08:58:09 +00:00
Argyrios Kyrtzidis 50126f1259 [libclang] Make sure we don't access past the tokens buffer while token annotation.
Also disable crash recovery using 'LIBCLANG_DISABLE_CRASH_RECOVERY' environment variable.

llvm-svn: 195819
2013-11-27 05:50:55 +00:00
Alp Toker 965f882588 Remove a whole lot of unused variables
There are about 30 removed in this patch, generated by a new FixIt I haven't
got round to submitting yet.

llvm-svn: 195814
2013-11-27 05:22:15 +00:00
Hans Wennborg 8f3019645d Clang format VS plugin: update build prerequisites in the README
llvm-svn: 195690
2013-11-25 21:42:06 +00:00
Alp Toker 9ba7536e45 Add txt file extension to VS solution's README
This matches other README.txt files in LLVM and makes things more obvious on
Windows where it's likely to be read. CRLFs are retained for the same reason.

Also fix Visual Studio product name.

llvm-svn: 195420
2013-11-22 08:00:20 +00:00
Hans Wennborg ae78e23e5f Install clang-format's editor integrations in $PREFIX/share/clang/
They were previously not part of the install target.

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

llvm-svn: 194741
2013-11-14 22:48:06 +00:00
Dmitri Gribenko 15076d5d30 Work around a bug in old gcc on the FreeBSD bot, which complains about
ambiguity between index() function and clang::index namespace.

llvm-svn: 194638
2013-11-14 00:36:24 +00:00
Dmitri Gribenko 7244bee1a8 libclang does not depend directly on clangFormat; but clangIndex does
llvm-svn: 194611
2013-11-13 22:26:04 +00:00
Dmitri Gribenko 9e6051135a Documentation parsing: move comment-to-XML conversion routines to libIndex
llvm-svn: 194610
2013-11-13 22:16:51 +00:00
Dmitri Gribenko ff43160208 Make inline functions in a header file static.
llvm-svn: 194603
2013-11-13 20:19:22 +00:00
Manuel Klimek 6192c93a53 Add an optional mapping from source paths to source contents.
This allows compilation database implementations for distributed build
systems to hand all data to the client to make parsing independent of
the file system.

llvm-svn: 194571
2013-11-13 13:23:27 +00:00
Dmitri Gribenko d9febeb884 Documentation parsing: add support for \throws \throw \exception commands
llvm-svn: 194521
2013-11-12 22:16:08 +00:00
Manuel Klimek 8f5c84fb74 Upgrade the VS solution to 2012.
Now we can compile a VSPackage that works with VS 2010-2013 from within VS 2012.

llvm-svn: 194488
2013-11-12 17:01:53 +00:00
Manuel Klimek eff9a4d336 Fix key bindings for VS 2010.
Set the default key-binding only in the text editor; the
global binding of ctrl-r,ctrl-f was already taken in VS 2010.

llvm-svn: 194482
2013-11-12 15:25:18 +00:00
Manuel Klimek c51098d4aa Recreated the ClangFormat VSPackage with VS 2010.
The generated package is now compatible with VS 2010 - 2013.

llvm-svn: 194480
2013-11-12 15:02:53 +00:00
Manuel Klimek 25d69507dd Revert unintentional commit from r194477.
llvm-svn: 194478
2013-11-12 13:56:36 +00:00
Manuel Klimek 1445131092 (no commit message)
llvm-svn: 194477
2013-11-12 13:54:22 +00:00
Richard Smith 16e1b07597 Rather than duplicating extension diagnostics to allow them to cause a
substitution failure, allow a flag to be set on the Diagnostic object,
to mark it as 'causes substitution failure'.

Refactor Diagnostic.td and the tablegen to use an enum for SFINAE behavior
rather than a bunch of flags.

llvm-svn: 194444
2013-11-12 02:41:45 +00:00
Bill Wendling e94f74f69f Use a StringRef. Saves 0.00000000000001s on execution time.
llvm-svn: 194301
2013-11-09 00:23:58 +00:00
Sean Silva 60dccf2d06 Py3k compat for clang-format Sublime Text extension.
Sublime Text 2 uses Python 2.6
Sublime Text 3 uses Python 3.3

The `print` function has been available as a __future__ import since
2.6, so use it.

Patch by Johan Engelen!

llvm-svn: 194287
2013-11-08 22:46:56 +00:00
Alp Toker 07ce1d0282 clang-format: Write files atomically
Switch clang-format over to Rewriter::overwriteChangedFiles().

The previous implementation was attempting to stream back directly to the
original file and failing if it was already memory mapped by MemoryBuffer,
an operation unsupported by Windows.

MemoryBuffer generally mmaps files larger than the physical page size so
this will have been difficult to reproduce consistently.

This change also reduces flicker in code editors and IDEs on all platforms
when reformatting in-place.

Note that other incorrect uses of MemoryBuffer exist in LLVM/clang and
will need a similar fix.

A test should be added for Windows when libFormat performance issues are
fixed (it takes longer than a day to format a 1MB file at present!)

llvm-svn: 194250
2013-11-08 08:07:19 +00:00
Yaron Keren 39f02ac90f This patch modified ExeBasename as clang-cl.exe to match the preceding comment.
llvm-svn: 194170
2013-11-06 21:57:50 +00:00
Argyrios Kyrtzidis 08b0418828 [libclang] Some changes on the linker options for libclang on a CMake build.
- Use the 'libclang.exports' file.
- Pass -Wl,-current_version
- Set install name to "@rpath"

llvm-svn: 194134
2013-11-06 08:37:50 +00:00
Filip Pizlo 29cc006eb8 It is no longer necessary to opt out of pretty stack traces.
llvm-svn: 193973
2013-11-04 02:25:34 +00:00
Richard Smith b87c465391 Store a TypeArgument on an attribute as a TypeSourceInfo*, rather than as a
QualType with a SourceLocation stashed alongside.

llvm-svn: 193803
2013-10-31 21:23:20 +00:00
Richard Smith b1f9a283ac Factor out custom parsing for iboutletcollection and vec_type_hint attributes
into a separate "parse an attribute that takes a type argument" codepath. This
results in both codepaths being a lot cleaner and simpler, and fixes some bugs
where the type argument handling bled into the expression argument handling and
caused us to both accept invalid and reject valid attribute arguments.

llvm-svn: 193731
2013-10-31 01:56:18 +00:00
Sylvestre Ledru 9f453d27bf Use LLVMLibsOptions intead of LDFLAGS when setting the libclang soname. This allows 'make LDFLAGS=foo' to be set correctly (and matches the way it is done with libllvm and liblldb)
llvm-svn: 193607
2013-10-29 13:01:41 +00:00
Nico Weber 8bdd1ee021 clang-format.py: Make formatting unnamed buffers work again (broke in r190691).
llvm-svn: 193433
2013-10-25 20:06:20 +00:00
Jordan Rose 476bbb0252 [analyzer] scan-build: Handle -m* option wildcard after compiler/linker flags.
Some of the shared compiler/linker flags start with -m, so they've been
getting passed to the compiler only since r180073. Now, the -m* wildcard
is processed after the shared flags and the ignored flags.

Found by Laszlo Nagy!

llvm-svn: 193184
2013-10-22 18:55:18 +00:00
Rafael Espindola 8db352d532 Rename some functions for consistency.
Every other function in Redeclarable.h was using Decl instead of Declaration.

llvm-svn: 192900
2013-10-17 15:37:26 +00:00
Benjamin Kramer 656363d5b5 Add llvm_unreachable to pacify GCC's dropping off non-void function warning.
+ 80 cols fix.

llvm-svn: 192728
2013-10-15 18:53:18 +00:00
Argyrios Kyrtzidis dc2973f735 [libclang] When querying for the availability of an enumerator, pick up the availability from the enum declaration.
rdar://14789001.

llvm-svn: 192718
2013-10-15 17:00:53 +00:00
Alexander Kornienko 95c009afd9 Changed clang-format-diff.py to output diff by default. Added -i option to apply changes to files instead.
Summary:
"svn diff|clang-format-diff.py" will just output the diff.
Now it's possible to use:
  svn diff|clang-format-diff.py|patch -p0
as an equivalent to:
  svn diff|clang-format-diff.py -i
;)

Reviewers: djasper

Reviewed By: djasper

CC: cfe-commits

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

llvm-svn: 192505
2013-10-11 21:32:01 +00:00
Argyrios Kyrtzidis adff3ae3c8 [libclang] Introduce clang_Type_getCXXRefQualifier whichexposes ref-qualifier information of function type.
Patch by Che-Liang Chiou!

llvm-svn: 192493
2013-10-11 19:58:38 +00:00
Daniel Jasper e8845ad4c5 clang-format: Don't exit with failure on empty files.
Also let clang-format-diff.py detect errors based on clang-format's
return code. Otherwise messages like "Can't find usable .clang-format,
falling back to LLVM style" can make it fail, which might be undesired.

Patch by Alp Toker. Thank you!

llvm-svn: 192184
2013-10-08 15:54:36 +00:00
David Majnemer 3f8f8c9dbd Driver: Use the canonical command line arguments.
Summary:
Use the arguments given to the OS at process creation-time instead of
the arguments passed into main() by the C runtime environment.  The ones
that main() received may not be suitable (e.g. not Unicode).

Depends on D1834

CC: cfe-commits

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

llvm-svn: 192091
2013-10-07 07:33:27 +00:00
Argyrios Kyrtzidis 7a4253b685 [libclang] Introduce clang_Type_getClassType which returns the class type of a member pointer type.
Patch by Che-Liang Chiou!

llvm-svn: 191906
2013-10-03 16:19:23 +00:00
Daniel Jasper 164c8e1810 clang-format: Fix clang-format-diff.py according to diff specification.
Patch by Alp Toker. Many thanks!

Original descriptions:
clang-format-diff incorrectly modifies unchanged lines due to an error
in diff parsing.

The unified diff format has a default line change count of 1, and 0 may
be specified to indicate that no lines have been added. This patch
updates the parser to accurately reflect the diff specification.

This also has the benefit of stabilising the operation so it will
produce the same output when run multiple times on the same changeset,
which was previously not the case.

No tests added because this script is not currently tested (though we
should look into that!)

llvm-svn: 191820
2013-10-02 13:59:03 +00:00
Alexey Bataev d5af8e472d [OpenMP] Added parsing and semantic analysis for firstprivate clause
llvm-svn: 191730
2013-10-01 05:32:34 +00:00
David Blaikie 8b03ef8388 Remove unused variable introduced in 191666
llvm-svn: 191682
2013-09-30 17:30:41 +00:00
Edwin Vane d544aa79c9 Moving style option formatting to libFormat
The help text for clang-format's -style option and the function that processes
its value is moved to libFormat in this patch. The goal is to enable other
tools that use libFormat and also have a -style option to behave consistently
with clang-format.

llvm-svn: 191666
2013-09-30 13:31:48 +00:00
Bob Wilson a1b4206a70 Fix up fallout from r187156.
The previous change caused the driver to translate -Wa,-L to the
-msave-temp-labels option for cc1as, but cc1as did not accept that option.
This patch follows the same approach used for similar options (-relax-all,
-noexecstack) in the previous patch.

llvm-svn: 191458
2013-09-26 21:00:51 +00:00
Argyrios Kyrtzidis 16834f1cf9 [libclang] Provide location for attributes and expose 'packed' attribute.
Patch by Loïc Jaquemet!

llvm-svn: 191345
2013-09-25 00:14:38 +00:00