%% %% %CopyrightBegin% %% %% Copyright Ericsson AB 1997-2009. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. %% You may obtain a copy of the License at %% %% http://www.apache.org/licenses/LICENSE-2.0 %% %% Unless required by applicable law or agreed to in writing, software %% distributed under the License is distributed on an "AS IS" BASIS, %% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. %% See the License for the specific language governing permissions and %% limitations under the License. %% %% %CopyrightEnd% %% -module(beam_compiler_6). -export([beam_compiler_6/0]). %% From Ulf Wiger, modified by Bjorn Gustavsson to provoke the %% same error with partly corrected compiler in P3A. beam_compiler_6() -> ok. selected_alarm(_Env, Parameters) -> UnWebParam = x, [Time, Severity, Info, Cause, Type, Sender, Name, FaultId] = bar:foo(), %% Each branch of the case needs two words of heap, %% but the test heap generated before the call to bar:foo(), %% will be merged to the testHeap of each branch, summed and %% moved before the branch. And the number of words to allocate %% will be ridiculously big (> 65535) and will not fit in a %% 16 bit word. SenderLink = case Name of "pchScheduledConnectionAlarm" -> [Sender]; "pchVpVcAlarm" -> [Sender]; "pchSystemMemoryAlarm" -> [Sender]; "uniProtocolRestartFailureAlarm" -> [Sender]; "spvcScheduledConnectionAlarm" -> [Sender]; "eqmSwitchCoreInterfaceAlarm" -> [Sender]; "atmPhysicalLayerAlarm" -> [Sender]; "atmBufferCongestionAlarm" -> [Sender]; "sdhLinkAlarm" -> [Sender]; "sdhFarEndAlarm" -> [Sender]; "sdhUpperQosAlarm" -> [Sender]; "sdhLowerQosAlarm" -> [Sender]; "eqmSwitchCoreAlarm" -> [Sender]; "eqmEtAlarm" -> [Sender]; "eqmHwIdentityFaultAlarm" -> [Sender]; "eqmOperatorBlockedEquipmentAlarm" -> [Sender]; "pdh34PathAlarm" -> [Sender]; "pdh34ObservationAlarm" -> [Sender]; "pdh34UpperQosAlarm" -> [Sender]; "pdh34LowerQosAlarm" -> [Sender]; "nsySynchRefAlarm" -> [Sender]; "nsySynchRefBlockedAlarm" -> [Sender]; "nsySynchNodeHoldoverAlarm" -> [Sender]; "nsySynchNodeNotWorkingAlarm" -> [Sender]; "eqmAtbAlarm" -> [Sender]; "eqmCbEtAlarm" -> [Sender]; "eqmCpAlarm" -> [Sender]; "eqmCpInterfaceAlarm" -> [Sender]; "eqmCbClkAlarm" -> [Sender]; "eqmCbClkInterfaceAlarm" -> [Sender]; "eqmCbClkVelocityAlarm" -> [Sender]; "eqmCbClkPhaseDiffAlarm" -> [Sender]; "eqmHwNotFoundAlarm" -> [Sender]; "eqmPduAlarm" -> [Sender]; "eqmFanAlarm" -> [Sender]; "eqmLocAlarm" -> [Sender]; "eqmCustomerDefined1Alarm" -> [Sender]; "eqmCustomerDefined2Alarm" -> [Sender]; "eqmCustomerDefined3Alarm" -> [Sender]; "eqmCustomerDefined4Alarm" -> [Sender]; "eqmOperatorBlockedLinkAlarm" -> [Sender]; "eqmPowerFilterAlarm" -> [Sender]; "eqmCbAbrAlarm" -> [Sender]; "eqmAlarmCutOffAlarm" -> [Sender]; OtherAlarm -> [Sender] end, %% The testHeap instruction generated here will move up to before %% the case. bar:foo("
Fault id: | " ++ FaultId ++ " |
Name: | " ++ Name ++ " |
Sender: | " ++ SenderLink ++ " |
Class: | " ++ Type ++ " |
Cause: | " ++ Cause ++ " |
Severity: | " ++ Severity ++ " |
Information: | " ++ Info ++ " |
Time: | " ++ Time). |