#
2bf7fdb7 |
| 02-Jan-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
s/CPlusPlus0x/CPlusPlus11/g
llvm-svn: 171367
|
Revision tags: llvmorg-3.2.0 |
|
#
c50d4924 |
| 11-Dec-2012 |
Douglas Gregor <dgregor@apple.com> |
Use @import rather than @__experimental_modules_import, since the latter is rather a mess to type.
llvm-svn: 169919
|
Revision tags: llvmorg-3.2.0-rc3 |
|
#
3a02247d |
| 04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort all of Clang's files under 'lib', and fix up the broken headers uncovered.
This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/util
Sort all of Clang's files under 'lib', and fix up the broken headers uncovered.
This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files.
I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers.
llvm-svn: 169237
show more ...
|
Revision tags: llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1 |
|
#
07351f8e |
| 11-Nov-2012 |
Nico Weber <nicolasweber@gmx.de> |
Remove unneeded includes from IdentifierTable
llvm-svn: 167694
|
#
1d26c027 |
| 25-Sep-2012 |
Alexander Kornienko <alexfh@google.com> |
Macro history (de-)serialization. Deserialization currently reads only the latest macro definition. Needs more work.
Summary: Passes all tests (+ the new one with code completion), but needs a thoro
Macro history (de-)serialization. Deserialization currently reads only the latest macro definition. Needs more work.
Summary: Passes all tests (+ the new one with code completion), but needs a thorough review in part related to modules.
Reviewers: doug.gregor
Reviewed By: alexfh
CC: cfe-commits, rsmith
Differential Revision: http://llvm-reviews.chandlerc.com/D41
llvm-svn: 164610
show more ...
|
#
73bf7f5b |
| 05-Sep-2012 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Allow disabling of wchar_t type.
llvm-svn: 163221
|
#
42cf2688 |
| 10-Aug-2012 |
Joerg Sonnenberger <joerg@bec.de> |
Add missing cctype includes.
llvm-svn: 161660
|
#
1c7207c8 |
| 24-Jul-2012 |
Francois Pichet <pichet2000@gmail.com> |
Change the way KEYNOMS is defined to be more comprehensible.
llvm-svn: 160663
|
#
0e2b8431 |
| 22-Jul-2012 |
Francois Pichet <pichet2000@gmail.com> |
char16_t and char32_t are defined via typedef in MSVC 11 RC. So introduce a way to disable keywords under Microsoft mode.
llvm-svn: 160612
|
#
0d8a3f8f |
| 15-Jun-2012 |
James Dennett <jdennett@google.com> |
Documentation cleanup: escape @ in a Doxygen comment.
llvm-svn: 158548
|
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3 |
|
#
93a586fa |
| 04-May-2012 |
Douglas Gregor <dgregor@apple.com> |
Synchronize the representations of DeclarationName and Selector so that bridging between the two is free. Saves ~4k of code size, although I don't see any measurable performance difference (unfortuna
Synchronize the representations of DeclarationName and Selector so that bridging between the two is free. Saves ~4k of code size, although I don't see any measurable performance difference (unfortunately).
llvm-svn: 156187
show more ...
|
Revision tags: llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1 |
|
#
74655a5d |
| 11-Mar-2012 |
Nick Lewycky <nicholas@mxc.ca> |
Fix typo in comment, 'langauge' -> 'language'.
llvm-svn: 152547
|
#
94666033 |
| 01-Mar-2012 |
Ted Kremenek <kremenek@apple.com> |
Moving tagging of '__experimental_modules_import' IdentifierInfo out of IndentifierTable::get() and into IdentifierTable's constructor.
This gets a 0.7% reducing on lexing time for Cocoa.h, and abou
Moving tagging of '__experimental_modules_import' IdentifierInfo out of IndentifierTable::get() and into IdentifierTable's constructor.
This gets a 0.7% reducing on lexing time for Cocoa.h, and about the same for PCH generation.
llvm-svn: 151854
show more ...
|
#
c1e4dd0e |
| 01-Mar-2012 |
Ted Kremenek <kremenek@apple.com> |
Change @import to @__experimental_modules_import. We are not ready to commit to a particular syntax for modules, and don't have time to push it forward in the near future.
llvm-svn: 151841
|
#
2c1dd271 |
| 05-Feb-2012 |
Dylan Noblesmith <nobled@dreamwidth.org> |
Basic: import SmallString<> into clang namespace
(I was going to fix the TODO about DenseMap too, but that would break self-host right now. See PR11922.)
llvm-svn: 149799
|
#
4903802f |
| 04-Feb-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Move a method from IdentifierTable.h out of line and remove the SmallString include.
Fix all the transitive include users.
llvm-svn: 149783
|
#
8a40f700 |
| 17-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove unreachable code in Clang. (replace with llvm_unreachable where appropriate or when GCC requires it)
llvm-svn: 148292
|
#
663b48f1 |
| 03-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Re-uglify #public and #private to #__public_macro and #__private_macro.
llvm-svn: 147469
|
#
da82e703 |
| 03-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Eliminate the uglified keyword __import_module__ for importing modules. This leaves us without an explicit syntax for importing modules in C/C++, because such a syntax needs to be discussed first. In
Eliminate the uglified keyword __import_module__ for importing modules. This leaves us without an explicit syntax for importing modules in C/C++, because such a syntax needs to be discussed first. In Objective-C/Objective-C++, the @import syntax is used to import modules.
Note that, under -fmodules, C/C++ programs can import modules via the #include mechanism when a module map is in place for that header. This allows us to work with modules in C/C++ without committing to a syntax.
llvm-svn: 147467
show more ...
|
#
0bf886d4 |
| 03-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Under -fmodules, accept #public <macroname> and #private <macroname> to make a macro public (the default for headers) or private, respectively.
llvm-svn: 147455
|
#
e56f3932 |
| 23-Dec-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Mass rename C1x references to C11. The name hasn't proliferated like "C++0x" so this patch is surprisingly small.
Also drop -Wc1x-extensions in favor of -Wc11-extensions. I don't think we need to ke
Mass rename C1x references to C11. The name hasn't proliferated like "C++0x" so this patch is surprisingly small.
Also drop -Wc1x-extensions in favor of -Wc11-extensions. I don't think we need to keep this around for compatibility.
llvm-svn: 147221
show more ...
|
#
103ae5c4 |
| 19-Dec-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc-arc: bridge casts in non-objc-arc mode are ignord. But, warn too. // rdar://10597832
llvm-svn: 146904
|
Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2 |
|
#
935bc7a2 |
| 27-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Make the loading of information attached to an IdentifierInfo from an AST file more lazy, so that we don't eagerly load that information for all known identifiers each time a new AST file is loaded.
Make the loading of information attached to an IdentifierInfo from an AST file more lazy, so that we don't eagerly load that information for all known identifiers each time a new AST file is loaded. The eager reloading made some sense in the context of precompiled headers, since very few identifiers were defined before PCH load time. With modules, however, a huge amount of code can get parsed before we see an @import, so laziness becomes important here.
The approach taken to make this information lazy is fairly simple: when we load a new AST file, we mark all of the existing identifiers as being out-of-date. Whenever we want to access information that may come from an AST (e.g., whether the identifier has a macro definition, or what top-level declarations have that name), we check the out-of-date bit and, if it's set, ask the AST reader to update the IdentifierInfo from the AST files. The update is a merge, and we now take care to merge declarations before/after imports with declarations from multiple imports.
The results of this optimization are fairly dramatic. On a small application that brings in 14 non-trivial modules, this takes modules from being > 3x slower than a "perfect" PCH file down to 30% slower for a full rebuild. A partial rebuild (where the PCH file or modules can be re-used) is down to 7% slower. Making the PCH file just a little imperfect (e.g., adding two smallish modules used by a bunch of .m files that aren't in the PCH file) tips the scales in favor of the modules approach, with 24% faster partial rebuilds.
This is just a first step; the lazy scheme could possibly be improved by adding versioning, so we don't search into modules we already searched. Moreover, we'll need similar lazy schemes for all of the other lookup data structures, such as DeclContexts.
llvm-svn: 143100
show more ...
|
Revision tags: llvmorg-3.0.0-rc1 |
|
#
ebf00499 |
| 17-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
For modules, all macros that aren't include guards are implicitly public. Add a __private_macro__ directive to hide a macro, similar to the __module_private__ declaration specifier.
llvm-svn: 142188
|
#
4dd85d6f |
| 11-Oct-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Add a -Wc++0x-compat warning for C++11 keywords used as identifiers when in C++98 mode. Only the first occurrence of each keyword will produce a warning.
llvm-svn: 141700
|