Douglas Gregor
606c4ac325
Improve our uniquing of file entries when files are re-saved or are
...
overridden via remapping. Thus, when we create a "virtual" file in the
file manager, we still stat() the real file that lives behind it so
that we can provide proper uniquing based on inodes. This helps keep
the file manager much more consistent.
To take advantage of this when reparsing files in libclang, we disable
the use of the stat() cache when reparsing or performing code
completion, since the stat() cache is very likely to be out of date in
this use case.
llvm-svn: 124971
2011-02-05 19:42:43 +00:00
Fariborz Jahanian
f7f04458b3
-fapple-kext cannot have 'weak' visibility in this
...
abi.
llvm-svn: 124834
2011-02-04 00:01:24 +00:00
Oscar Fuentes
edeaf16f2c
Moved here from LLVM Clang's configuration options and related macros.
...
llvm-svn: 124825
2011-02-03 22:48:20 +00:00
Daniel Dunbar
9aa47fcb55
Frontend: Switch -header-include-file output to use unbuffered raw_ostreams with
...
the atomic writes option, since the intent is that this option be set for an
entire build, which may have any number of compiler instances writing to the
same output file.
llvm-svn: 124772
2011-02-03 03:45:00 +00:00
Daniel Dunbar
1af1d2751a
Frontend: Add -header-include-file option, for allowing saving header include
...
information to a file.
llvm-svn: 124750
2011-02-02 21:11:31 +00:00
Daniel Dunbar
fb24485727
Frontend: Add support (unused) for showing all "interesting" headers, not just
...
ones outside the predefines buffer (which is what -H does).
llvm-svn: 124749
2011-02-02 21:11:24 +00:00
Benjamin Kramer
24f1d3e60a
Add NetBSD target support. Patch by Joerg Sonnenberger.
...
llvm-svn: 124736
2011-02-02 18:59:27 +00:00
Daniel Dunbar
27734fdbbf
Frontend: Factor out header include dumping (-H) into its own preprocessor
...
callbacks class.
- Aside from being generally cleaner, this also allows -H to work correctly in
modes other than standard preprocessing (e.g., -c, -MM, etc.)
llvm-svn: 124723
2011-02-02 15:41:17 +00:00
Douglas Gregor
bcbf46c7b7
Create a special allocator class for code completion, so that all of
...
the string copying goes through a single place that can have
associated state.
llvm-svn: 124698
2011-02-01 22:57:45 +00:00
Nick Lewycky
edda72658a
Add updated Debian ARM include path.
...
llvm-svn: 124684
2011-02-01 21:32:14 +00:00
Douglas Gregor
b278aafbfb
Allocate CodeCompletionString and all of its components in a
...
BumpPtrAllocator, rather than manually new/delete'ing them. This
optimization also allows us to avoid allocating memory for and copying
constant strings (e.g., "return", "class").
This also required embedding the priority and availability of results
within the code completion string, to avoid extra memory allocation
within libclang.
llvm-svn: 124673
2011-02-01 19:23:04 +00:00
Douglas Gregor
dbe3927026
Basic support for -mms-bitfields, from Carl Norum!
...
llvm-svn: 124661
2011-02-01 15:15:22 +00:00
Daniel Dunbar
a2867c7741
libclang: Don't allow RemoveFileOnSignal to be called via libclang, badness can
...
ensue.
llvm-svn: 124613
2011-01-31 22:00:44 +00:00
Daniel Dunbar
e326f9bb3e
Frontend: Add an explicit RemoveFileOnSignal flag argument, to control the
...
automatic behavior (which is undesirable in a multithreaded context).
llvm-svn: 124612
2011-01-31 22:00:42 +00:00
Nico Weber
741bf9d872
Support for -plugin-arg- with -add-plugin
...
llvm-svn: 124551
2011-01-29 21:21:49 +00:00
Douglas Gregor
ffd6dc432e
Teach ASTUnit to save the specified target features, since
...
TargetInfo::CreateTargetInfo() mangles the target options in a way
that is not idempotent. Fixes <rdar://problem/8807535>.
llvm-svn: 124382
2011-01-27 18:02:58 +00:00
Axel Naumann
63fbaeda29
TextDiagnosticPrinter.cpp: Show diagnostics as far as possible even with invalid PresomedLoc, instead of just silencing it.
...
FileManager.cpp: Allow virtual files in nonexistent directories.
FileManager.cpp: Close FileDescriptor for virtual files that correspond to actual files.
FileManager.cpp: Enable virtual files to be created even for files that were flagged as NON_EXISTENT_FILE, e.g. by a prior (unsuccessful) addFile().
ASTReader.cpp: Read a PCH even if the original source files cannot be found.
Add a test for reading a PCH of a file that has been removed and diagnostics referencing that file.
llvm-svn: 124374
2011-01-27 10:55:51 +00:00
Argyrios Kyrtzidis
c7ffd35cb7
[analyzer] Enable the self-init checker under command-line option '-analyzer-check-objc-self-init' which by default
...
is enabled by the driver for '--analyze'.
llvm-svn: 124266
2011-01-26 01:26:50 +00:00
Ted Kremenek
7e1ec9ccd8
Unbreak CMake build.
...
llvm-svn: 124235
2011-01-25 22:10:37 +00:00
Nico Weber
2992efa403
Add -add-plugin flag, which runs plugins in addition to codegen.
...
llvm-svn: 124227
2011-01-25 20:34:14 +00:00
John McCall
424cec97bd
Change QualType::getTypePtr() to return a const pointer, then change a
...
thousand other things which were (generally inadvertantly) relying on that.
llvm-svn: 123814
2011-01-19 06:33:43 +00:00
Douglas Gregor
345c1bcb80
Don't silently drop warning flags passed in to
...
clang_createTranslationUnitFromSourceFile().
llvm-svn: 123793
2011-01-19 01:02:47 +00:00
Douglas Gregor
0a791672f0
Introduce the notion of a "minimal" import of ASTs, to better support LLDB.
...
llvm-svn: 123723
2011-01-18 03:11:38 +00:00
Michael J. Spencer
f6efe58d45
Replace all uses of PathV1::exists with PathV2::fs::exists.
...
llvm-svn: 123150
2011-01-10 02:34:13 +00:00
Fariborz Jahanian
a4cfff87b9
Add all options needed to support -fapple-kext. wip.
...
llvm-svn: 122987
2011-01-07 01:05:02 +00:00
Fariborz Jahanian
3aa19e9a70
Fold -fobjc-nonfragile-abi2 into -fobjc-nonfragile-abi.
...
// rdar://8818375
llvm-svn: 122831
2011-01-04 20:05:20 +00:00
Michael J. Spencer
bc7fcc2191
Remove all uses of PathV1::GetRootDirectory.
...
llvm-svn: 122552
2010-12-25 20:09:27 +00:00
Ted Kremenek
1d56c9eed7
Add -fobjc-default-synthesized-properties flag
...
to allow us to explicitly control whether or
not Objective-C properties are default synthesized.
Currently this feature only works when using
the -fobjc-non-fragile-abi2 flag (so there is
no functionality change), but we can now turn
off this feature without turning off all the features
coupled with -fobjc-non-fragile-abi2.
llvm-svn: 122519
2010-12-23 21:35:43 +00:00
Ted Kremenek
e73571b9cc
Add WIP prototype of a new buffer overflow
...
checker based on using raw (symbolic) byte offsets
from a base region.
llvm-svn: 122469
2010-12-23 02:42:43 +00:00
Abramo Bagnara
ea4f7c7761
Introduced raw_identifier token kind.
...
llvm-svn: 122394
2010-12-22 08:23:18 +00:00
Michael J. Spencer
740857fa10
Replace all uses of PathV1::makeAbsolute with PathV2::fs::make_absolute.
...
llvm-svn: 122340
2010-12-21 16:45:57 +00:00
Michael J. Spencer
bc721825e8
Fix spelling.
...
llvm-svn: 122339
2010-12-21 16:45:42 +00:00
Francois Pichet
48e2d9e2be
Add IndirectField case in DeclContextPrinter::PrintDeclContext.
...
Fix PR8832.
llvm-svn: 122311
2010-12-21 03:08:02 +00:00
Michael J. Spencer
f28df4cdba
Replace all uses of PathV1::isAbsolute with PathV2::is_{absolute,relative}.
...
llvm-svn: 122087
2010-12-17 21:22:22 +00:00
Michael J. Spencer
d9da7a1f16
MemoryBuffer API update.
...
llvm-svn: 121956
2010-12-16 03:28:14 +00:00
Douglas Gregor
aca48a5aff
Gather cached code completions after the first reparse, not after the
...
second reparse.
llvm-svn: 121413
2010-12-09 21:27:43 +00:00
Michael J. Spencer
f25faaaffb
Use error_code instead of std::string* for MemoryBuffer.
...
llvm-svn: 121378
2010-12-09 17:36:38 +00:00
Francois Pichet
34b2113250
Remove the TypesCompatibleExprClass AST node. Merge its functionality into BinaryTypeTraitExpr.
...
llvm-svn: 121298
2010-12-08 22:35:30 +00:00
Douglas Gregor
9aeaa4d650
Use atomic operations for libclang's object count tracking.
...
llvm-svn: 121073
2010-12-07 00:05:48 +00:00
Peter Collingbourne
fafa66500b
Implement -cl-std=
...
llvm-svn: 120882
2010-12-04 01:51:40 +00:00
Peter Collingbourne
422542625b
Implement -cl-mad-enable
...
llvm-svn: 120881
2010-12-04 01:51:33 +00:00
Peter Collingbourne
61d6a75345
Implement -cl-fast-relaxed-math
...
llvm-svn: 120880
2010-12-04 01:51:23 +00:00
Peter Collingbourne
b8d9995c0e
Implement -cl-unsafe-math-optimizations
...
llvm-svn: 120879
2010-12-04 01:51:14 +00:00
Peter Collingbourne
0ba5ac8544
Implement -cl-finite-math-only
...
llvm-svn: 120878
2010-12-04 01:51:05 +00:00
Peter Collingbourne
0b69e1a628
Implement -cl-single-precision-constant
...
llvm-svn: 120877
2010-12-04 01:50:56 +00:00
Peter Collingbourne
31587c86c1
Implement -cl-opt-disable
...
llvm-svn: 120876
2010-12-04 01:50:45 +00:00
Peter Collingbourne
b8e5dd44ed
Refactor optimisation level code
...
llvm-svn: 120875
2010-12-04 01:50:36 +00:00
Peter Collingbourne
aaeb73b159
Introduce CompilerInvocation::setLangDefaults function
...
This patch refactors the CompilerInvocation code to introduce a
CompilerInvocation::setLangDefaults function, which can set up a
LangOptions with the defaults for a given language and language
standard. This function is useful for non-command line based Clang
clients which need to set up a CompilerInvocation manually for a
specific language.
llvm-svn: 120874
2010-12-04 01:50:27 +00:00
Peter Collingbourne
62089b82bb
Driver, Frontend: add CUDA language support
...
llvm-svn: 120544
2010-12-01 03:15:20 +00:00
Dan Gohman
b16def2be9
Don't check the isysroot path for Path::isValid(); if the user has
...
specified a syntactically invalid path, it's better to let the OS
diagnose the problem than to silently skip it.
llvm-svn: 120542
2010-12-01 02:59:44 +00:00