summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/cpp
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2006-06-09 21:13:25 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2006-06-09 21:13:25 +0000
commitadd258d7ce0f3efd6b7c2c635cc9d20c77fc938b (patch)
tree1069b42cba4da5d5d5b7ba05363311e967728b4e /gcc/testsuite/gcc.dg/cpp
parent28143dbb145d8097411e0ebd7543f5d9752492e2 (diff)
downloadgcc-add258d7ce0f3efd6b7c2c635cc9d20c77fc938b.tar.gz
PR preprocessor/27746
* directives.c (do_pragma): Handle pragma with valid namespace and invalid name coming from macro expansion. * directives.c (destringize_and_run): Initialize next field in context. PR c/27747 PR c++/27748 * directives.c (destringize_and_run): Set NO_EXPAND on the tokens. * macro.c (_cpp_backup_tokens): Fix comment typo. testsuite/ PR c/27747 * gcc.dg/cpp/_Pragma6.c: New test. PR c++/27748 * g++.dg/cpp/_Pragma1.C: New test. PR preprocessor/27746 * gcc.dg/gomp/macro-3.c: New test. * gcc.dg/gomp/macro-4.c: New test. * g++.dg/gomp/macro-3.C: New test. * g++.dg/gomp/macro-4.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114519 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.dg/cpp')
-rw-r--r--gcc/testsuite/gcc.dg/cpp/_Pragma6.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/cpp/_Pragma6.c b/gcc/testsuite/gcc.dg/cpp/_Pragma6.c
new file mode 100644
index 00000000000..369b334ae44
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/_Pragma6.c
@@ -0,0 +1,10 @@
+/* PR c/27747 */
+/* This is supposed to succeed only if
+ the target doesn't define HANDLE_PRAGMA_PACK_WITH_EXPANSION. */
+/* { dg-do compile { target { ! *-*-solaris2* } } } */
+
+#define push bar
+#define foo _Pragma ("pack(push)")
+foo
+int i;
+#pragma pack(pop)