annotate gcc/testsuite/gcc.dg/cpp/direct2.c @ 132:d34655255c78

update gcc-8.2
author mir3636
date Thu, 25 Oct 2018 10:21:07 +0900 (2018-10-25)
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* Copyright (C) 2001 Free Software Foundation, Inc.
kono
parents:
diff changeset
2 Contributed by Nathan Sidwell 8 May 2001 <nathan@codesourcery.com> */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 /* Test of prohibition on directives which result from macro expansion.
kono
parents:
diff changeset
5 See also direct2s.c */
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 /*
kono
parents:
diff changeset
8 { dg-options "-ftrack-macro-expansion=0" }
kono
parents:
diff changeset
9 { dg-do compile } */
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 #define HASH #
kono
parents:
diff changeset
12 #define HASHDEFINE #define
kono
parents:
diff changeset
13 #define HASHINCLUDE #include
kono
parents:
diff changeset
14
kono
parents:
diff changeset
15 HASH include "somerandomfile" /*{ dg-error "stray" "non-include" }*/
kono
parents:
diff changeset
16 /*{ dg-bogus "No such" "don't execute non-include" { target *-*-* } .-1 }*/
kono
parents:
diff changeset
17 int resync_parser_1; /*{ dg-error "parse|syntax|expected" "" { target *-*-* } .-2 }*/
kono
parents:
diff changeset
18
kono
parents:
diff changeset
19 HASHINCLUDE <somerandomfile> /*{ dg-error "stray|expected" "non-include 2" }*/
kono
parents:
diff changeset
20 /*{ dg-bogus "No such" "don't execute non-include 2" { target *-*-* } .-1 }*/
kono
parents:
diff changeset
21 int resync_parser_2;
kono
parents:
diff changeset
22
kono
parents:
diff changeset
23 void g1 ()
kono
parents:
diff changeset
24 {
kono
parents:
diff changeset
25 HASH define X 1 /* { dg-error "stray|unknown|expected" "# from macro" } */
kono
parents:
diff changeset
26 int resync_parser_3;
kono
parents:
diff changeset
27 }
kono
parents:
diff changeset
28
kono
parents:
diff changeset
29 void g2 ()
kono
parents:
diff changeset
30 {
kono
parents:
diff changeset
31 HASHDEFINE Y 1 /* { dg-error "stray|unknown|expected" "#define from macro" } */
kono
parents:
diff changeset
32 int resync_parser_4;
kono
parents:
diff changeset
33 }
kono
parents:
diff changeset
34
kono
parents:
diff changeset
35 #pragma GCC dependency "direct2.c"
kono
parents:
diff changeset
36 #
kono
parents:
diff changeset
37
kono
parents:
diff changeset
38 void f ()
kono
parents:
diff changeset
39 {
kono
parents:
diff changeset
40 int i = X; /* { dg-error "undeclared|for each" "no macro X" } */
kono
parents:
diff changeset
41 int j = Y; /* { dg-error "undeclared|for each" "no macro Y" } */
kono
parents:
diff changeset
42 }
kono
parents:
diff changeset
43
kono
parents:
diff changeset
44 #define slashstar /##*
kono
parents:
diff changeset
45 #define starslash *##/
kono
parents:
diff changeset
46
kono
parents:
diff changeset
47 slashstar starslash /* { dg-error "parse error|syntax error|expected" "not a comment" } */
kono
parents:
diff changeset
48 /* { dg-error "does not give" "paste warning(s)" { target *-*-* } .-1 } */