whizard is hosted by Hepforge, IPPP Durham

Opened 13 years ago

Closed 13 years ago

#459 closed defect (fixed)

possible clash between process names and O'Mega variables

Reported by: sschmidt Owned by: ALL
Priority: P5 Milestone: v2.0.7
Component: interfaces Version: 2.0.6
Severity: minor Keywords:
Cc:

Description

When using process names that are also used as variables in the O'Mega code, e.g.

  process p1 = e1, E1 => e2, E2

O'Mega will name the module using the process name. The generated code will look like the

module p1
  ...
  type(momentum) :: p1, p2, p3, p4
  ...
end module p1

and thus lead to a compiler error.

The simplest solution should be to rename the module to <process name>_module, then no clashes should be possible (assuming there are no variables called something_module).

Change History (3)

comment:1 Changed 13 years ago by Juergen Reuter

Component: omegainterfaces
Owner: changed from ohl to ALL
Type: defectenhancement

comment:2 Changed 13 years ago by sschmidt

Type: enhancementdefect

To quote the WHIZARD manual:

Throughout the program, the process will be identified by its process-id, so
 this is the name of the process object. This identifier is arbitrary, chosen
 by the user. It follows the rules for variable names, so it consists of
 alphanumeric characters and underscores, where the first character is not
 numeric. As a special rule, it must not contain upper-case characters. The
 reason is that this name is used for identifying the process not just within
 the script, but also within the Fortran code that the matrix-element generator
 produces for this process.

As WHIZARD doesn't obey what's written in the manual, it's definitely a defect.

comment:3 Changed 13 years ago by Juergen Reuter

Resolution: fixed
Status: newclosed

Done in r3677.

Note: See TracTickets for help on using tickets.