| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
'#pragma omp parallel'
llvm-svn: 208162
|
| |
|
|
|
|
| |
further interfaces.
llvm-svn: 208161
|
| |
|
|
| |
llvm-svn: 208160
|
| |
|
|
| |
llvm-svn: 208156
|
| |
|
|
|
|
| |
Follow-up to Nico's leak-stopping patch in r208110.
llvm-svn: 208155
|
| |
|
|
|
|
|
|
|
| |
This applies to __attribute__((pure)) as well, but 'const' is more interesting
because many of our builtins are marked 'const'.
PR19661
llvm-svn: 208154
|
| |
|
|
|
|
|
| |
whether the definition of the template is visible rather than checking whether
the instantiated definition happens to be in an imported module.
llvm-svn: 208150
|
| |
|
|
|
|
|
|
| |
pre-defined __is_identifier() macro.
Differential Revision: http://reviews.llvm.org/D3460
llvm-svn: 208147
|
| |
|
|
|
|
| |
have arity mismatches.
llvm-svn: 208146
|
| |
|
|
|
|
| |
which is a more correct and consistent term.
llvm-svn: 208142
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Update our mangling to match the discussion on cxx-abi-dev.
This involves using a seq-id instead of an optional number.
Reviewers: rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D3631
llvm-svn: 208140
|
| |
|
|
| |
llvm-svn: 208138
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace a large monolitic function, with per-table functions which all nicely
fit on my screen. I also added documentation to each function that describes
what kind of tables are generated and which information is contained and
switched to range based for loops. Finally, I run clang-format over the moved
code.
I spent a significant amount of time to understand this code when reasoning
about possible extensions to the diagnostic interface to support 'remark'
diagnostics. This change will definitely help such an implementation, but
already by itself it will save other people a lot of time when trying to
understand this functionality.
Even though the patch touches the full function, it is mostly mechanical. No
functional change intended. The generated tblgen files are identical.
llvm-svn: 208136
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it easier to see where a global ctor comes from, and it also makes
ASan's init order analyzer output easier to understand. gcc does this too,
but only in -fPIC mode for some reason. Don't do this for constructors with
explicit init priority.
Also prepend "sub_" before the 'I', that way regular constructors stay
lexicographically after symbols with init priority (because
ord('s') > ord('I')). gold seems to ignore the name of constructor symbols,
and ld only looks at the symbol if it includes an init priority, which this
patch doesn't change.
Before: __GLOBAL_I_a
Now: __GLOBAL_sub_I_myfile.cc
llvm-svn: 208128
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
preceeds the declaration and initial use.
Reverting r208106 to reapply r208065 with a fix for the regression. The
issue was that the enum tried to be built even if the declaration hadn't
been constructed for debug info - presenting problems for enum templates
and typedefs of enums with names for linkage purposes.
Original commit message:
This regressed a little further 208055 though it was already a little
broken.
While the requiresCompleteType optimization should be implemented here.
Future (possibly near future) work.
llvm-svn: 208114
|
| |
|
|
|
|
|
|
| |
BugReport doesn't take ownership of the bug type, so let the checker own the
the bug type. (Requires making the bug type mutable, which is icky, but which
is also what other checkers do.)
llvm-svn: 208110
|
| |
|
|
|
|
|
|
|
| |
(I tried converting StateMapsArray to a vector<unique_ptr> and changing the
types of getInfo() and addInfo() to take unique_ptrs. This mostly worked,
except for the three-argument form of addInfo() which I found confusing enough
that I went with this simpler fix for now.)
llvm-svn: 208108
|
| |
|
|
|
|
|
|
|
|
|
| |
the declaration and initial use."
This is breaking the compiler-rt build. Reverting while I
investigate/fix.
This reverts commit r208065.
llvm-svn: 208106
|
| |
|
|
|
|
| |
Reviewed by Eric Christopher.
llvm-svn: 208105
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 208099
|
| |
|
|
|
|
|
|
|
|
| |
Before:
var x = /** @type {foo} */ (bar);
After:
var x = /** @type {foo} */(bar);
llvm-svn: 208093
|
| |
|
|
| |
llvm-svn: 208090
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
goog.scope(function() {
var x = a.b;
var y = c.d;
}); // goog.scope
After:
goog.scope(function() {
var x = a.b;
var y = c.d;
}); // goog.scope
llvm-svn: 208088
|
| |
|
|
| |
llvm-svn: 208087
|
| |
|
|
| |
llvm-svn: 208086
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
(void) SimplifyICmpOperands(Cond, LHS, RHS);
After:
(void)SimplifyICmpOperands(Cond, LHS, RHS);
Differential Revision: http://reviews.llvm.org/D3615
llvm-svn: 208080
|
| |
|
|
| |
llvm-svn: 208078
|
| |
|
|
| |
llvm-svn: 208077
|
| |
|
|
|
|
|
| |
This patch is to get "-mno-unaligned-access" and "-munaligned-access"
work in front-end for ARM64 target.
llvm-svn: 208075
|
| |
|
|
| |
llvm-svn: 208072
|
| |
|
|
|
|
|
|
| |
This is to remove FIXME added in r207964.
Differential Revision: http://reviews.llvm.org/D3619
llvm-svn: 208071
|
| |
|
|
|
|
|
|
|
|
|
|
| |
declaration and initial use.
This regressed a little further 208055 though it was already a little
broken.
While the requiresCompleteType optimization should be implemented here.
Future (possibly near future) work.
llvm-svn: 208065
|
| |
|
|
| |
llvm-svn: 208063
|
| |
|
|
|
|
|
|
|
|
| |
Patch by Kaelyn Takata.
Testcase coming out of creduce will land in a separate commit shortly.
Also, it appears that this callback is used even in a SFINAE context where the results are never displayed.
llvm-svn: 208062
|
| |
|
|
|
|
| |
clause 'proc_bind'
llvm-svn: 208060
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CGDebugInfo and DIBuilder were lax in their handling of temporary
MDNodes. All temporary nodes need to be deleted, which means they need
to be RAUW'd with a permanent node. This was not happening.
To ensure this, leverage DIBuilder's new ability to create both
permanent and temporary declarations. Ensure all temporary declarations
are RAUW'd, even with itself. (DIDescriptor::RAUW handles the case where
it is replaced with itself and creates a new, duplicate permanent node
to replace itself with)
This means that all temporary declarations must be added to the
ReplacementMap even if they're never upgraded to definitions - so move
the point of insertion into the map to the point of creation of the
declarations.
llvm-svn: 208055
|
| |
|
|
|
|
| |
This is in addition to the existing support for typedefs.
llvm-svn: 208053
|
| |
|
|
| |
llvm-svn: 208027
|
| |
|
|
|
|
| |
This went AWOL in r207995.
llvm-svn: 208018
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to ensure all ivars are included.
This takes a different approach than the
completedType/requiresCompleteType work which relies on AST callbacks to
upgrade the type declaration to a definition. Instead, just defer
constructing the definition to the end of the translation unit.
This works because the definition is never needed by other debug info
(so far as I know), whereas the definition of a struct may be needed by
other debug info before the end of the translation unit (such as
emitting the definition of a member function which must refer to that
member function's declaration).
If we had a callback for whenever an IVar was added to an ObjC interface
we could use that, and remove the need for the ObjCInterfaceCache, which
might be nice. (also would need a callback for when it was more than
just a declaration so we could get properties, etc).
A side benefit is that we also don't need the CompletedTypeCache
anymore. Just rely on the declaration-ness of a type to decide whether
its definition is yet to be emitted.
There's still the PR19562 memory leak, but this should hopefully make
that a bit easier to approach.
llvm-svn: 208015
|
| |
|
|
|
|
| |
extension
llvm-svn: 208014
|
| |
|
|
| |
llvm-svn: 208011
|
| |
|
|
|
|
|
|
| |
opening functions.
Needs llvm r208007.
llvm-svn: 208008
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Warn on non-modular includes in various contexts.
-Wnon-modular-include
-Wnon-modular-include-in-module
-Wnon-modular-include-in-framework-module
Where each group is a subgroup of those above it.
llvm-svn: 208004
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
values it does contain are necessary.
Items were being redundantly added to the replacement map (both when the
declaration was created, and then again when its definition was
constructed) which caused extra handling to be required when walking the
map (as elements may've already been replaced due to prior entries). By
avoiding adding the duplicates, the checks in the replacement handling
can be replaced with assertions.
llvm-svn: 208000
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, users get error messages about RTTI descriptor mangling with
no useful source location. This addresses that.
Another approach would be to disable C++ exceptions by default in the
driver when using the Microsoft C++ ABI. However, this makes it
impossible to parse system headers that use exception handling
constructs. By delaying the error to IRgen, we can figure out if we
actually need to emit code for this construct. Additionally, users who
are only interested in building refactoring tools on Windows still get a
correct AST without having to add flags. Finally, this is consistent
with what we do for SEH.
llvm-svn: 207999
|
| |
|
|
|
|
| |
Warn if an alias requests a section other than the aliasee section.
llvm-svn: 207997
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This minified source code and artwork is copied from a commercial product and
carries no license information:
dbtree.js (7 kb), 25.03.2014 14:51:32
Purchase and download DBTree now for only $29.75 $9.75
It was used by a small TOC which looks fine now as a plain unordered list.
llvm-svn: 207995
|
| |
|
|
| |
llvm-svn: 207994
|
| |
|
|
| |
llvm-svn: 207991
|