| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
that this flag must be used only for Microsoft extensions and not emulation; to avoid confusion with the new LangOptions::MicrosoftMode flag.
Many of the code now under LangOptions::MicrosoftExt will eventually be moved under the LangOptions::MicrosoftMode flag.
llvm-svn: 139987
|
|
|
|
| |
llvm-svn: 139791
|
|
|
|
| |
llvm-svn: 139789
|
|
|
|
| |
llvm-svn: 139700
|
|
|
|
|
|
|
|
|
| |
target triple to separate modules built under different
conditions. The hash is used to create a subdirectory in the module
cache path where other invocations of the compiler (with the same
version, language options, etc.) can find the precompiled modules.
llvm-svn: 139662
|
|
|
|
| |
llvm-svn: 139655
|
|
|
|
| |
llvm-svn: 139654
|
|
|
|
|
|
| |
and preprocessor options (such as macro definitions) first.
llvm-svn: 139638
|
|
|
|
|
|
|
|
|
|
| |
language options. Use that .def file to declare the LangOptions class
and initialize all of its members, eliminating a source of annoying
initialization bugs.
AST serialization changes are next up.
llvm-svn: 139605
|
|
|
|
|
|
|
|
|
| |
but there is a corresponding umbrella header in a framework, build the
module on-the-fly so it can be immediately loaded at the import
statement. This is very much proof-of-concept code, with details to be
fleshed out over time.
llvm-svn: 139558
|
|
|
|
| |
llvm-svn: 139291
|
|
|
|
|
|
|
|
| |
and language-specific initialization. Use this to allow ASTUnit to
create a preprocessor object *before* loading the AST file. No actual
functionality change.
llvm-svn: 138983
|
|
|
|
|
|
|
|
|
|
|
| |
include guards don't show up as macro definitions in every translation
unit that imports a module. Macro definitions can, however, be
exported with the intentionally-ugly #__export_macro__
directive. Implement this feature by not even bothering to serialize
non-exported macros to a module, because clients of that module need
not (should not) know that these macros even exist.
llvm-svn: 138943
|
|
|
|
|
|
|
|
|
|
| |
nits:
- wrong alignment for double (it was 4, but 8 is desired),
- added checks for _REENTRANT define,
- fixed the issue that defines were not tested (because the check for inside #ifdef).
llvm-svn: 138775
|
|
|
|
|
|
| |
This matches gcc's logic. Second half of PR10661.
llvm-svn: 138730
|
|
|
|
|
|
| |
the test
llvm-svn: 138607
|
|
|
|
|
|
| |
wrong patch.
llvm-svn: 138489
|
|
|
|
| |
llvm-svn: 138470
|
|
|
|
|
|
| |
the other.
llvm-svn: 138381
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
regression due
to increased calls to SourceManager::getFileID. (rdar://9992664)
Use a slightly different approach that is more efficient both in terms of speed
(no extra getFileID calls) and in SLocEntries reduction.
Comparing pre-r138129 and this patch we get:
For compiling SemaExpr.cpp reduction of SLocEntries by 26%.
For the boost enum library:
-SLocEntries -34% (note that this was -5% for r138129)
-Memory consumption -50%
-PCH size -31%
Reduced SLocEntries also benefit the hot function SourceManager::getFileID,
evident by the reduced "FileID scans".
llvm-svn: 138380
|
|
|
|
| |
llvm-svn: 138375
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently getMacroArgExpandedLocation is very inefficient and for the case
of a location pointing at the main file it will end up checking almost all of
the SLocEntries. Make it faster:
-Use a map of macro argument chunks to their expanded source location. The map
is for a single source file, it's stored in the file's ContentCache and lazily
computed, like the source lines cache.
-In SLocEntry's FileInfo add an 'unsigned NumCreatedFIDs' field that keeps track
of the number of FileIDs (files and macros) that were created during preprocessing
of that particular file SLocEntry. This is useful when computing the macro argument
map in skipping included files while scanning for macro arg FileIDs that lexed from
a specific source file. Due to padding, the new field does not increase the size
of SLocEntry.
llvm-svn: 138225
|
|
|
|
|
|
| |
functionality change.
llvm-svn: 138127
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mapped to be ignored.
Currently this includes -pedantic warnings as well; we'll need to consider whether these should
be included.
This works as expected with -Werror.
Test cases were added to Sema/warn-unused-parameters.c, but they should probably be broken off into
their own test file.
llvm-svn: 137910
|
|
|
|
| |
llvm-svn: 137905
|
|
|
|
|
|
| |
messages. Fi from David Blaikie, tests from Nikola Smiljanic!
llvm-svn: 137851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we pass it a source location that points inside a function macro argument,
the returned location will be the macro location in which the argument was expanded.
If a macro argument is used multiple times, the expanded location will
be at the first expansion of the argument.
e.g.
MY_MACRO(foo);
^
Passing a file location pointing at 'foo', will yield a macro location
where 'foo' was expanded into.
Make SourceManager::getLocation call getMacroArgExpandedLocation as well.
llvm-svn: 137794
|
|
|
|
| |
llvm-svn: 137793
|
|
|
|
| |
llvm-svn: 137552
|
|
|
|
|
|
| |
in the internal table of DiagnosticIDs.
llvm-svn: 137108
|
|
|
|
| |
llvm-svn: 136892
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
alignment. This fixes cases where the anonymous bitfield is followed by a
non-bitfield member. E.g.,
struct t4
{
int foo : 1;
long : 0;
char bar;
};
Part of rdar://9859156
llvm-svn: 136858
|
|
|
|
| |
llvm-svn: 136581
|
|
|
|
|
|
| |
Fixes rdar://9866494
llvm-svn: 136524
|
|
|
|
|
|
|
|
| |
DiagnosticErrorTraps can be composed (e.g. a trap inside another trap).
Fixes http://llvm.org/PR10462 & rdar://9852007.
llvm-svn: 136447
|
|
|
|
| |
llvm-svn: 136236
|
|
|
|
|
|
| |
SourceManager.
llvm-svn: 136189
|
|
|
|
|
|
| |
the preferred alignment. Thus, revert r135934, r135935, and r135940.
llvm-svn: 136062
|
|
|
|
|
|
| |
'expansion' rather than 'instantiation' for macro source locations.
llvm-svn: 136058
|
|
|
|
|
|
|
|
| |
etc. With this I think essentially all of the SourceManager APIs are
converted. Comments and random other bits of cleanup should be all thats
left.
llvm-svn: 136057
|
|
|
|
|
|
|
|
|
| |
and various other 'expansion' based terms. I've tried to reformat where
appropriate and catch as many references in comments but I'm going to do
several more passes. Also I've tried to expand parameter names to be
more clear where appropriate.
llvm-svn: 136056
|
|
|
|
| |
llvm-svn: 136054
|
|
|
|
|
|
| |
to isMacroArgExpansion.
llvm-svn: 136053
|
|
|
|
|
|
| |
SourceManager and FullSourceLoc.
llvm-svn: 135969
|
|
|
|
|
|
| |
SourceManager and FullSourceLoc.
llvm-svn: 135965
|
|
|
|
| |
llvm-svn: 135962
|
|
|
|
| |
llvm-svn: 135961
|
|
|
|
|
|
| |
getImmediateExpansionRange.
llvm-svn: 135960
|
|
|
|
|
|
|
|
|
| |
care of
FIXME: Override "preferred align" for double and long long for ARM apcs-gnu ABI.
Also part of rdar://9802874
llvm-svn: 135940
|
|
|
|
| |
llvm-svn: 135915
|