| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 64651
|
| |
|
|
| |
llvm-svn: 64650
|
| |
|
|
| |
llvm-svn: 64649
|
| |
|
|
|
|
| |
miscompiling.
llvm-svn: 64647
|
| |
|
|
| |
llvm-svn: 64646
|
| |
|
|
|
|
|
| |
property is deprecated, not the getter/setter if the attribute is on
the property.
llvm-svn: 64644
|
| |
|
|
| |
llvm-svn: 64643
|
| |
|
|
| |
llvm-svn: 64642
|
| |
|
|
|
|
|
| |
merge the prototype into the redeclaration (and make a note in the
declaration). Fixes PR3588.
llvm-svn: 64641
|
| |
|
|
|
|
|
| |
exists, otherwise gcc just treats as an input.
- PR3591
llvm-svn: 64640
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- If a declaration is an invalid redeclaration of an existing name,
complain about the invalid redeclaration then avoid adding it to
the AST (we can still parse the definition or initializer, if any).
- If the declaration is invalid but there is no prior declaration
with that name, introduce the invalid declaration into the AST
(for later error recovery).
- If the declaration is an invalid redeclaration of a builtin that
starts with __builtin_, we produce an error and drop the
redeclaration. If it is an invalid redeclaration of a library
builtin (e.g., malloc, printf), warn (don't error!) and drop the
redeclaration.
If a user attempts to define a builtin, produce an error and (if it's
a library builtin like malloc) suggest -ffreestanding.
This addresses <rdar://problem/6097585> and PR2892. However, PR3588 is
still going to cause some problems when builtins are redeclared
without a prototype.
llvm-svn: 64639
|
| |
|
|
| |
llvm-svn: 64638
|
| |
|
|
| |
llvm-svn: 64637
|
| |
|
|
|
|
| |
hosts with a different size_t type.
llvm-svn: 64636
|
| |
|
|
| |
llvm-svn: 64635
|
| |
|
|
| |
llvm-svn: 64634
|
| |
|
|
|
|
|
|
| |
the class of decls that directly derive from DeclContext.
Their subclasses don't need them.
llvm-svn: 64632
|
| |
|
|
|
|
|
|
| |
they are used indirectly by cast/dyn_cast.
All Decl <-> DeclContext casting should be done through cast/dyn_cast.
llvm-svn: 64631
|
| |
|
|
|
|
|
|
| |
if a new declaration context Decl appeared, the necessary changes
would be in one place. Since, now, only DeclNodes.def needs to be modified, move things out-of-line and simplify the DeclContext class.
llvm-svn: 64630
|
| |
|
|
|
|
|
|
|
| |
-In DeclNodes.def, only mark as DeclContexts the top classes that directly derive from DeclContext. If the Decl has subclasses,
it should be marked with DECL_CONTEXT_BASE.
-Use DeclNodes.def to automate the DeclContext::classof and DeclContext::CastTo definitions.
llvm-svn: 64629
|
| |
|
|
| |
llvm-svn: 64628
|
| |
|
|
| |
llvm-svn: 64627
|
| |
|
|
| |
llvm-svn: 64626
|
| |
|
|
|
|
|
| |
been written for is no longer relevant with the elimination of
signed and unsigned types.
llvm-svn: 64625
|
| |
|
|
|
|
| |
the name used in the code that these tests are for.
llvm-svn: 64624
|
| |
|
|
|
|
|
|
| |
Enhance instcombine to use the preferred field of
GetOrEnforceKnownAlignment in more cases, so that regular IR operations are
optimized in the same way that the intrinsics currently are.
llvm-svn: 64623
|
| |
|
|
|
|
|
|
| |
one bit set, because the bit may be shifted off the end. Instead,
just check for a constant 1 being shifted. This is still sufficient
to handle all the cases in test/CodeGen/X86/bt.ll. This fixes PR3583.
llvm-svn: 64622
|
| |
|
|
| |
llvm-svn: 64620
|
| |
|
|
|
|
| |
by request on IRC.
llvm-svn: 64619
|
| |
|
|
| |
llvm-svn: 64617
|
| |
|
|
|
|
|
|
|
|
| |
Before this change, the program:
int var;
int main(void) { return 0; }
when run under 'nm -g' would show 'U var' with the gold plugin and
'B var' with gcc.
llvm-svn: 64616
|
| |
|
|
|
|
|
|
|
|
|
| |
when I was looking at functions used by python.
Highlights include, better largefile support (64-bit file sizes on 32-bit
systems), fputs string is nocapture, popen/pclose added (popen being noalias
return), modf and frexp and friends. Also added some missing 'break' statements
and combined identical sections.
llvm-svn: 64615
|
| |
|
|
| |
llvm-svn: 64614
|
| |
|
|
| |
llvm-svn: 64613
|
| |
|
|
|
|
|
|
|
| |
DiagnoseUseOfDeprecatedDecl method. This ensures that they
are treated consistently. This gets us 'unavailable' support
on a few new types of decls, and makes sure we consistently
silence deprecated when the caller is also deprecated.
llvm-svn: 64612
|
| |
|
|
|
|
| |
recovery.
llvm-svn: 64609
|
| |
|
|
| |
llvm-svn: 64608
|
| |
|
|
|
|
|
| |
instantiation, which highlights the arguments of a function like macro
as well as its identifier.
llvm-svn: 64607
|
| |
|
|
| |
llvm-svn: 64606
|
| |
|
|
| |
llvm-svn: 64605
|
| |
|
|
|
|
|
|
| |
*end* of a macro instantiation, not the start of it. This is
really all about bug-for-bug compatibility with GCC, but not
doing this breaks the FreeBSD kernel.
llvm-svn: 64604
|
| |
|
|
|
|
|
|
| |
*end* of a macro instantiation, not the start of it. This is
really all about bug-for-bug compatibility with GCC, but not
doing this breaks the FreeBSD kernel.
llvm-svn: 64603
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Now instead of just tracking the expansion history, also track the full
range of the macro that got replaced. For object-like macros, this doesn't
change anything. For _Pragma and function-like macros, this means we track
the locations of the ')'.
This is required for PR3579 because apparently GCC uses the line of the ')'
of a function-like macro as the location to expand __LINE__ to.
llvm-svn: 64601
|
| |
|
|
|
|
| |
be encoded.
llvm-svn: 64600
|
| |
|
|
| |
llvm-svn: 64599
|
| |
|
|
| |
llvm-svn: 64596
|
| |
|
|
| |
llvm-svn: 64595
|
| |
|
|
|
|
|
| |
one-definition-rule llvm-gcc changes (coming soon
to a tree near you!).
llvm-svn: 64588
|
| |
|
|
| |
llvm-svn: 64586
|
| |
|
|
|
|
|
|
| |
alias can be morphed into the target. Implement this
transform, and fix a crash in the existing transform at
the same time.
llvm-svn: 64583
|