| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
// rdar://13094352
llvm-svn: 176529
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's beneficial when compiling to treat // as the start of a line
comment even in -std=c89 mode, since it's not valid C code (with a few
rare exceptions) and is usually intended as such. We emit a pedantic
warning and then continue on as if line comments were enabled.
This has been our behavior for quite some time.
However, people use the preprocessor for things besides C source files.
In today's prompting example, the input contains (unquoted) URLs, which
contain // but should still be preserved.
This change instructs the lexer to treat // as a plain token if Clang is
in C90 mode and generating preprocessed output rather than actually compiling.
<rdar://problem/13338743>
llvm-svn: 176526
|
| |
|
|
|
|
| |
// rdar://13094352.
llvm-svn: 176525
|
| |
|
|
|
|
| |
comparison.
llvm-svn: 176515
|
| |
|
|
|
|
|
|
|
|
| |
field to be memcpy'd, rather instead of ASTContext::getTypeAlign(<Field Type>).
For packed structs the alignment of a field may be less than the alignment of
the field's type.
<rdar://problem/13338585>
llvm-svn: 176512
|
| |
|
|
|
|
| |
print out the filename.
llvm-svn: 176511
|
| |
|
|
| |
llvm-svn: 176510
|
| |
|
|
|
|
|
| |
checkings and few other refactoring/cleanup.
// rdar://13094352.
llvm-svn: 176509
|
| |
|
|
|
|
|
|
|
|
|
|
| |
'R' An address that can be sued in a non-macro load or store.
Including missing positive test case and fixed typo for r176453.
Thanks to Richard Smith for catching this!
Jack
llvm-svn: 176506
|
| |
|
|
|
|
|
| |
Fixed code to match text. Slight adjustment for readability.
Author: Béatrice Creusillet
llvm-svn: 176493
|
| |
|
|
| |
llvm-svn: 176480
|
| |
|
|
|
|
| |
non-Apple platforms.
llvm-svn: 176477
|
| |
|
|
|
|
|
|
| |
[[noreturn]] function are not required to also be [[noreturn]]. We still emit
calls to virtual __attribute__((noreturn)) functions as noreturn; unlike GCC,
we do require overriders to also be noreturn for that attribute.
llvm-svn: 176476
|
| |
|
|
| |
llvm-svn: 176474
|
| |
|
|
|
|
| |
Patch by Martin Storsjo!
llvm-svn: 176472
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 176469
|
| |
|
|
|
|
|
| |
an @function comment is not followed by a function decl.
// rdar://13094352
llvm-svn: 176468
|
| |
|
|
|
|
|
|
|
|
| |
We weren't treating a cf_audited_transfer CFRetain as returning +1 because
its name doesn't contain "Create" or "Copy". Oops! Fortunately, the
standard definitions of these functions are not marked audited.
<rdar://problem/13339601>
llvm-svn: 176463
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Use the term 'command marker', because the semantics of 'backslash' and 'at'
commands are the same. (Talking about 'at commands' makes them look like a
special entity.)
* Sink the flag down into bitfields, reducing the size of AST nodes.
* Change the flag into an enum for clarity. Boolean function parameters are
not very clear.
* Add unittests for new tok::at_command tokens.
llvm-svn: 176461
|
| |
|
|
|
|
| |
<rdar://problem/11314476>
llvm-svn: 176458
|
| |
|
|
|
|
| |
Also fix a missing entry for cortex-r5 in one copy of getLLVMArchSuffixForARM.
llvm-svn: 176457
|
| |
|
|
|
|
|
|
|
| |
svn 170909 added support for cortex-r5 but in this case it was done
incorrectly. The last argument to StringSwitch.Cases() is the replacement
value, so by adding "cortex-r5" it changed the default cpu for armv7r to
cortex-r5 instead of cortex-r4.
llvm-svn: 176456
|
| |
|
|
|
|
|
| |
'R' An address that can be sued in a non-macro load or store.
This patch includes a positive test case.
llvm-svn: 176453
|
| |
|
|
|
|
|
|
|
| |
compare two filenames, instead of llvm::sys::fs::equivalent().
llvm::sys::fs::equivalent() does 2 stat calls every time it's called. Use FileManager::getFile() to take advantage
of the stat caching that FileManager is providing.
llvm-svn: 176450
|
| |
|
|
| |
llvm-svn: 176449
|
| |
|
|
|
|
| |
// rdar://13066276
llvm-svn: 176448
|
| |
|
|
| |
llvm-svn: 176447
|
| |
|
|
|
|
| |
Tests are ordered by command in this file. It is nice to keep it that way.
llvm-svn: 176445
|
| |
|
|
|
|
| |
to original command in diagnostic. // rdar://13066276
llvm-svn: 176444
|
| |
|
|
|
|
|
|
| |
Instead of passing NULL on to sub-matcher, just return false. Updated tests and
regenerated docs.
Author: Tareq A Siraj <tareq.a.siraj@intel.com>
llvm-svn: 176441
|
| |
|
|
|
|
|
|
|
| |
v2:
- Add R600_DOUBLE_OPS for RV670
- s/CPU/GPU/
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
llvm-svn: 176440
|
| |
|
|
|
|
|
|
|
|
|
| |
With [] marking the selected range, clang-format invoked on
[ ] int a;
Would so far not reformat anything. With this patch, it formats a
line if its leading whitespace is touched.
llvm-svn: 176435
|
| |
|
|
|
|
| |
Patch by Béatrice Creusillet.
llvm-svn: 176434
|
| |
|
|
| |
llvm-svn: 176433
|
| |
|
|
|
|
|
|
|
| |
and be sure to apply them whether or not the debugger gave
us a method declaration.
rdar://12565338
llvm-svn: 176432
|
| |
|
|
|
|
|
|
| |
from a lambda capture when the capture is not trivially-copyable.
rdar://13295759
llvm-svn: 176431
|
| |
|
|
|
|
|
|
|
|
|
| |
with both -static-libgcc and -static on the commandline.
Fix a warning in the latter case due to a backwards short circuiting ||
operator in the driver. No real functionality changed here, just allows
the driver to properly consume -static-libgcc when -static is also
specified.
llvm-svn: 176429
|
| |
|
|
|
|
|
|
| |
to a subscript operator.
rdar://13332183
llvm-svn: 176428
|
| |
|
|
|
|
| |
linking. About to fix a bug here and there was no good test case.
llvm-svn: 176427
|
| |
|
|
|
|
| |
Idea by Marshall Clow.
llvm-svn: 176423
|
| |
|
|
| |
llvm-svn: 176422
|
| |
|
|
| |
llvm-svn: 176421
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Generate atomicrmw operations in most of the cases when it's sensible to do
so.
- Don't crash in several common cases (and hopefully don't crash in more of
them).
- Add some better tests.
We now generate significantly better code for things like:
_Atomic(int) x;
...
x++;
On MIPS, this now generates a 4-instruction ll/sc loop, where previously it
generated about 30 instructions in two nested loops. On x86-64, we generate a
single lock incl, instead of a lock cmpxchgl loop (one instruction instead of
ten).
llvm-svn: 176420
|
| |
|
|
| |
llvm-svn: 176419
|
| |
|
|
| |
llvm-svn: 176418
|
| |
|
|
|
|
| |
we are looking at.
llvm-svn: 176414
|
| |
|
|
|
|
| |
Differential Revision: http://llvm-reviews.chandlerc.com/D482
llvm-svn: 176404
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Inlining brought a few "null pointer use" false positives, which occur because
the callee defensively checks if a pointer is NULL, whereas the caller knows
that the pointer cannot be NULL in the context of the given call.
This is a first attempt to silence these warnings by tracking the symbolic value
along the execution path in the BugReporter. The new visitor finds the node
in which the symbol was first constrained to NULL. If the node belongs to
a function on the active stack, the warning is reported, otherwise, it is
suppressed.
There are several areas for follow up work, for example:
- How do we differentiate the cases where the first check is followed by
another one, which does happen on the active stack?
Also, this only silences a fraction of null pointer use warnings. For example, it
does not do anything for the cases where NULL was assigned inside a callee.
llvm-svn: 176402
|
| |
|
|
|
|
| |
command source fidelity. // rdar://13066276
llvm-svn: 176401
|
| |
|
|
| |
llvm-svn: 176398
|