| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
class of this method. // rdar://10109725
llvm-svn: 139989
|
| |
|
|
|
|
| |
is missing. // rdar//10127639
llvm-svn: 139988
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
the AST reader), merge that header file information with whatever
header file information we already have. Otherwise, we might forget
something we already knew (e.g., that the header was #import'd already).
llvm-svn: 139979
|
| |
|
|
|
|
|
|
|
|
|
|
| |
compiler switch: -fms-compatility.
Microsoft specific tweaking will now fall into 2 categories:
- fms-extension: Microsoft specific extensions that should never change the meaning of an otherwise well formed code. Currently map to LangOptions::Microsoft. (To be clearer, I am planning to change the name to LangOptions::MicrosoftExt).
- fms-compatibility: Really a MSVC emulation mode. Map to LangOptions::MicrosoftMode. Can change the meaning of an otherwise standard conformant program.
llvm-svn: 139978
|
| |
|
|
| |
llvm-svn: 139977
|
| |
|
|
|
|
|
|
|
| |
arbitrary amount of code. This forces us to stage the AST writer more
strictly, ensuring that we don't assign a declaration ID to a
declaration until after we're certain that no more modules will get
loaded.
llvm-svn: 139974
|
| |
|
|
|
|
| |
Also add a test case for the non Microsoft case because such test didn't exist.
llvm-svn: 139971
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
addressing two performance problems:
- Speed of "merge()", which merged data flow facts. This was doing a set canonicalization on every insertion, which was super slow.
To fix this, we use ImmutableSetRef.
- Visit CFGBlocks in reverse postorder. This is a huge speedup, as on some test cases the algorithm would take many iterations
to converge.
This contains a bunch of copy-paste from UninitializedValues.cpp and ThreadSafety.cpp. The idea
was to get something working first, and then refactor the common logic for all three files into
a separate analysis/library entry point.
llvm-svn: 139968
|
| |
|
|
| |
llvm-svn: 139941
|
| |
|
|
|
|
|
|
|
|
| |
of SourceLocations (commit 5 of ?):
- Get rid of PathDiagnosticLocation(SourceRange r,..) constructor by providing a bunch of create methods.
- The PathDiagnosticLocation(SourceLocation L,..), which is used by crate methods, will eventually become private.
- Test difference is in the case when the report starts at the beginning of the function. We used to represent that point as a range of the very first token in the first statement. Now, it's just a single location representing the first character of the first statement.
llvm-svn: 139932
|
| |
|
|
|
|
| |
individual Check*Operands() functions.
llvm-svn: 139895
|
| |
|
|
| |
llvm-svn: 139894
|
| |
|
|
| |
llvm-svn: 139887
|
| |
|
|
| |
llvm-svn: 139879
|
| |
|
|
|
|
| |
LHSType and RHSType for everything.
llvm-svn: 139878
|
| |
|
|
|
|
|
|
| |
alignment (which probably has little effect in practice, but better to get it right). Make the load in _mm_loadh_pi and _mm_loadl_pi a single LLVM IR instruction to make optimizing easier for CodeGen.
rdar://10054986
llvm-svn: 139874
|
| |
|
|
|
|
|
| |
#include or #import direcctives of framework headers into module
imports of the corresponding framework module.
llvm-svn: 139860
|
| |
|
|
| |
llvm-svn: 139856
|
| |
|
|
| |
llvm-svn: 139837
|
| |
|
|
|
|
| |
instead of 'Class'.
llvm-svn: 139834
|
| |
|
|
|
|
| |
graceful than running out of stack space.
llvm-svn: 139833
|
| |
|
|
|
|
|
|
|
| |
of SourceLocations (commit 4 of ?):
- The closing brace is always a single location, not a range.
- The test case previously had a location key 57:1 followed by a range [57:1 - 57:1].
llvm-svn: 139832
|
| |
|
|
|
|
|
| |
used back when we had an -import-module command-line option, but it's
no longer used (or useful).
llvm-svn: 139829
|
| |
|
|
| |
llvm-svn: 139827
|
| |
|
|
|
|
| |
storage slot into helper functions.
llvm-svn: 139826
|
| |
|
|
|
|
|
|
|
| |
of SourceLocations (commit 2 of ?):
- Fix a fixme and move the logic of creating a PathDiagnosticLocation corresponding to a ProgramPoint into a PathDiagnosticLocation constructor.
- Rename PathDiagnosticLocation::create to differentiate from the added constructor.
llvm-svn: 139825
|
| |
|
|
|
|
| |
the newly-created ASTReader. This makes sure that CodeGen sees the declarations it is interested in
llvm-svn: 139824
|
| |
|
|
|
|
| |
in class methods with no warning. //rdar://10109725
llvm-svn: 139818
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
-Use an array of offsets for all preprocessed entities
-Get rid of the separate array of offsets for just macro definitions;
for references to macro definitions use an index inside the preprocessed
entities array.
-Deserialize each preprocessed entity lazily, at first request; not in bulk.
Paves the way for binary searching of preprocessed entities that will offer
efficiency and will simplify things on the libclang side a lot.
llvm-svn: 139809
|
| |
|
|
| |
llvm-svn: 139805
|
| |
|
|
|
|
| |
required attributes
llvm-svn: 139804
|
| |
|
|
|
|
| |
inteface. This eliminates a lot of unnecessary duplicated code.
llvm-svn: 139801
|
| |
|
|
| |
llvm-svn: 139791
|
| |
|
|
| |
llvm-svn: 139789
|
| |
|
|
|
|
|
|
| |
possible for that to matter right now, but eventually I think we'll
need to unify this better, and then it might. Also, use a more
efficient looping structure.
llvm-svn: 139788
|
| |
|
|
| |
llvm-svn: 139770
|
| |
|
|
|
|
| |
we don't need to.
llvm-svn: 139769
|
| |
|
|
|
|
|
|
|
| |
of SourceLocations (commit 2 of ?):
- Modify all PathDiagnosticLocation constructors that take Stmt to also requre LocationContext.
- Add a constructor which should be used in case there is no valid statement/location (it will grab the location of the enclosing function).
llvm-svn: 139763
|
| |
|
|
| |
llvm-svn: 139752
|
| |
|
|
| |
llvm-svn: 139750
|
| |
|
|
|
|
| |
non-exported macro, for real this time
llvm-svn: 139745
|
| |
|
|
| |
llvm-svn: 139734
|
| |
|
|
|
|
| |
dealing with non-exported macros
llvm-svn: 139731
|
| |
|
|
|
|
| |
non-exported macro
llvm-svn: 139728
|
| |
|
|
|
|
|
| |
supplied, use something derived from the system's temporary
directory. Depends on LLVM r139725.
llvm-svn: 139726
|
| |
|
|
|
|
| |
lock
llvm-svn: 139723
|
| |
|
|
|
|
| |
interface, and making the destructor for the thread safety handler pure virtual
llvm-svn: 139722
|
| |
|
|
|
|
| |
expanding the handling of these expressions
llvm-svn: 139720
|
| |
|
|
| |
llvm-svn: 139718
|