aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/structure_constructor_5.f03
diff options
context:
space:
mode:
authorBen Cheng <bccheng@google.com>2014-03-25 22:37:19 -0700
committerBen Cheng <bccheng@google.com>2014-03-25 22:37:19 -0700
commit1bc5aee63eb72b341f506ad058502cd0361f0d10 (patch)
treec607e8252f3405424ff15bc2d00aa38dadbb2518 /gcc-4.9/gcc/testsuite/gfortran.dg/structure_constructor_5.f03
parent283a0bf58fcf333c58a2a92c3ebbc41fb9eb1fdb (diff)
downloadtoolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.tar.gz
toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.tar.bz2
toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.zip
Initial checkin of GCC 4.9.0 from trunk (r208799).
Change-Id: I48a3c08bb98542aa215912a75f03c0890e497dba
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gfortran.dg/structure_constructor_5.f03')
-rw-r--r--gcc-4.9/gcc/testsuite/gfortran.dg/structure_constructor_5.f0338
1 files changed, 38 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gfortran.dg/structure_constructor_5.f03 b/gcc-4.9/gcc/testsuite/gfortran.dg/structure_constructor_5.f03
new file mode 100644
index 000000000..064db66a2
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gfortran.dg/structure_constructor_5.f03
@@ -0,0 +1,38 @@
+! { dg-do run }
+! Structure constructor with default initialization.
+
+PROGRAM test
+ IMPLICIT NONE
+
+ ! Type with all default values
+ TYPE :: quasiempty_t
+ CHARACTER(len=5) :: greeting = "hello"
+ END TYPE quasiempty_t
+
+ ! Structure of basic data types
+ TYPE :: basics_t
+ INTEGER :: i = 42
+ REAL :: r
+ COMPLEX :: c = (0., 1.)
+ END TYPE basics_t
+
+ TYPE(quasiempty_t) :: empty
+ TYPE(basics_t) :: basics
+
+ empty = quasiempty_t ()
+ IF (empty%greeting /= "hello") THEN
+ CALL abort()
+ END IF
+
+ basics = basics_t (r = 1.5)
+ IF (basics%i /= 42 .OR. basics%r /= 1.5 .OR. basics%c /= (0., 1.)) THEN
+ CALL abort()
+ END IF
+
+ basics%c = (0., 0.) ! So we see it's surely gotten re-initialized
+ basics = basics_t (1, 5.1)
+ IF (basics%i /= 1 .OR. basics%r /= 5.1 .OR. basics%c /= (0., 1.)) THEN
+ CALL abort()
+ END IF
+
+END PROGRAM test