| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Reads the description of a virtual filesystem from a file and overlays
it over the real file system.
llvm-svn: 202176
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This was changed to use manual desugaring and multiplication in r201832
and fixed for multi-dimensional arrays in r201917. However, it breaks
down in the presence of typedefs. Rather than attempting to handle all
the desugaring, just go back to calling the generic type info code.
This was discovered while compiling SIInstrWaits.cpp in the R600
backend.
llvm-svn: 202175
|
| |
|
|
|
|
| |
There were many additional tests that had the bad behavior baked in.
llvm-svn: 202174
|
| |
|
|
|
|
|
|
| |
This reverts commit r202167.
It broke Analysis/auto-obj-dtors-cfg-output.cpp
llvm-svn: 202173
|
| |
|
|
| |
llvm-svn: 202170
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Don't emit anything when we encounter a call to a conversion operator.
"bar(a & b)" instead of "bar(a & b.operator int())"
This preserves the semantics and is still idempotent if we print the AST multiple times.
- Properly print declarations of conversion operators.
"explicit operator bool();" instead of "bool operator _Bool();"
PR18776.
llvm-svn: 202167
|
| |
|
|
|
|
|
|
|
| |
The 'f' modifier is designed for integer type arguments really (according to
its documentation). It's better to use the "half width, same number" modifier.
Should be no user-visible change.
llvm-svn: 202152
|
| |
|
|
| |
llvm-svn: 202151
|
| |
|
|
|
|
| |
Partially based on http://llvm-reviews.chandlerc.com/D2644 by Viktor Kutuzov.
llvm-svn: 202150
|
| |
|
|
|
|
| |
less OS-specific
llvm-svn: 202148
|
| |
|
|
|
|
|
|
| |
Also assert that we never create non-array string literals again.
PR18939.
llvm-svn: 202147
|
| |
|
|
|
|
|
|
| |
gets a proper constant array type.
No change in output.
llvm-svn: 202146
|
| |
|
|
| |
llvm-svn: 202141
|
| |
|
|
|
|
|
| |
This comment survived the transition from ForceInline to InlineAlways,
fix it.
llvm-svn: 202133
|
| |
|
|
|
|
|
|
|
|
| |
The __forceinline keyword's semantics are now recast as AlwaysInline and
the kw___forceinline token has its language mode set for KEYMS.
This preserves the semantics of the previous implementation but with
less duplication of code.
llvm-svn: 202131
|
| |
|
|
| |
llvm-svn: 202115
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows the 'name' field to contain a path, like
{ 'type': 'directory',
'name': '/path/to/dir',
'contents': [ ... ] }
which not only simplifies reading and writing these files (for humans),
but makes it possible to easily modify locations via textual
replacement, which would not have worked in the old scheme.
E.g. sed s:<ROOT>:<NEW ROOT>
llvm-svn: 202109
|
| |
|
|
| |
llvm-svn: 202108
|
| |
|
|
|
|
|
|
|
| |
Take advantage of CharUnits::alignmentAtOffset instead of calculating it
by hand.
Differential Revision: http://llvm-reviews.chandlerc.com/D2862
llvm-svn: 202098
|
| |
|
|
|
|
|
|
| |
Previously the X86 backend would look for the sret attribute and handle
this for us. inalloca takes that all away, so we have to do the return
ourselves now.
llvm-svn: 202097
|
| |
|
|
|
|
|
|
| |
Move the pointer to be adjacent to the variable instead of the type.
No functional change.
llvm-svn: 202089
|
| |
|
|
|
|
|
|
|
|
|
|
| |
aligned attribute on a typedef
When calculating the preferred alignment of a type, consider if a alignment
attribute came from a typedef declaration. If one did, do not naturally align
the type.
Patch by Stephan Tolksdorf, with a little tweaking and an additional testcase by me.
llvm-svn: 202088
|
| |
|
|
|
|
|
| |
This allows the unit tests to not use global state when checking
diagnostics.
llvm-svn: 202072
|
| |
|
|
|
|
|
| |
from a macro in column 0, ensure that we print whitespace before it in the -E
output. Patch by Harald van Dijk!
llvm-svn: 202070
|
| |
|
|
| |
llvm-svn: 202069
|
| |
|
|
|
|
|
| |
nothing, be sure to inform the *next* token expanded from the macro that it is
now at the start of a line. Patch by Harald van Dijk!
llvm-svn: 202068
|
| |
|
|
|
|
|
| |
on correctly handled block layout IRGen.
// rdar://16111839
llvm-svn: 202063
|
| |
|
|
| |
llvm-svn: 202059
|
| |
|
|
| |
llvm-svn: 202058
|
| |
|
|
| |
llvm-svn: 202053
|
| |
|
|
|
|
|
|
|
|
| |
We were previously checking at every destructor declaration, but that was a bit
excessive. Since the deleting destructor is emitted with the vtable, do the
check when the vtable is marked used.
Differential Revision: http://llvm-reviews.chandlerc.com/D2851
llvm-svn: 202046
|
| |
|
|
| |
llvm-svn: 202040
|
| |
|
|
| |
llvm-svn: 202006
|
| |
|
|
|
|
|
|
|
|
| |
Most 64-bit targets define int64_t as long int, and AArch64 should
make same definition to follow LP64 model. In GNU tool chain, int64_t
is defined as long int for 64-bit target. So to get consistent with GNU,
it's better Changing int64_t from 'long long int' to 'long int',
otherwise clang will get different name mangling suffix compared with g++.
llvm-svn: 202004
|
| |
|
|
| |
llvm-svn: 202003
|
| |
|
|
|
|
|
| |
We still don't use the PGO to set branch weights for these loops, but at
least this keeps the compiler from crashing. <rdar://problem/16137778>
llvm-svn: 202002
|
| |
|
|
|
|
|
|
|
| |
- Only include offsets with local (in function scope) symbols, where we don't encode scoping
- Only include the filename with non-system symbols. Presumably the system headers will not provide conflicting definitions.
rdar://15976823
llvm-svn: 201990
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 201981
|
| |
|
|
| |
llvm-svn: 201978
|
| |
|
|
|
|
|
|
|
| |
The DiagnosticBuilder's lifetime in parser typo recovery was overlapping with
the subsequent consume which can itself emit PP diagnostics.
Patch by Olivier Goffart!
llvm-svn: 201965
|
| |
|
|
|
|
|
|
| |
The integrated assembler is a feature. This makes the new flags the default
option, and the previous versions aliases. Ideally, at some point the aliases
would be entirely removed.
llvm-svn: 201963
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Forward the -no-integrated-as option to -cc1 rather than simply invoking the
appropriate tool. This is useful since this option has been overloaded to
permit disabling of parsing inline assembly at the MC layer.
This re-applies the previous version of the patch with a renaming of the driver
option to the public name rather than the internal name (-target vs -triple).
The actual failure is fixed separately of an overly aggressive negative pattern
match in the MIPS driver tests. It also fixes the incorrect test for targets
that have the integrated assembler disabled by default.
llvm-svn: 201960
|
| |
|
|
|
|
| |
This seems to break a MIPS test. Revert until I figure out the root cause.
llvm-svn: 201954
|
| |
|
|
|
|
|
|
| |
Forward the -no-integrated-as option to -cc1 rather than simply invoking the
appropriate tool. This is useful since this option has been overloaded to
permit disabling of parsing inline assembly at the MC layer.
llvm-svn: 201952
|
| |
|
|
| |
llvm-svn: 201947
|
| |
|
|
|
|
|
|
| |
that the optimizer does not duplicate code.
Patch thanks to Marcello Maggioni!
llvm-svn: 201941
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The language forbids defining enums in prototypes, so this check is normally
redundant, but if an enum is defined during template instantiation it should
not be added to the prototype scope.
While at it, clean up the code that deals with tag definitions in prototype
scope and expand the visibility warning to cover the case where an anonymous
enum is defined.
Differential Revision: http://llvm-reviews.chandlerc.com/D2742
llvm-svn: 201927
|
| |
|
|
|
|
| |
Differential Revision: http://llvm-reviews.chandlerc.com/D2711
llvm-svn: 201926
|
| |
|
|
|
|
| |
handleObjCSuppresProtocolAttr().
llvm-svn: 201922
|
| |
|
|
|
|
|
| |
No functional change. It's unclear if the word FIXME is relevant given
that the macro behaves as intended.
llvm-svn: 201920
|