Commit Graph

195 Commits

Author SHA1 Message Date
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