| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Moving it into a struct makes things work because it implicitly marks
the function as inline. The struct is unnecessary if you explicitly
mark the function inline.
llvm-svn: 205935
|
| |
|
|
|
|
|
|
|
|
| |
This patch changes how we determine if padding is needed between two
bases in msvc compatibility mode. Test cases included.
In addition, a very minor change to the printing of structures to ease
lit testing.
llvm-svn: 205933
|
| |
|
|
|
|
| |
class-scope function. No functional change, but resolves a warning.
llvm-svn: 205931
|
| |
|
|
| |
llvm-svn: 205929
|
| |
|
|
|
|
|
| |
MSVC doesn't have an option to enable TBAA, so make -fstrict-aliasing
and -fno-strict-aliasing available in clang-cl.
llvm-svn: 205924
|
| |
|
|
| |
llvm-svn: 205922
|
| |
|
|
|
|
|
|
|
| |
The idea is to give visibility to more type kinds, especially for getting
a better grasp of what appears as unexposed type kind with libclang.
Differential Revision: http://reviews.llvm.org/D3325
llvm-svn: 205921
|
| |
|
|
|
|
| |
The section names used here are not valid for Mach-O.
llvm-svn: 205920
|
| |
|
|
|
|
| |
code-completion results.
llvm-svn: 205917
|
| |
|
|
|
|
| |
fixing the build bots.
llvm-svn: 205916
|
| |
|
|
|
|
|
|
|
|
|
|
| |
changes. No functional changes intended.
* Adds an iterator_range interface to CallExpr to get the arguments
* Modifies SExpr such that it must be allocated in the Arena, and cannot be deleted
* Minor const-correctness and nullptr updates
* Adds some operator!= implementations to complement operator==
* Removes unused functionality
llvm-svn: 205915
|
| |
|
|
| |
llvm-svn: 205853
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
static StructInitInfo module = {MODULE_BUILTIN, /* type */
"streams" /* name */
};
After:
static StructInitInfo module = {
MODULE_BUILTIN, /* type */
"streams" /* name */
};
This fixes llvm.org/PR19378.
llvm-svn: 205851
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before, it would turn:
SomeFunction([]() { // Cool function..
return 43;
});
Into this:
SomeFunction([]() { // Cool function.. return 43; });
llvm-svn: 205849
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
SomeFunction([]() {
int i = 42;
return i;
},
[]() {
int j = 43;
return j;
});
After:
SomeFunction([]() {
int i = 42;
return i;
},
[]() {
int j = 43;
return j;
});
llvm-svn: 205848
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
void aaaaaaaaaaaaaa(aaaaaaaa aaa) override AAAAAAAAAAAAAAAAAAAAAAAA(
aaaaaaaaaaaaaaa);
After:
void aaaaaaaaaaaaaa(aaaaaaaa aaa) override
AAAAAAAAAAAAAAAAAAAAAAAA(aaaaaaaaaaaaaaa);
llvm-svn: 205846
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
More precisely keep all short annotations (<10 characters) on the same
line if possible. Previously, clang-format would only prefer to do so
for "const", "override" and "final". However, it seems to be generally
preferable, especially because some codebases have to wrap those in
macros for backwards compatibility.
Before:
void someLongFunction(int someLongParameter)
OVERRIDE {}
After:
void someLongFunction(
int someLongParameter) OVERRIDE {}
This fixes llvm.org/PR19363.
llvm-svn: 205845
|
| |
|
|
|
|
|
| |
Previously, this did not look through trailing comments leading to a few
formatting oddities.
llvm-svn: 205843
|
| |
|
|
| |
llvm-svn: 205842
|
| |
|
|
| |
llvm-svn: 205841
|
| |
|
|
|
|
| |
unavailable on msc17.
llvm-svn: 205840
|
| |
|
|
| |
llvm-svn: 205828
|
| |
|
|
|
|
|
|
|
|
| |
This also includes some infrastructure to make it easier to build multi-argument
selectors, rather than trying to use string matching on each piece. There's a bit
more setup code, but less cost at runtime.
PR18908
llvm-svn: 205827
|
| |
|
|
|
|
|
| |
On linux strings have different linkage than on windows. This
patch makes the lit test more general.
llvm-svn: 205812
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds support for the msvc pragmas section, bss_seg, code_seg,
const_seg and data_seg as well as support for __declspec(allocate()).
Additionally it corrects semantics and adds diagnostics for
__attribute__((section())) and the interaction between the attribute
and the msvc pragmas and declspec. In general conflicts should now be
well diganosed within and among these features.
In supporting the pragmas new machinery for uniform lexing for
msvc pragmas was introduced. The new machinery always lexes the
entire pragma and stores it on an annotation token. The parser
is responsible for parsing the pragma when the handling the
annotation token.
There is a known outstanding bug in this implementation in C mode.
Because these attributes and pragmas apply _only_ to definitions, we
process them at the time we detect a definition. Due to tentative
definitions in C, we end up processing the definition late. This means
that in C mode, everything that ends up in a BSS section will end up in
the _last_ BSS section rather than the one that was live at the time of
tentative definition, even if that turns out to be the point of actual
definition. This issue is not known to impact anything as of yet
because we are not aware of a clear use or use case for #pragma bss_seg
but should be fixed at some point.
Differential Revision=http://reviews.llvm.org/D3065#inline-16241
llvm-svn: 205810
|
| |
|
|
|
|
| |
by Aaron Ballman.
llvm-svn: 205809
|
| |
|
|
| |
llvm-svn: 205781
|
| |
|
|
|
|
|
|
|
|
|
| |
It is very similar to GCC's __PRETTY_FUNCTION__, except it prints the
calling convention.
Reviewers: majnemer
Differential Revision: http://reviews.llvm.org/D3311
llvm-svn: 205780
|
| |
|
|
|
|
|
|
|
|
|
| |
Don't include input and output regs in clobbers. Prefix some
identifiers with __. Add a memory constraint to __readcr3 to prevent
reordering. This constraint is heavy handed, but conservatively
correct.
Thanks to PaX Team for the suggestions.
llvm-svn: 205778
|
| |
|
|
| |
llvm-svn: 205773
|
| |
|
|
| |
llvm-svn: 205763
|
| |
|
|
|
|
| |
directory in module B, don't include it in module B!
llvm-svn: 205762
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
A<int * []> a;
After:
A<int *[]> a;
This fixes llvm.org/PR19360.
llvm-svn: 205761
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before AllowShortFunctionsOnASingleLine could either be true, merging
all functions, or false, merging no functions. This patch adds a third
value "Inline", which can be used to only merge short functions defined
inline in a class, i.e.:
void f() {
return 42;
}
class C {
void f() { return 42; }
};
llvm-svn: 205760
|
| |
|
|
|
|
| |
constant expressions.
llvm-svn: 205757
|
| |
|
|
|
|
|
|
| |
Fixes PR19301.
Based on a patch from Steven Graf!
llvm-svn: 205751
|
| |
|
|
|
|
| |
Implemented ownership policy, updated to use nullptr, const-cleanup.
llvm-svn: 205745
|
| |
|
|
| |
llvm-svn: 205733
|
| |
|
|
|
|
|
| |
This reverts r90596 from 2009. Having this macro definition makes Clang
strictly less useful with -fms-extensions.
llvm-svn: 205729
|
| |
|
|
|
|
|
|
|
|
| |
This patch is the first part of a significant refactoring that seeks to restore
sanity to way thread safety analysis deals with capability expressions. The
current patch merely provides an outline of the structure of the new system.
It's not yet connected to the actual analysis, so there's no change in
functionality.
llvm-svn: 205728
|
| |
|
|
|
|
|
|
| |
This can actually be non-zero if you override a function from a virtual
base and you have forced the most_general pointer to member
representation.
llvm-svn: 205727
|
| |
|
|
|
|
| |
Found by Richard Osbourne!
llvm-svn: 205721
|
| |
|
|
|
|
| |
Thanks, Alex!
llvm-svn: 205720
|
| |
|
|
|
|
| |
it is subsumed by r205521.
llvm-svn: 205718
|
| |
|
|
| |
llvm-svn: 205717
|
| |
|
|
|
|
| |
Note that /Gy no longer implies -fdata-sections.
llvm-svn: 205716
|
| |
|
|
| |
llvm-svn: 205715
|
| |
|
|
|
|
|
|
| |
member function or member function template is declared 'const'
Patch by Kevin Funk with testcase updates by me.
llvm-svn: 205714
|
| |
|
|
| |
llvm-svn: 205695
|
| |
|
|
|
|
|
|
| |
We already got the type alias correct (though I've included a test case
here) since Clang represents that like any other typedef - but type
alias templates weren't being handled.
llvm-svn: 205691
|