Chris Lattner
e56c786f11
make the example a bit better, encouraging people to use "suggestions of what to use" in the message :)
...
llvm-svn: 118612
2010-11-09 19:43:35 +00:00
John McCall
f71b45367f
Document Clang's support for attributes on individual enumerators and
...
tweak the documentation for deprecation-with-message. Provide __has_feature
tests for both. rdar://problem/8605692
llvm-svn: 118435
2010-11-08 19:48:17 +00:00
Blaine Garst
cfdb75891d
expand discussion of __block C++ on-stack objects
...
llvm-svn: 117618
2010-10-28 23:30:10 +00:00
Chris Lattner
4935b45d74
make it really clear that vla != flexible arrays
...
llvm-svn: 117522
2010-10-28 02:20:32 +00:00
Blaine Garst
03b99365e3
small tweaks to reflect statements of what really ever shipped. ABI is, and has been, accurate for what we ship.
...
llvm-svn: 117504
2010-10-27 22:59:01 +00:00
Blaine Garst
2314079ef0
reconcile missing typos & delete obsolete pre-SnowLeopard section w.r.t. prior repository for this document
...
llvm-svn: 117492
2010-10-27 21:22:46 +00:00
Douglas Gregor
d2893dd0b9
Document how source ranges work
...
llvm-svn: 117450
2010-10-27 16:02:28 +00:00
Michael J. Spencer
4992ca4b17
Reorganize predefined macros for all Windows targets.
...
This adds an option to set the _MSC_VER macro without
recompiling. This is very useful when testing compatibility
with the Windows SDK and c++stdlib headers.
-fmsc-version=<version> (defaults to VS2003 (1300))
llvm-svn: 116999
2010-10-21 05:21:48 +00:00
Anders Carlsson
274a70ed7f
Add a __has_attribute macro that works much like __has_feature and __has_builtin.
...
llvm-svn: 116906
2010-10-20 02:31:43 +00:00
Chris Lattner
a09e8efd1f
Per discussion with Sanjiv, remove the PIC16 target from mainline. When/if
...
it comes back, it will be largely a rewrite, so keeping the old codebase
in tree isn't helping anyone.
llvm-svn: 116191
2010-10-11 05:44:49 +00:00
Douglas Gregor
0bf3140424
Implement C++0x scoped enumerations, from Daniel Wallin! (and tweaked a
...
bit by me).
llvm-svn: 116122
2010-10-08 23:50:27 +00:00
Douglas Gregor
63b0a1e9fb
Fix a typo in the Clang man page, from Alexander Best.
...
llvm-svn: 116102
2010-10-08 21:03:07 +00:00
Fariborz Jahanian
c74073cd20
Patch for adding message to unavailable attribute.
...
And its documentation.
Finishes off // rdar: // 6734520.
llvm-svn: 115862
2010-10-06 23:12:32 +00:00
Douglas Gregor
7fb25418ed
Implement the C++0x "trailing return type" feature, e.g.,
...
auto f(int) -> int
from Daniel Wallin!
(With a few minor bug fixes from me).
llvm-svn: 115322
2010-10-01 18:44:50 +00:00
Douglas Gregor
3aa045491f
Update Clang man page to say a little bit more about C++
...
llvm-svn: 114735
2010-09-24 17:26:14 +00:00
Daniel Dunbar
c1dd0e97f3
Driver/Objective-C: Retool Objective-C ABI flags to be more usable, and actually
...
document behavior. Will wonders never cease.
llvm-svn: 114334
2010-09-20 18:19:55 +00:00
Daniel Dunbar
549decf4cc
Update users manual comments on X86 and ARM support.
...
llvm-svn: 114311
2010-09-19 19:26:59 +00:00
Daniel Dunbar
092b6fb187
Driver: Add a -stdlib= argument which can be used to select the C++ standard
...
library to use.
- This is currently useful for testing libc++; you can now use 'clang++
-stdlib=libc++ t.cpp' to compile using it if installed.
- In the future could also be used to select other standard library choices if
alternatives become available (for example, to use an alternate C library).
llvm-svn: 113891
2010-09-14 23:12:40 +00:00
Argyrios Kyrtzidis
2716b9ae54
Update 'docs/PCHInternals.html' about how subexpressions are stored.
...
llvm-svn: 113760
2010-09-13 17:48:02 +00:00
Douglas Gregor
c6876fe121
Document our extension to constant-fold __builtin_strlen and strlen
...
llvm-svn: 113699
2010-09-11 18:08:34 +00:00
John McCall
e37a619715
Update the internals manual for the removal of Action, as well as other
...
changes that are much older.
llvm-svn: 112951
2010-09-03 05:07:55 +00:00
Dawn Perchik
68bb1b441f
Add support for Borland extensions via option -fborland-extensions
...
(original patch r112791 was reverted due to a bug).
llvm-svn: 112915
2010-09-02 23:59:25 +00:00
Dawn Perchik
f0882f90f3
Reverting rev 112791 - apparently -fborland-extensions is on all the time?!
...
llvm-svn: 112797
2010-09-02 02:18:55 +00:00
Dawn Perchik
1fcc18c7bc
Add support for Borland extensions via option -fborland-extensions
...
llvm-svn: 112791
2010-09-02 01:12:01 +00:00
Sebastian Redl
a93bb5b807
Implement __has_feature(cxx_inline_namespaces)
...
llvm-svn: 112671
2010-08-31 23:28:47 +00:00
Ted Kremenek
800ad06e8c
Document '__clang_analyzer__'.
...
llvm-svn: 111935
2010-08-24 18:12:35 +00:00
Douglas Gregor
34a462538e
Clarify documentation of escaping for backslash
...
llvm-svn: 111806
2010-08-23 14:03:03 +00:00
Douglas Gregor
12e2a06824
Eliminate some extraneous whitespace in the machine-parseable Fix-It output.
...
llvm-svn: 111610
2010-08-20 03:17:33 +00:00
Douglas Gregor
a03c296e79
Fix some typos in the documentation of -fdiagnostics-parseable-fixits. Typos by me, patch by Eelis van der Weegen
...
llvm-svn: 111573
2010-08-19 23:31:13 +00:00
Douglas Gregor
eec975ce5a
Add machine-parseable Fix-It output as part of diagnostics, under the
...
flag -fdiagnostics-parseable-fixits, from Eelis van der Weegen!
llvm-svn: 111557
2010-08-19 20:24:43 +00:00
Daniel Dunbar
71323e66b6
Remove a gratuitous lie.
...
llvm-svn: 111253
2010-08-17 17:34:48 +00:00
Daniel Dunbar
1b8842d981
Update UsersManual, we support '#pragma align' now.
...
llvm-svn: 110040
2010-08-02 15:36:37 +00:00
Douglas Gregor
137b27da2e
Document -f{no-}color-diagnostics
...
llvm-svn: 107985
2010-07-09 16:31:58 +00:00
Sebastian Redl
595c51342c
Some preparatory work for chained PCH. No functionality change.
...
llvm-svn: 107915
2010-07-08 22:01:51 +00:00
Sebastian Redl
bbace2a63d
Fix a few errors in the internals doc.
...
llvm-svn: 107838
2010-07-07 23:42:27 +00:00
Douglas Gregor
b7b04ae204
Remove redundant and incomplete bits from the users manual w.r.t. language conformance
...
llvm-svn: 107326
2010-06-30 22:04:24 +00:00
Daniel Dunbar
283fe3d07a
build: Get CLANG_VERSION from Version.inc instead of depending on VER file directly.
...
llvm-svn: 106864
2010-06-25 17:33:49 +00:00
Daniel Dunbar
e6c1daa8fd
Makefile: Switch Clang Makefiles to always include the top-level Clang Makefile.
...
- This eliminates most dependencies on how Clang is installed relative to LLVM.
llvm-svn: 105637
2010-06-08 20:34:18 +00:00
Jeffrey Yasskin
caa710dfd2
PR7245: Make binding a reference to a temporary without a usable copy
...
constructor into an extension warning into the error that C++98 requires.
llvm-svn: 105529
2010-06-07 15:58:05 +00:00
Jeffrey Yasskin
2f96e9f5c9
Add an extension to avoid an error when a global template has the same name as
...
a member template, and you try to call the member template with an explicit
template argument. See PR7247
For example, this downgrades the error to a warning in:
template<typename T> struct set{};
struct Value {
template<typename T>
void set(T value) {
}
};
void foo() {
Value v;
v.set<double>(3.2); // Warning here.
}
llvm-svn: 105518
2010-06-05 01:39:57 +00:00
Chris Lattner
f3d0436077
fix incorrect tag
...
llvm-svn: 105189
2010-05-30 23:42:51 +00:00
Daniel Dunbar
406e3826e0
Update "users manual", PR2461 has been fixed.
...
llvm-svn: 104997
2010-05-28 19:43:31 +00:00
Nick Lewycky
42f9ba3790
Fix typo.
...
llvm-svn: 104898
2010-05-27 23:40:55 +00:00
Nick Lewycky
de2291a717
Grammar fix: s/it's/its/g in
...
"it's spelling location and it's instantiation location"
llvm-svn: 104746
2010-05-26 21:48:10 +00:00
Chris Lattner
b997626120
push categories forward a bit more: document them, add some
...
major buckets to catch parser and sema issues, add inline asm
category, and make diag groups take precedence over the
sweeping categories just added.
llvm-svn: 104561
2010-05-24 21:35:18 +00:00
Daniel Dunbar
95dff818e7
docs: Man page tweaks, to mention the integrated assembler and the
...
-integrated-as and -no-integrated-as options.
llvm-svn: 104304
2010-05-21 00:28:14 +00:00
mike-m
9f08a6f1a8
Reverted r103214.
...
llvm-svn: 103222
2010-05-07 00:42:33 +00:00
mike-m
9bb682b713
2nd part of: Overhauled llvm/clang docs builds.
...
llvm-svn: 103214
2010-05-06 23:46:27 +00:00
Chris Lattner
336119f089
document -fdiagnostics-show-category
...
llvm-svn: 103067
2010-05-05 01:35:28 +00:00
Chris Lattner
ef8c6e8ba7
fix a broken link, diagnostickinds.td was fissioned.
...
llvm-svn: 102851
2010-05-01 17:35:19 +00:00
Douglas Gregor
6602c25c0c
Add Clang version inspection macros. Fixes PR6681.
...
llvm-svn: 102686
2010-04-30 02:51:06 +00:00
Nick Lewycky
e97d39b0f2
concepts is not a keyword here and fix copy-pasto.
...
llvm-svn: 102172
2010-04-23 06:09:40 +00:00
Douglas Gregor
ffed1cb339
Introduce a limit on the depth of the template instantiation backtrace
...
we will print with each error that occurs during template
instantiation. When the backtrace is longer than that, we will print
N/2 of the innermost backtrace entries and N/2 of the outermost
backtrace entries, then skip the middle entries with a note such as:
note: suppressed 2 template instantiation contexts; use
-ftemplate-backtrace-limit=N to change the number of template
instantiation entries shown
This should eliminate some excessively long backtraces that aren't
providing any value.
llvm-svn: 101882
2010-04-20 07:18:24 +00:00
Chris Lattner
b35583df52
add a new driver-level -ferror-limit=412 option, which causes clang to stop
...
emitting diagnostics after it has produced that many errors. Give this a
default value of 20 which produces plenty of errors for people to fix before
recompiling but not so many that their entire console scrolls away when the
compiler gets confused. The experience looks like this:
$ clang foo.c
<tons of crap>
foo.c:102:3: error: unknown type name 'somethingbad'
somethingbad x;
^
fatal error: too many errors emitted, stopping now
36 warnings and 20 errors generated.
llvm-svn: 100689
2010-04-07 20:49:23 +00:00
Blaine Garst
55050630a9
improved wording around ABI
...
llvm-svn: 100536
2010-04-06 17:46:43 +00:00
Rafael Espindola
fcc4739089
Document common clang compatibility issues.
...
Patch by Zhanyong Wan.
llvm-svn: 98708
2010-03-17 04:31:53 +00:00
Blaine Garst
a41f71212a
fix copyright & typo
...
llvm-svn: 98688
2010-03-16 22:02:16 +00:00
Chris Lattner
87c5e2f5d4
update link
...
llvm-svn: 98682
2010-03-16 21:43:03 +00:00
Blaine Garst
ade4303e2b
at least give the Apple ABI a name that reflects Apple in prep for other ABI specs that might come along
...
llvm-svn: 98678
2010-03-16 21:22:41 +00:00
Blaine Garst
1832cdb2d3
rev existing doc to account for recent ABI changes
...
llvm-svn: 98676
2010-03-16 21:21:07 +00:00
Erick Tryzelaar
e62248a79c
Use LLVM's new DESTDIR-less PROJ_* variables.
...
llvm-svn: 97744
2010-03-04 20:57:19 +00:00
Douglas Gregor
bb26a92239
Update Clang C++ status, with a more project-centric focus.
...
llvm-svn: 95455
2010-02-05 23:51:14 +00:00
Owen Anderson
029eb7d243
Clarify the documentation of ext_vector, and add a small example. Hopefully
...
this will alleviate some confusion about the existence of this feature.
Comments/improvements welcome.
llvm-svn: 94645
2010-01-27 01:22:36 +00:00
John McCall
98757030a4
Document the extensions I made to the diagnostics-formatting system yesterday.
...
llvm-svn: 93439
2010-01-14 19:12:17 +00:00
Douglas Gregor
b89b99f1f2
Fix pasto in __has_feature(cxx_lambdas) docs
...
llvm-svn: 93320
2010-01-13 16:27:49 +00:00
Alexis Hunt
af4e28d897
Add a bunch more feature-checking macros for C++0x features. Some of these are
...
disabled with the intent that users can start with them now and not have to change
a thing to have them work when we implement the features.
llvm-svn: 93312
2010-01-13 08:31:49 +00:00
Nuno Lopes
641fdce235
revert part of my last patch, and mark only the c++ global new operator as noalias. the rest will be infered by llvm optz
...
llvm-svn: 91600
2009-12-17 10:15:49 +00:00
Nuno Lopes
ff22e5e8cb
document -fno-assume-sane-operator-new, per Chris request.
...
please review for English grammar mistakes
llvm-svn: 91599
2009-12-17 10:00:52 +00:00
Mike Stump
64a03454c6
Refine a little. WIP.
...
llvm-svn: 91502
2009-12-16 03:25:12 +00:00
Mike Stump
11ba8d989c
Add some documentation for recent checkins. WIP.
...
llvm-svn: 91500
2009-12-16 03:18:14 +00:00
Mike Stump
68943780a6
Add documentation for recently added code. WIP.
...
llvm-svn: 91367
2009-12-14 23:53:10 +00:00
Daniel Dunbar
0910cf54ac
Update a few more docs references to clang-cc.
...
llvm-svn: 91178
2009-12-11 23:17:03 +00:00
Zhongxing Xu
9ad590125c
brace completion.
...
llvm-svn: 90833
2009-12-08 05:05:26 +00:00
Ted Kremenek
72de23e8ab
Fix typo.
...
llvm-svn: 90390
2009-12-03 02:06:43 +00:00
Ted Kremenek
71d7463797
Add __has_feature(cxx_exceptions) and __has_feature(cxx_rtti) to table of contents.
...
llvm-svn: 90389
2009-12-03 02:05:57 +00:00
Ted Kremenek
51540f9377
Add section on what language features __has_feature() supports for querying if they are enabled.
...
llvm-svn: 90388
2009-12-03 02:04:01 +00:00
Douglas Gregor
44ab140001
Fix a broken link
...
llvm-svn: 86545
2009-11-09 15:15:41 +00:00
John Thompson
ac0b098d4d
Added __has_include and __has_include_next.
...
llvm-svn: 85834
2009-11-02 22:28:12 +00:00
Rafael Espindola
bb85c2644a
Document -nobuiltininc
...
llvm-svn: 85188
2009-10-27 00:29:40 +00:00
Chris Lattner
bf20638966
Implement __builtin_unreachable(), a GCC 4.5 extension.
...
llvm-svn: 82433
2009-09-21 03:09:59 +00:00
Chris Lattner
c15c252007
grammaro
...
llvm-svn: 82070
2009-09-16 18:56:12 +00:00
Mike Stump
b4bed3a497
Collapse more clang version numbers down into fewer places.
...
llvm-svn: 81983
2009-09-16 01:26:05 +00:00
Mike Stump
e18856dad1
Back to 1.1 we go.
...
llvm-svn: 81944
2009-09-15 23:04:22 +00:00
Chris Lattner
f8122966a9
clang tracks multiple levels of macro expansion
...
llvm-svn: 81811
2009-09-14 23:44:08 +00:00
Daniel Dunbar
5e2de9fe00
Some formatting tweaks to clang(1)
...
llvm-svn: 81668
2009-09-13 02:21:55 +00:00
Eli Friedman
a3063cec14
As far as I know, there aren't any warning differences between -std=gnu99 and
...
-std=c99 modes, etc.
llvm-svn: 80133
2009-08-26 20:18:00 +00:00
Daniel Dunbar
f944cc5347
Fix a few typos.
...
llvm-svn: 78991
2009-08-14 04:43:04 +00:00
Chris Lattner
7bad9ef8ae
document the diagnostics pragmas, patch by Louis Gerbarg!
...
llvm-svn: 75432
2009-07-12 21:22:10 +00:00
Argyrios Kyrtzidis
bff082aec9
Add documentation for the Index library to clang's web page.
...
llvm-svn: 75222
2009-07-10 03:41:36 +00:00
Douglas Gregor
0086a5a3bb
Introduce the notion of "Relocatable" precompiled headers, which are built
...
with a particular system root directory and can be used with a different
system root directory when the headers it depends on have been installed.
Relocatable precompiled headers rewrite the file names of the headers used
when generating the PCH file into the corresponding file names of the
headers available when using the PCH file.
Addresses <rdar://problem/7001604>.
llvm-svn: 74885
2009-07-07 00:12:59 +00:00
Nick Lewycky
be42c11118
Fix "for all intensive purposes" to "for all intents and purposes".
...
llvm-svn: 73323
2009-06-14 04:08:08 +00:00
Chris Lattner
084776d08b
fix typo
...
llvm-svn: 73304
2009-06-13 20:35:58 +00:00
Chris Lattner
60ac6b9dce
a couple minor tweaks
...
llvm-svn: 73296
2009-06-13 18:11:10 +00:00
Chris Lattner
b6f77af532
implement and document a new __has_feature and __has_builtin magic
...
builtin preprocessor macro. This appears to work with two caveats:
1) builtins are registered in -E mode, and 2) target-specific builtins
are unconditionally registered even if they aren't supported by the
target (e.g. SSE4 builtin when only SSE1 is enabled).
llvm-svn: 73289
2009-06-13 07:13:28 +00:00
Eli Friedman
7983cb1dbe
Minor formatting tweak.
...
llvm-svn: 73251
2009-06-12 20:11:05 +00:00
Eli Friedman
0f7d4455fe
Fix a minor formatting mistake.
...
llvm-svn: 73250
2009-06-12 20:08:48 +00:00
Eli Friedman
4e20479de8
Some updates to the gcc extension sections of the users manual.
...
llvm-svn: 73249
2009-06-12 20:04:25 +00:00
Eli Friedman
4d38aeb372
Minor documentation update about Microsoft extensions.
...
llvm-svn: 73052
2009-06-08 06:21:03 +00:00
Eli Friedman
3a80fc3808
Say a bit about various architectures in the users manual.
...
llvm-svn: 73044
2009-06-08 05:12:39 +00:00
Daniel Dunbar
15b86228cf
Mention unsupported GCC duplicate-definition-with-inline extension.
...
Also, link users manual from the main web page.
llvm-svn: 72878
2009-06-04 18:37:52 +00:00
Douglas Gregor
b48c6eb794
PTH -> PCH in the user manual
...
llvm-svn: 72815
2009-06-03 22:37:00 +00:00
Douglas Gregor
277d4d355b
HTML tweak to get the PCH internals documentation to display correctly
...
llvm-svn: 72813
2009-06-03 21:57:43 +00:00
Douglas Gregor
22c7d31a3f
Finished the PCH design and implementation documentation
...
llvm-svn: 72812
2009-06-03 21:55:35 +00:00
Douglas Gregor
6c5d61ca09
Document the integration points for precompiled headers
...
llvm-svn: 72809
2009-06-03 21:41:31 +00:00
Douglas Gregor
a3bd665e17
Add a table of contents to the PCH design document
...
llvm-svn: 72791
2009-06-03 18:35:59 +00:00
Douglas Gregor
8662d1ffd0
Document the PCH representation of statements and expressions
...
llvm-svn: 72790
2009-06-03 18:26:16 +00:00
Douglas Gregor
02a109f6d7
Fill in some gaps in the precompiled headers documentation
...
llvm-svn: 72779
2009-06-03 16:06:22 +00:00
Douglas Gregor
f727bb18d9
More PCH documentation
...
llvm-svn: 72743
2009-06-02 22:08:07 +00:00
Eli Friedman
164da6618e
A couple minor corrections to the "GCC extensions not implemented yet"
...
section of the users manual.
llvm-svn: 72725
2009-06-02 08:21:31 +00:00
Eli Friedman
b5f33c1634
A few tweaks to the "Differences between various standard modes"
...
section.
llvm-svn: 72501
2009-05-27 23:02:57 +00:00
Douglas Gregor
95fc37fd8f
Start documenting precompiled headers
...
llvm-svn: 72146
2009-05-20 00:16:32 +00:00
Daniel Dunbar
f7a24e176c
Several fixes to the clang man page.
...
- -emit-llvm isn't a stage selection option.
- Document -O4 and -flto.
- -ObjC++ and -ObjC apply to all inputs, not subsequent ones.
- Some versions of pod2man aren't happy about the comment after =over=?
- Some minor grammar fixes.
llvm-svn: 72044
2009-05-18 21:34:46 +00:00
Eli Friedman
c3dcdd0980
A few minor updates to the user manual.
...
llvm-svn: 71964
2009-05-16 23:17:30 +00:00
Daniel Dunbar
ffe4e63b40
Note that clang follows the MSVC definition for #pragma pack.
...
llvm-svn: 71725
2009-05-13 21:40:49 +00:00
Daniel Dunbar
98d7164ab0
Tweak wording
...
llvm-svn: 71611
2009-05-13 00:23:53 +00:00
Daniel Dunbar
e83b560e06
Note a few more unsupported language extensions.
...
llvm-svn: 71607
2009-05-12 23:12:07 +00:00
Chris Lattner
32efff659c
wrap up a version of the man page that is minimally helpful, but somewhat complete.
...
llvm-svn: 71524
2009-05-12 00:47:40 +00:00
Chris Lattner
66c64f9ba4
add some more content.
...
llvm-svn: 71518
2009-05-12 00:01:32 +00:00
Chris Lattner
e3c3f40404
pull a bunch of options out of clang-cc.cpp. This doesn't include
...
options that the driver swizzles.
llvm-svn: 71487
2009-05-11 22:45:37 +00:00
Daniel Dunbar
16af476c42
Document environment variables we handle, and don't mention -pipe (it
...
isn't yet supported... lazy developers).
llvm-svn: 71109
2009-05-06 19:18:09 +00:00
Chris Lattner
164ac10f82
More content.
...
llvm-svn: 71088
2009-05-06 17:22:08 +00:00
Chris Lattner
2080787636
add some content
...
llvm-svn: 71059
2009-05-06 02:47:51 +00:00
Daniel Dunbar
94fa27171b
Override some pod2man defaults.
...
llvm-svn: 71045
2009-05-06 00:10:37 +00:00
Chris Lattner
b732397343
257 -> FS
...
llvm-svn: 70996
2009-05-05 18:54:47 +00:00
Daniel Dunbar
6d0eecad6c
Make install target actually work, dependencies FTW.
...
llvm-svn: 70599
2009-05-01 23:34:58 +00:00
Daniel Dunbar
c52d01f8d9
Add ONLY_MAN_DOCS variable to only install the man page, not the html
...
and ps documentation.
llvm-svn: 70589
2009-05-01 23:11:42 +00:00
Daniel Dunbar
c1b1658751
Add incredibly bare bones docs/tools.
...
- Mirroring LLVM's docs/CommandGuide, a place to put .pod files which
are used to generate man/html/etc documentation for tools provided
as part of clang.
llvm-svn: 70355
2009-04-29 01:00:32 +00:00
Eli Friedman
5406f5430b
Add some text to the user manual describing the current state of C
...
support in clang.
llvm-svn: 70314
2009-04-28 18:48:34 +00:00
Ted Kremenek
dab465d820
Grammar fix.
...
llvm-svn: 69682
2009-04-21 17:14:24 +00:00
Chris Lattner
a80b2bdb25
document new form of -fdiagnostics-print-source-range-in
...
llvm-svn: 69663
2009-04-21 05:35:32 +00:00
Zhongxing Xu
2f8198f82a
update the doc.
...
llvm-svn: 69587
2009-04-20 10:09:10 +00:00
Chris Lattner
396b9c380a
more stuff.
...
llvm-svn: 69576
2009-04-20 06:26:18 +00:00
Chris Lattner
5ed5e9a612
add a bunch of diagnostics options, add one example warning group.
...
llvm-svn: 69573
2009-04-20 06:00:23 +00:00
Chris Lattner
6840825137
slurp some content from the PTH doc into the user's doc.
...
llvm-svn: 69569
2009-04-20 04:37:38 +00:00
Chris Lattner
f9d8913b80
initial skeleton of a user's manual.
...
llvm-svn: 69568
2009-04-20 04:23:09 +00:00
Daniel Dunbar
2355ea2625
Some more tweaks to driver documentation.
...
llvm-svn: 69504
2009-04-19 02:33:12 +00:00
Chris Lattner
ecbcb3ab0b
minor typographical fixes
...
llvm-svn: 69502
2009-04-19 02:02:45 +00:00
Chris Lattner
7de6456593
mention the non-standard builtin macros we support.
...
llvm-svn: 68935
2009-04-13 02:45:46 +00:00
Zhongxing Xu
a720c8b1c9
update analyzer doc.
...
llvm-svn: 68773
2009-04-10 06:52:49 +00:00
Chris Lattner
bb72f77416
typos
...
llvm-svn: 68770
2009-04-10 05:54:56 +00:00
Ted Kremenek
86ee059a3a
Wording changes.
...
llvm-svn: 68766
2009-04-10 05:04:22 +00:00
Ted Kremenek
a9deb97190
Add blurb about attribute "analyzer_noreturn"
...
llvm-svn: 68765
2009-04-10 05:03:33 +00:00
Chris Lattner
c86ffc3583
document the x86 address space extension for GS.
...
llvm-svn: 68724
2009-04-09 19:58:15 +00:00
Ted Kremenek
11e13fae69
Fix grammar. Bold face feature points.
...
llvm-svn: 68720
2009-04-09 18:22:40 +00:00
Ted Kremenek
4adfee4ff7
More cleanup.
...
llvm-svn: 68719
2009-04-09 18:20:08 +00:00
Ted Kremenek
8918025272
More cleanups.
...
llvm-svn: 68718
2009-04-09 18:17:39 +00:00
Ted Kremenek
df0d9070b8
Add link from internals manual to PTH documentation.
...
llvm-svn: 68717
2009-04-09 18:08:18 +00:00
Ted Kremenek
6b27a811c6
Minor cleanups. Added a blurb about the advantages of fast PTH file generation.
...
llvm-svn: 68716
2009-04-09 18:03:21 +00:00
Chris Lattner
937b68b201
use escapes.
...
llvm-svn: 68600
2009-04-08 06:00:32 +00:00
Chris Lattner
1659301bed
some minor edits
...
llvm-svn: 68599
2009-04-08 05:50:25 +00:00
Ted Kremenek
d969f5fb6f
Initial draft of PTH internals.
...
llvm-svn: 68594
2009-04-08 05:07:30 +00:00
Ted Kremenek
5d71204390
Convert region-design document to HTML.
...
llvm-svn: 68366
2009-04-03 01:38:55 +00:00
Zhongxing Xu
43533c7f40
update docs. Replace 'lattice' with 'tree'.
...
llvm-svn: 68271
2009-04-02 01:14:56 +00:00
Zhongxing Xu
034247130e
Update docs.
...
llvm-svn: 68191
2009-04-01 06:01:08 +00:00
Zhongxing Xu
dcb7a35294
Adjust doc format.
...
llvm-svn: 68190
2009-04-01 05:26:39 +00:00
Zhongxing Xu
1b1d3f6b0c
update docs.
...
llvm-svn: 68188
2009-04-01 05:05:22 +00:00
Zhongxing Xu
c473a44507
Update docs.
...
llvm-svn: 68183
2009-04-01 03:23:38 +00:00
Daniel Dunbar
1cd3f8c54f
Some very rough Driver documentation.
...
llvm-svn: 68030
2009-03-30 06:50:01 +00:00
Ted Kremenek
2f41ffe825
Add a high-level intro to the memory regions design document.
...
llvm-svn: 67759
2009-03-26 16:19:54 +00:00
Ted Kremenek
a32f7a124a
Move "regions" analyzer design document to 'docs'.
...
llvm-svn: 67752
2009-03-26 15:29:38 +00:00
Chris Lattner
14aea9a39c
link to blocks dox
...
llvm-svn: 66414
2009-03-09 07:03:22 +00:00
Chris Lattner
d6daa1dafd
add some description of the block language extension.
...
llvm-svn: 66413
2009-03-09 07:01:20 +00:00
Chris Lattner
da84e0d516
The long-rumored blocks implementation document.
...
llvm-svn: 66410
2009-03-09 06:57:46 +00:00
Chris Lattner
9605a55076
minor wording changes.
...
llvm-svn: 65648
2009-02-27 19:31:12 +00:00
Douglas Gregor
96977da72c
Clean up and document code modification hints.
...
llvm-svn: 65641
2009-02-27 17:53:17 +00:00
Douglas Gregor
7f74112756
Implement parsing of nested-name-specifiers that involve template-ids, e.g.,
...
std::vector<int>::allocator_type
When we parse a template-id that names a type, it will become either a
template-id annotation (which is a parsed representation of a
template-id that has not yet been through semantic analysis) or a
typename annotation (where semantic analysis has resolved the
template-id to an actual type), depending on the context. We only
produce a type in contexts where we know that we only need type
information, e.g., in a type specifier. Otherwise, we create a
template-id annotation that can later be "upgraded" by transforming it
into a typename annotation when the parser needs a type. This occurs,
for example, when we've parsed "std::vector<int>" above and then see
the '::' after it. However, it means that when writing something like
this:
template<> class Outer::Inner<int> { ... };
We have two tokens to represent Outer::Inner<int>: one token for the
nested name specifier Outer::, and one template-id annotation token
for Inner<int>, which will be passed to semantic analysis to define
the class template specialization.
Most of the churn in the template tests in this patch come from an
improvement in our error recovery from ill-formed template-ids.
llvm-svn: 65467
2009-02-25 19:37:18 +00:00
Chris Lattner
faca7d9842
fix typo
...
llvm-svn: 64966
2009-02-18 22:27:46 +00:00
Douglas Gregor
94349fd8cb
Allow "overloadable" functions in C to be declared as variadic without
...
any named parameters, e.g., this is accepted in C:
void f(...) __attribute__((overloadable));
although this would be rejected:
void f(...);
To do this, moved the checking of the "ellipsis without any named
arguments" condition from the parser into Sema (where it belongs anyway).
llvm-svn: 64902
2009-02-18 07:07:28 +00:00
Daniel Dunbar
393900ef52
Grammar tweak.
...
llvm-svn: 64765
2009-02-17 15:49:03 +00:00
Chris Lattner
1156f18175
clarify the behavior of note.
...
llvm-svn: 64748
2009-02-17 07:07:29 +00:00
Chris Lattner
b3ef533286
wrap some crazy long lines.
...
llvm-svn: 64489
2009-02-13 21:51:45 +00:00
Chris Lattner
9631dfd1c1
document __builtin_shufflevector
...
llvm-svn: 64485
2009-02-13 20:00:20 +00:00
Douglas Gregor
725de57b7d
Add documentation for overloaded functions in C
...
llvm-svn: 64423
2009-02-13 00:57:04 +00:00
Chris Lattner
b8ec6bbb6a
new document.
...
llvm-svn: 64127
2009-02-09 08:46:11 +00:00
Chris Lattner
9d6c4408d1
document fatal
...
llvm-svn: 63895
2009-02-05 22:49:08 +00:00
Douglas Gregor
2ada048975
Some name-lookup-related fixes, from Piotr Rak!
...
- Changes Lookup*Name functions to return NamedDecls, instead of
Decls. Unfortunately my recent statement that it will simplify lot of
code, was not quite right, but it simplifies some...
- Makes MergeLookupResult SmallPtrSet instead of vector, following
Douglas suggestions.
- Adds %qN format for printing qualified names to Diagnostic.
- Avoids searching for using-directives in Scopes, which are not
DeclScope, during unqualified name lookup.
llvm-svn: 63739
2009-02-04 17:27:36 +00:00
Steve Naroff
16c8e598ae
Name change (isTypeName->getTypeName).
...
Since it doesn't return a bool, is shouldn't be prefixed with 'is'.
llvm-svn: 63226
2009-01-28 19:39:02 +00:00
Douglas Gregor
6e6ad602e5
Remove ScopedDecl, collapsing all of its functionality into Decl, so
...
that every declaration lives inside a DeclContext.
Moved several things that don't have names but were ScopedDecls (and,
therefore, NamedDecls) to inherit from Decl rather than NamedDecl,
including ObjCImplementationDecl and LinkageSpecDecl. Now, we don't
store empty DeclarationNames for these things, nor do we try to insert
them into DeclContext's lookup structure.
The serialization tests are temporarily disabled. We'll re-enable them
once we've sorted out the remaining ownership/serialiazation issues
between DeclContexts and TranslationUnion, DeclGroups, etc.
llvm-svn: 62562
2009-01-20 01:17:11 +00:00
Chris Lattner
3c91971b33
rename "virtual location" of a macro to "instantiation location".
...
llvm-svn: 62315
2009-01-16 07:15:35 +00:00
Chris Lattner
ca0c7e5a34
update for terminology change.
...
llvm-svn: 62310
2009-01-16 07:00:50 +00:00
Cedric Venet
9fee535c84
Fix a typo.
...
llvm-svn: 61815
2009-01-06 16:22:54 +00:00
Chris Lattner
479ecd7151
document annotation tokens.
...
llvm-svn: 61792
2009-01-06 06:02:08 +00:00
Douglas Gregor
07665a69e8
Introduce support for "transparent" DeclContexts, which are
...
DeclContexts whose members are visible from enclosing DeclContexts up
to (and including) the innermost enclosing non-transparent
DeclContexts. Transparent DeclContexts unify the mechanism to be used
for various language features, including C enumerations, anonymous
unions, C++0x inline namespaces, and C++ linkage
specifications. Please refer to the documentation in the Clang
internals manual for more information.
Only enumerations and linkage specifications currently use transparent
DeclContexts.
Still to do: use transparent DeclContexts to implement anonymous
unions and GCC's anonymous structs extension, and, later, the C++0x
features. We also need to tighten up the DeclContext/ScopedDecl link
to ensure that every ScopedDecl is in a single DeclContext, which
will ensure that we can then enforce ownership and reduce the memory
footprint of DeclContext.
llvm-svn: 61735
2009-01-05 19:45:36 +00:00
Chris Lattner
04397358ec
Implement the final (hopefully) wrinkle to i-c-e + builtin_constant_p
...
processing: it allows arbitrary foldable constants as the operand of ?: when
builtin_constant_p is the condition.
llvm-svn: 60954
2008-12-12 18:00:51 +00:00
Chris Lattner
85b25bc344
implement rdar://6091492 - ?: with __builtin_constant_p as the operand is an i-c-e.
...
llvm-svn: 60934
2008-12-12 06:55:44 +00:00
Chris Lattner
e4b95698df
Rename Selector::getName() to Selector::getAsString(), and add
...
a new NamedDecl::getAsString() method.
Change uses of Selector::getName() to just pass in a Selector
where possible (e.g. to diagnostics) instead of going through
an std::string.
This also adds new formatters for objcinstance and objcclass
as described in the dox.
llvm-svn: 59933
2008-11-24 03:33:13 +00:00
Chris Lattner
d125393d24
inserting a qualtype adds quotes implicitly
...
llvm-svn: 59915
2008-11-23 20:27:13 +00:00
Chris Lattner
4e2e9f1a5d
other minor edits.
...
llvm-svn: 59906
2008-11-23 08:32:53 +00:00
Chris Lattner
c788a8bdec
minor cleanups.
...
llvm-svn: 59905
2008-11-23 08:16:56 +00:00
Chris Lattner
1fea89ccb1
finish up the diagnostics documentation. We don't
...
support QualType and DeclarationName yet, so some of it
is lies, however, this will be fixed shortly.
llvm-svn: 59896
2008-11-23 00:42:53 +00:00
Chris Lattner
80bec16f14
more updates
...
llvm-svn: 59895
2008-11-23 00:28:33 +00:00
Chris Lattner
cc6147cd3b
finish documentation of %select.
...
llvm-svn: 59892
2008-11-22 23:50:47 +00:00
Sebastian Redl
6cae80da20
Documentation for the plural modifier.
...
llvm-svn: 59885
2008-11-22 22:16:45 +00:00
Chris Lattner
e72a8a3048
start documenting Diagnostics. Sebastian, I'd appreciate it
...
if you can fill in the section for %plural.
llvm-svn: 59883
2008-11-22 21:41:31 +00:00
Douglas Gregor
163c58502a
Extend DeclarationName to support C++ overloaded operators, e.g.,
...
operator+, directly, using the same mechanism as all other special
names.
Removed the "special" identifiers for the overloaded operators from
the identifier table and IdentifierInfo data structure. IdentifierInfo
is back to representing only real identifiers.
Added a new Action, ActOnOperatorFunctionIdExpr, that builds an
expression from an parsed operator-function-id (e.g., "operator
+"). ActOnIdentifierExpr used to do this job, but
operator-function-ids are no longer represented by IdentifierInfo's.
Extended Declarator to store overloaded operator names.
Sema::GetNameForDeclarator now knows how to turn the operator
name into a DeclarationName for the overloaded operator.
Except for (perhaps) consolidating the functionality of
ActOnIdentifier, ActOnOperatorFunctionIdExpr, and
ActOnConversionFunctionExpr into a common routine that builds an
appropriate DeclRefExpr by looking up a DeclarationName, all of the
work on normalizing declaration names should be complete with this
commit.
llvm-svn: 59526
2008-11-18 14:39:36 +00:00
Douglas Gregor
ae2fbad373
Updated IdentifierResolver to deal with DeclarationNames. The names of
...
C++ constructors, destructors, and conversion functions now have a
FETokenInfo field that IdentifierResolver can access, so that these
special names are handled just like ordinary identifiers. A few other
Sema routines now use DeclarationNames instead of IdentifierInfo*'s.
To validate this design, this code also implements parsing and
semantic analysis for id-expressions that name conversion functions,
e.g.,
return operator bool();
The new parser action ActOnConversionFunctionExpr takes the result of
parsing "operator type-id" and turning it into an expression, using
the IdentifierResolver with the DeclarationName of the conversion
function. ActOnDeclarator pushes those conversion function names into
scope so that the IdentifierResolver can find them, of course.
llvm-svn: 59462
2008-11-17 20:34:05 +00:00
Douglas Gregor
77324f3854
Introduction the DeclarationName class, as a single, general method of
...
representing the names of declarations in the C family of
languages. DeclarationName is used in NamedDecl to store the name of
the declaration (naturally), and ObjCMethodDecl is now a NamedDecl.
llvm-svn: 59441
2008-11-17 14:58:09 +00:00
Chris Lattner
807e8c5d63
Describe how constant folding and i-c-e diagnosing should work.
...
Unfortunately, we're not here yet, but eventually Expr::isConstantExpr
and friends should go away.
llvm-svn: 59427
2008-11-16 21:48:07 +00:00
Mike Stump
b9d50b23a8
Unbreak clang install.
...
llvm-svn: 54663
2008-08-12 00:32:59 +00:00
Chris Lattner
613fdff902
clean up the footer a bit more.
...
llvm-svn: 54113
2008-07-26 23:54:49 +00:00
Chris Lattner
e3bbfffa5b
remove SSIs.
...
llvm-svn: 54112
2008-07-26 23:52:26 +00:00
Chris Lattner
9213f5d947
Add the right path to the lines image.
...
llvm-svn: 54111
2008-07-26 23:51:08 +00:00
Daniel Dunbar
086fe1ac79
Add doxygen support
...
- Stolen from LLVM with minor modifications
llvm-svn: 54103
2008-07-26 21:32:24 +00:00
Ted Kremenek
d2c8970a9a
Use same CSS as the rest of the clang website.
...
llvm-svn: 52208
2008-06-11 06:19:49 +00:00
Chris Lattner
d5917cef95
update documentation
...
llvm-svn: 48074
2008-03-09 02:27:26 +00:00
Ted Kremenek
efc244722f
Minor grammar fix.
...
llvm-svn: 43154
2007-10-18 22:50:52 +00:00
Ted Kremenek
a1cf09f51d
Commented out header with no section body. Will write this eventually.
...
llvm-svn: 42844
2007-10-10 23:22:00 +00:00
Ted Kremenek
035b0cd34a
Added some documentation on clang CFGs. It is very rough.
...
llvm-svn: 42843
2007-10-10 23:01:43 +00:00
Bill Wendling
bc03521fc9
Fix spacing issues.
...
llvm-svn: 42676
2007-10-06 01:56:01 +00:00
Chris Lattner
ac81722ff6
Fix html problem, patch by Justin Handville
...
llvm-svn: 42011
2007-09-16 19:25:23 +00:00
Chris Lattner
5070523a07
Owen pointed out that this made no sense :)
...
llvm-svn: 40644
2007-07-31 18:54:50 +00:00
Chris Lattner
578611857d
update name
...
llvm-svn: 40637
2007-07-31 16:50:51 +00:00
Chris Lattner
49820d63dc
Oops, I committed the wrong file before. This expands the description of
...
type.
llvm-svn: 40620
2007-07-31 06:37:39 +00:00
Chris Lattner
c6684bc0c5
Add a start at a clang internals manual, documenting some
...
of the more subtle and interesting classes.
llvm-svn: 40615
2007-07-31 05:42:17 +00:00
Chris Lattner
0443a76b11
add documentation skeleton
...
llvm-svn: 40471
2007-07-24 18:03:18 +00:00