| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
constructing cast expressions. Right now it only stores the cast kind, but in the future it might store conversion functions and constructors.
llvm-svn: 78599
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Passing something that isn't a string used to cause:
"argument to annotate attribute was not a string literal"
make it say "section attribute" instead.
2. Fix the location of the above message to point to the
bad argument instead of the section token.
3. Implement rdar://4341926, by diagnosing invalid section
specifiers in the frontend rather than letting them slip all
the way to the assembler (a QoI win).
An example of #3 is that we used to produce something like this:
/var/folders/n7/n7Yno9ihEm894640nJdSQU+++TI/-Tmp-//ccFPFGtT.s:2:Expected comma after segment-name
/var/folders/n7/n7Yno9ihEm894640nJdSQU+++TI/-Tmp-//ccFPFGtT.s:2:Rest of line ignored. 1st junk character valued 46 (.).
Daniel improved clang to use llvm_report_error, so now we got:
$ clang t.c -c
fatal error: error in backend: Global variable 'x' has an invalid section specifier 'sadf': mach-o section specifier
requires a segment and section separated by a comma.
with no loc info. Now we get:
$ clang t.c -fsyntax-only
t.c:4:30: error: argument to 'section' attribute is not valid for this target: mach-o section specifier requires a segment
and section separated by a comma
int x __attribute__((section("sadf")));
^
which is nice :)
llvm-svn: 78586
|
| |
|
|
|
|
| |
mac, use an explicit triple.
llvm-svn: 78583
|
| |
|
|
| |
llvm-svn: 78582
|
| |
|
|
|
|
| |
a synthesized copy constructor.
llvm-svn: 78580
|
| |
|
|
| |
llvm-svn: 78578
|
| |
|
|
| |
llvm-svn: 78570
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For example,
--
ddunbar@giles:Frontend$ clang -c backend-errors.c
fatal error: error in backend: Global variable 'a' has an invalid section specifier
'I AM, not, legal': mach-o section specifier uses an unknown section type.
--
compare to:
--
ddunbar@giles:Frontend$ gcc -c backend-errors.c
/var/folders/DQ/DQ8GT3++HESEzT1obWBynE+++TI/-Tmp-//cc45w2pq.s:2:Expected comma after segment-name
/var/folders/DQ/DQ8GT3++HESEzT1obWBynE+++TI/-Tmp-//cc45w2pq.s:2:Rest of line ignored. 1st junk character valued 77 (M).
--
Yay!
I am not tied to my wording choice, we could also go with "uncoverable error"
for the prefix, or just leave it off entirely.
llvm-svn: 78554
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--- Reverse-merging r78535 into '.':
D test/Sema/altivec-init.c
U include/clang/Basic/DiagnosticSemaKinds.td
U include/clang/AST/Expr.h
U include/clang/AST/StmtNodes.def
U include/clang/Parse/Parser.h
U include/clang/Parse/Action.h
U tools/clang-cc/clang-cc.cpp
U lib/Frontend/PrintParserCallbacks.cpp
U lib/CodeGen/CGExprScalar.cpp
U lib/Sema/SemaInit.cpp
U lib/Sema/Sema.h
U lib/Sema/SemaExpr.cpp
U lib/Sema/SemaTemplateInstantiateExpr.cpp
U lib/AST/StmtProfile.cpp
U lib/AST/Expr.cpp
U lib/AST/StmtPrinter.cpp
U lib/Parse/ParseExpr.cpp
U lib/Parse/ParseExprCXX.cpp
llvm-svn: 78551
|
| |
|
|
|
|
| |
non-pointer type
llvm-svn: 78542
|
| |
|
|
|
|
| |
function's return
llvm-svn: 78541
|
| |
|
|
| |
llvm-svn: 78536
|
| |
|
|
|
|
|
|
| |
In addition to being defined by the AltiVec PIM, this is also the vector
initializer syntax used by OpenCL, so that vector literals are compatible
with macro arguments.
llvm-svn: 78535
|
| |
|
|
| |
llvm-svn: 78519
|
| |
|
|
|
|
| |
of base/field which have trivial copy constructor.
llvm-svn: 78516
|
| |
|
|
| |
llvm-svn: 78515
|
| |
|
|
|
|
| |
variables.
llvm-svn: 78507
|
| |
|
|
| |
llvm-svn: 78502
|
| |
|
|
| |
llvm-svn: 78491
|
| |
|
|
|
|
| |
rdar://problem/7095436.
llvm-svn: 78490
|
| |
|
|
| |
llvm-svn: 78489
|
| |
|
|
| |
llvm-svn: 78488
|
| |
|
|
|
|
|
|
| |
PackedAttr now only represents __attribute__((packed)).
This is necessary because #pragma pack and __attribute__((packed)) have different semantics. No functionality change yet, but this lays the groundwork for fixing a record layout bug.
llvm-svn: 78483
|
| |
|
|
| |
llvm-svn: 78481
|
| |
|
|
|
|
| |
EnterDeclaratorContext has been called. Fixes PR4694. (Doug, please review)
llvm-svn: 78480
|
| |
|
|
|
|
| |
function.
llvm-svn: 78478
|
| |
|
|
|
|
| |
implicit CXXThisExpr.
llvm-svn: 78474
|
| |
|
|
|
|
| |
the new havior is better so...
llvm-svn: 78473
|
| |
|
|
| |
llvm-svn: 78471
|
| |
|
|
| |
llvm-svn: 78452
|
| |
|
|
|
|
|
| |
to allow sharing of nodes. Simplifies some aspects of template
instantiation, and fixes both PR3444 and <rdar://problem/6757457>.
llvm-svn: 78450
|
| |
|
|
| |
llvm-svn: 78448
|
| |
|
|
|
|
| |
non-trivial copy constructors.
llvm-svn: 78445
|
| |
|
|
|
|
|
| |
copying non-virtual base classes which have non-trivial
constructor. Work in progress.
llvm-svn: 78436
|
| |
|
|
| |
llvm-svn: 78434
|
| |
|
|
| |
llvm-svn: 78429
|
| |
|
|
| |
llvm-svn: 78415
|
| |
|
|
|
|
|
| |
separately. Add the framework (currently unfed) for finding friend declarations
during argument-dependent lookup.
llvm-svn: 78414
|
| |
|
|
|
|
| |
fortuitous. WIP.
llvm-svn: 78413
|
| |
|
|
| |
llvm-svn: 78412
|
| |
|
|
|
|
| |
used in blocks
llvm-svn: 78409
|
| |
|
|
| |
llvm-svn: 78407
|
| |
|
|
| |
llvm-svn: 78402
|
| |
|
|
| |
llvm-svn: 78401
|
| |
|
|
| |
llvm-svn: 78396
|
| |
|
|
| |
llvm-svn: 78395
|
| |
|
|
| |
llvm-svn: 78393
|
| |
|
|
| |
llvm-svn: 78385
|
| |
|
|
|
|
|
| |
or expression (Destroy) from the virtual function used to actually
destroy a given expression (DoDestroy).
llvm-svn: 78375
|
| |
|
|
|
|
| |
and Carl-Daniel Hailfinger!
llvm-svn: 78368
|